Skip to content

Commit f401813

Browse files
author
ipuch
committed
feat(joint-ellipsoid): bindings, model graphs
fix: ellipsoid radius variables, and linting
1 parent a1494d1 commit f401813

File tree

14 files changed

+493
-381
lines changed

14 files changed

+493
-381
lines changed

bindings/python/parsers/graph/expose-edges.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@ namespace pinocchio
111111
.def_readonly("nq", &JointSphericalZYX::nq, "Number of configuration variables.")
112112
.def_readonly("nv", &JointSphericalZYX::nv, "Number of tangent variables.");
113113

114+
bp::class_<JointEllipsoid>(
115+
"JointEllipsoid", "Represents an ellipsoidal joint.",
116+
bp::init<>(bp::args("self"), "Default constructor."))
117+
.def_readonly("nq", &JointEllipsoid::nq, "Number of configuration variables.")
118+
.def_readonly("nv", &JointEllipsoid::nv, "Number of tangent variables.");
119+
114120
bp::class_<JointTranslation>(
115121
"JointTranslation", "Represents a translation joint.",
116122
bp::init<>(bp::args("self"), "Default constructor."))

include/pinocchio/bindings/python/context/generic.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ namespace pinocchio
9999
typedef JointModelSphericalZYXTpl<Scalar> JointModelSphericalZYX;
100100
typedef JointDataSphericalZYXTpl<Scalar> JointDataSphericalZYX;
101101

102+
typedef JointModelEllipsoidTpl<Scalar, Options> JointModelEllipsoid;
103+
typedef JointDataEllipsoidTpl<Scalar, Options> JointDataEllipsoid;
104+
102105
typedef JointDataPrismaticTpl<Scalar, Options, 0> JointDataPX;
103106
typedef JointModelPrismaticTpl<Scalar, Options, 0> JointModelPX;
104107

include/pinocchio/bindings/python/multibody/joint/joints-models.hpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,28 @@ namespace pinocchio
247247
.def_readwrite("pitch", &context::JointModelHZ::m_pitch, "Pitch h of the JointModelHZ.");
248248
}
249249

250+
// specialization for JointModelHelical
251+
template<>
252+
bp::class_<context::JointModelEllipsoid> &
253+
expose_joint_model<context::JointModelEllipsoid>(bp::class_<context::JointModelEllipsoid> & cl)
254+
{
255+
return cl
256+
.def(bp::init<context::Scalar, context::Scalar, context::Scalar>(
257+
bp::args("self", "radius_a", "radius_b", "radius_c"),
258+
"Init JointModelEllipsoid with radii a, b and c"))
259+
.def(
260+
bp::init<>(bp::args("self"), "Init JointModelEllipsoid with default radii equal to 0.01"))
261+
.def_readwrite(
262+
"radius_a", &context::JointModelEllipsoid::radius_a,
263+
"Radius a of the JointModelEllipsoid along X axis.")
264+
.def_readwrite(
265+
"radius_b", &context::JointModelEllipsoid::radius_b,
266+
"Radius b of the JointModelEllipsoid along Y axis.")
267+
.def_readwrite(
268+
"radius_c", &context::JointModelEllipsoid::radius_c,
269+
"Radius c of the JointModelEllipsoid along Z axis.");
270+
}
271+
250272
// specialization for JointModelUniversal
251273
template<>
252274
bp::class_<context::JointModelUniversal> &

0 commit comments

Comments
 (0)