18 #ifndef GZ_PHYSICS_PRISMATICJOINT_HH_
19 #define GZ_PHYSICS_PRISMATICJOINT_HH_
32 class GZ_PHYSICS_VISIBLE GetPrismaticJointProperties
33 :
public virtual FeatureWithRequirements<PrismaticJointCast>
36 public:
template <
typename PolicyT,
typename FeaturesT>
37 class PrismaticJoint :
public virtual Entity<PolicyT, FeaturesT>
40 typename FromPolicy<PolicyT>::template Use<LinearVector>;
49 public: Axis GetAxis()
const;
54 public:
template <
typename PolicyT>
55 class Implementation :
public virtual Feature::Implementation<PolicyT>
58 typename FromPolicy<PolicyT>::template Use<LinearVector>;
60 public:
virtual Axis GetPrismaticJointAxis(
61 const Identity &_id)
const = 0;
72 public:
template <
typename PolicyT,
typename FeaturesT>
88 public:
template <
typename PolicyT>
96 const Identity &_id,
const Axis &_axis) = 0;
106 public:
template <
typename PolicyT,
typename FeaturesT>
127 const BaseLinkPtr<PolicyT> &_parent,
129 const Axis &_axis = Axis::UnitX());
132 public:
template <
typename PolicyT>
149 const Identity &_childID,
150 const BaseLinkPtr<PolicyT> &_parent,
152 const Axis &_axis) = 0;
158 #include <gz/physics/detail/PrismaticJoint.hh>