diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp index 5b93ce4a0072bb65db2e687cb711ed0a00080cf4..5fc4c51ca3052a69979e1bb2abfed7d3e3f82cf5 100644 --- a/include/eigenpy/quaternion.hpp +++ b/include/eigenpy/quaternion.hpp @@ -350,15 +350,22 @@ class QuaternionVisitor public: static void expose() { - bp::class_<Quaternion>("Quaternion", - "Quaternion representing rotation.\n\n" - "Supported operations " - "('q is a Quaternion, 'v' is a Vector3): " - "'q*q' (rotation composition), " - "'q*=q', " - "'q*v' (rotating 'v' by 'q'), " - "'q==q', 'q!=q', 'q[0..3]'.", - bp::no_init) +#if BOOST_VERSION / 100 % 1000 < 71 + typedef EIGENPY_CLASS_HOLDER_TYPE(Quaternion) HolderType; +#else + typedef ::boost::python::detail::not_specified HolderType; +#endif + + bp::class_<Quaternion, HolderType>( + "Quaternion", + "Quaternion representing rotation.\n\n" + "Supported operations " + "('q is a Quaternion, 'v' is a Vector3): " + "'q*q' (rotation composition), " + "'q*=q', " + "'q*v' (rotating 'v' by 'q'), " + "'q==q', 'q!=q', 'q[0..3]'.", + bp::no_init) .def(QuaternionVisitor<Quaternion>()); // Cast to Eigen::QuaternionBase and vice-versa