diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp index c0d23745959d50c182e55263ba94e33209b07a66..84723e2fb0883c0d0245f7ab189c575e503fdd58 100644 --- a/include/eigenpy/quaternion.hpp +++ b/include/eigenpy/quaternion.hpp @@ -234,8 +234,9 @@ namespace eigenpy "Returns the quaternion which transforms a into b through a rotation.", bp::return_value_policy<bp::manage_new_object>()) .staticmethod("FromTwoVectors") - .def("Identity",&Quaternion::Identity, - "Returns a quaternion representing an identity rotation.") + .def("Identity",&Identity, + "Returns a quaternion representing an identity rotation.", + bp::return_value_policy<bp::manage_new_object>()) .staticmethod("Identity") ; } @@ -254,6 +255,12 @@ namespace eigenpy static Quaternion & assign(Quaternion & self, const OtherQuat & quat) { return self = quat; } + static Quaternion* Identity() + { + Quaternion* q(new Quaternion); q->setIdentity(); + return q; + } + static Quaternion* FromTwoVectors(const Vector3& u, const Vector3& v) { Quaternion* q(new Quaternion); q->setFromTwoVectors(u,v);