From dd1e12f0588d55808d213030c85c0e16b9837ab1 Mon Sep 17 00:00:00 2001 From: pFernbach <pierre.fernbach@gmail.com> Date: Wed, 5 Jun 2019 18:19:58 +0200 Subject: [PATCH] computeCenterOfContactAtStateForLimb correctly apply the offset when the rotation is not Identity --- src/rbprmbuilder.impl.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/rbprmbuilder.impl.cc b/src/rbprmbuilder.impl.cc index 2d969882..1606f049 100644 --- a/src/rbprmbuilder.impl.cc +++ b/src/rbprmbuilder.impl.cc @@ -2134,9 +2134,8 @@ namespace hpp { res->length ((_CORBA_ULong)2); - - fcl::Vec3f& position = state.contactPositions_.at(limbName); - position += fullBody()->GetLimb(limb)->offset_; + fcl::Transform3f jointT( state.contactRotation_.at(limbName), state.contactPositions_.at(limbName)); + fcl::Vec3f position = jointT.transform(fullBody()->GetLimb(limb)->offset_); _CORBA_ULong size = (_CORBA_ULong) 3; double* dofArray = hpp::floatSeq::allocbuf(size); hpp::floatSeq floats (size, size, dofArray, true); -- GitLab