20 #ifndef GZ_PHYSICS_CONESHAPE_HH_
21 #define GZ_PHYSICS_CONESHAPE_HH_
34 class GZ_PHYSICS_VISIBLE GetConeShapeProperties
35 :
public virtual FeatureWithRequirements<ConeShapeCast>
37 public:
template <
typename PolicyT,
typename FeaturesT>
38 class ConeShape :
public virtual Entity<PolicyT, FeaturesT>
40 public:
using Scalar =
typename PolicyT::Scalar;
44 public: Scalar GetRadius()
const;
49 public: Scalar GetHeight()
const;
52 public:
template <
typename PolicyT>
53 class Implementation :
public virtual Feature::Implementation<PolicyT>
55 public:
using Scalar =
typename PolicyT::Scalar;
57 public:
virtual Scalar GetConeShapeRadius(
58 const Identity &_coneID)
const = 0;
60 public:
virtual Scalar GetConeShapeHeight(
61 const Identity &_coneID)
const = 0;
71 public:
template <
typename PolicyT,
typename FeaturesT>
74 public:
using Scalar =
typename PolicyT::Scalar;
87 public:
template <
typename PolicyT>
90 public:
using Scalar =
typename PolicyT::Scalar;
93 const Identity &_coneID,
Scalar _radius) = 0;
96 const Identity &_coneID,
Scalar _height) = 0;
107 public:
template <
typename PolicyT,
typename FeaturesT>
110 public:
using Scalar =
typename PolicyT::Scalar;
130 const PoseType &_pose = PoseType::Identity());
133 public:
template <
typename PolicyT>
136 public:
using Scalar =
typename PolicyT::Scalar;
142 const Identity &_linkID,
152 #include <gz/physics/detail/ConeShape.hh>