5 #ifndef __pinocchio_python_multibody_joint_joint_hpp__
6 #define __pinocchio_python_multibody_joint_joint_hpp__
8 #include <boost/python.hpp>
19 struct JointModelPythonVisitor :
public boost::python::def_visitor<JointModelPythonVisitor>
22 template<
class PyClass>
25 cl.def(bp::init<>(bp::arg(
"self")))
27 .add_property(
"id", &
getId)
30 .add_property(
"nq", &
getNq)
31 .add_property(
"nv", &
getNv)
34 "Return vector of boolean if joint has configuration limits.")
37 "Return vector of boolean if joint has configuration limits in tangent space.")
40 "hasSameIndexes", &JointModel::hasSameIndexes<JointModel>, bp::args(
"self",
"other"),
41 "Check if this has same indexes than other.")
44 "Returns string indicating the joint type (class name):"
45 "\n\t- JointModelR[*]: Revolute Joint, with rotation axis [*] ∈ [X,Y,Z]"
46 "\n\t- JointModelRevoluteUnaligned: Revolute Joint, with rotation axis not aligned "
48 "\n\t- JointModelRUB[*]: Unbounded revolute Joint (without position limits), with "
49 "rotation axis [*] ∈ [X,Y,Z]"
50 "\n\t- JointModelRevoluteUnboundedUnaligned: Unbounded revolute Joint, with "
51 "rotation axis not aligned with X, Y, nor Z"
52 "\n\t- JointModelP[*]: Prismatic Joint, with rotation axis [*] ∈ [X,Y,Z]"
53 "\n\t- JointModelPlanar: Planar joint"
54 "\n\t- JointModelPrismaticUnaligned: Prismatic joint, with translation axis not "
55 "aligned with X, Y, nor Z"
56 "\n\t- JointModelSphericalZYX: Spherical joint (3D rotation)"
57 "\n\t- JointModelTranslation: Translation joint (3D translation)"
58 "\n\t- JointModelFreeFlyer: Joint enabling 3D rotation and translations.")
60 .def(bp::self == bp::self)
61 .def(bp::self != bp::self);
87 bp::class_<JointModel>(
"JointModel",
"Generic Joint Model", bp::no_init)
88 .def(bp::init<JointModel>(bp::args(
"self",
"other")))
97 #endif // ifndef __pinocchio_python_multibody_joint_joint_hpp__