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>