diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp index 9b89fe2f4a2a7ecc0cbdf0d173ca8fe1ae64631e..5c2c2bfcf5a75133a314efb1312bea53c6f77885 100644 --- a/include/eigenpy/quaternion.hpp +++ b/include/eigenpy/quaternion.hpp @@ -110,7 +110,6 @@ namespace eigenpy void visit(PyClass& cl) const { cl - .def(bp::init<>(bp::arg("self"),"Default constructor")[bp::return_value_policy<bp::return_by_value>()]) .def(bp::init<Matrix3>((bp::arg("self"),bp::arg("R")), "Initialize from rotation matrix.\n" "\tR : a rotation matrix 3x3.")[bp::return_value_policy<bp::return_by_value>()]) @@ -129,6 +128,8 @@ namespace eigenpy (bp::arg("vec4"))), "Initialize from a vector 4D.\n" "\tvec4 : a 4D vector representing quaternion coefficients in the order xyzw.") + .def("__init__",bp::make_constructor(&QuaternionVisitor::DefaultConstructor), + "Default constructor") .def(bp::init<Scalar,Scalar,Scalar,Scalar> ((bp::arg("self"),bp::arg("w"),bp::arg("x"),bp::arg("y"),bp::arg("z")), "Initialize from coefficients.\n\n" @@ -269,6 +270,11 @@ namespace eigenpy return q; } + static Quaternion* DefaultConstructor() + { + return new Quaternion; + } + static Quaternion* FromOneVector(const Vector4& v) { Quaternion* q(new Quaternion(v));