diff --git a/bindings/python/joint.hpp b/bindings/python/joint.hpp index 9014d720fdbbb2e9609aa0db29bc280911f6ccf6..094bb7f02102f11fa6268a549bd5a0c2e6b9e90d 100644 --- a/bindings/python/joint.hpp +++ b/bindings/python/joint.hpp @@ -20,7 +20,7 @@ #include <eigenpy/exception.hpp> #include <eigenpy/eigenpy.hpp> -#include "pinocchio/multibody/joint/joint.hpp" +#include "pinocchio/multibody/joint/joint-composite.hpp" namespace se3 { diff --git a/src/multibody/joint/joint-composite.hpp b/src/multibody/joint/joint-composite.hpp index 26b7e3ac1e1f79a92ad4c435a608e7206e6daeff..82585752e844111fa172205d326fc8dce2111abc 100644 --- a/src/multibody/joint/joint-composite.hpp +++ b/src/multibody/joint/joint-composite.hpp @@ -19,7 +19,6 @@ #define __se3_joint_composite_hpp__ #include "pinocchio/assert.hpp" -// #include "pinocchio/multibody/joint/joint-basic-visitors.hpp" #include "pinocchio/multibody/joint/joint.hpp" EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(se3::SE3) diff --git a/src/multibody/joint/joint-variant.hpp b/src/multibody/joint/joint-variant.hpp index 64fdacff960090717316251109dbc34576314bfa..b1e2b43c278cd683229d7d33b618e4bdd9a67f26 100644 --- a/src/multibody/joint/joint-variant.hpp +++ b/src/multibody/joint/joint-variant.hpp @@ -42,6 +42,11 @@ namespace se3 struct JointModelComposite; struct JointDataComposite; + // The JointModelComposite contains several JointModel (which are JointModelVariant). Hence there is a circular + // dependency between JointModelComposite and JointModelVariant that can be resolved with the use of boost::recursive_variant + // For more details, see http://www.boost.org/doc/libs/1_58_0/doc/html/variant/tutorial.html#variant.tutorial.recursive + // + // The same applies for JointDataComposite typedef boost::variant< JointModelRX, JointModelRY, JointModelRZ, JointModelRevoluteUnaligned, JointModelSpherical, JointModelSphericalZYX, JointModelPX, JointModelPY, JointModelPZ, JointModelPrismaticUnaligned, JointModelFreeFlyer, JointModelPlanar, JointModelTranslation, diff --git a/src/multibody/model.hpp b/src/multibody/model.hpp index 38f2a0f2b6eea1569d579252b6613d74d944a9c2..6e478a9bcf85b0e1847afd6590435afda705e897 100644 --- a/src/multibody/model.hpp +++ b/src/multibody/model.hpp @@ -26,7 +26,6 @@ #include "pinocchio/spatial/inertia.hpp" #include "pinocchio/multibody/fwd.hpp" #include "pinocchio/multibody/frame.hpp" -// #include "pinocchio/multibody/joint/joint.hpp" #include "pinocchio/multibody/joint/joint-composite.hpp" #include "pinocchio/deprecated.hh" #include "pinocchio/tools/string-generator.hpp" diff --git a/src/multibody/visitor.hpp b/src/multibody/visitor.hpp index e430fd5add59deb5a68f728b6ba08fd794694107..d0cce5bb57d86d4d30e86f65602b7f0cb5245ad6 100644 --- a/src/multibody/visitor.hpp +++ b/src/multibody/visitor.hpp @@ -61,16 +61,6 @@ namespace se3 static_cast<const Visitor*>(this)->args)); } - // void operator() (const JointModelBase<JointModelComposite> & jmodel) const - // { - // JointDataVariant& jdataSpec = static_cast<const Visitor*>(this)->jdata; - - // bf::invoke(&Visitor::template algo<JointModelComposite>, - // bf::append2(jmodel, - // boost::ref(boost::get<JointDataComposite>(jdataSpec)), - // static_cast<const Visitor*>(this)->args)); - // } - template<typename ArgsTmp> static void run(const JointModelVariant & jmodel, JointDataVariant & jdata,