From 30bd0c6526a1edc5166374f5ba8a2eaa9a7eca33 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Wed, 19 May 2021 09:24:21 +0200 Subject: [PATCH] geometry: fix quaternion static Identity constructor --- include/eigenpy/quaternion.hpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp index c0d23745..84723e2f 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); -- GitLab