diff --git a/src/algorithm/contact-info.hpp b/src/algorithm/contact-info.hpp index 06bb5a0ba7e1e333c4c1647ecb032357f13ddd99..ca11e5a07a99f6e2275205629e3d6c2945886b12 100644 --- a/src/algorithm/contact-info.hpp +++ b/src/algorithm/contact-info.hpp @@ -149,6 +149,21 @@ namespace pinocchio } return -1; } + + /// \returns An expression of *this with the Scalar type casted to NewScalar. + template<typename NewScalar> + RigidContactModelTpl<NewScalar,Options> cast() const + { + typedef RigidContactModelTpl<NewScalar,Options> ReturnType; + ReturnType res; + res.type = type; + res.frame_id = frame_id; + res.reference_frame =reference_frame; + res.desired_contact_placement = desired_contact_placement.template cast<NewScalar>(); + res.desired_contact_velocity = desired_contact_velocity.template cast<NewScalar>(); + res.desired_contact_acceleration = desired_contact_acceleration.template cast<NewScalar>(); + return res; + } };