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>