18#ifndef GZ_PHYSICS_ELLIPSOIDSHAPE_HH_
19#define GZ_PHYSICS_ELLIPSOIDSHAPE_HH_
32 class GZ_PHYSICS_VISIBLE GetEllipsoidShapeProperties
33 :
public virtual FeatureWithRequirements<EllipsoidShapeCast>
35 public:
template <
typename PolicyT,
typename FeaturesT>
36 class EllipsoidShape :
public virtual Entity<PolicyT, FeaturesT>
38 public:
using Dimensions =
39 typename FromPolicy<PolicyT>::template Use<LinearVector>;
43 public: Dimensions GetRadii()
const;
46 public:
template <
typename PolicyT>
47 class Implementation :
public virtual Feature::Implementation<PolicyT>
49 public:
using Dimensions =
50 typename FromPolicy<PolicyT>::template Use<LinearVector>;
52 public:
virtual Dimensions GetEllipsoidShapeRadii(
53 const Identity &_ellipsoidID)
const = 0;
63 public:
template <
typename PolicyT,
typename FeaturesT>
75 public:
template <
typename PolicyT>
82 const Identity &_ellipsoidID,
const Dimensions &_radii) = 0;
93 public:
template <
typename PolicyT,
typename FeaturesT>
112 const Dimensions &_radii = Dimensions::Constant(1.0),
113 const PoseType &_pose = PoseType::Identity());
116 public:
template <
typename PolicyT>
126 const Identity &_linkID,
135#include <gz/physics/detail/EllipsoidShape.hh>