18#ifndef GZ_PHYSICS_FREEJOINT_HH_
19#define GZ_PHYSICS_FREEJOINT_HH_
30 class GZ_PHYSICS_VISIBLE SetFreeJointRelativeTransformFeature
31 :
public virtual FeatureWithRequirements<FreeJointCast>
33 public:
template <
typename PolicyT,
typename FeaturesT>
34 class FreeJoint :
public virtual Feature::Link<PolicyT, FeaturesT>
36 public:
using PoseType =
37 typename FromPolicy<PolicyT>::template Use<Pose>;
43 public:
void SetRelativeTransform(
const PoseType &_pose);
47 public:
template <
typename PolicyT>
48 class Implementation :
public virtual Feature::Implementation<PolicyT>
50 public:
using PoseType =
51 typename FromPolicy<PolicyT>::template Use<Pose>;
53 public:
virtual void SetFreeJointRelativeTransform(
54 const Identity &_id,
const PoseType &_pose) = 0;
60#include <gz/physics/detail/FreeJoint.hh>