18#ifndef GZ_PHYSICS_SPHERESHAPE_HH_ 
   19#define GZ_PHYSICS_SPHERESHAPE_HH_ 
   33    class GZ_PHYSICS_VISIBLE GetSphereShapeProperties
 
   34        : 
public virtual FeatureWithRequirements<SphereShapeCast>
 
   36      public: 
template <
typename PolicyT, 
typename FeaturesT>
 
   37      class SphereShape : 
public virtual Entity<PolicyT, FeaturesT>
 
   39        public: 
using Scalar = 
typename PolicyT::Scalar;
 
   43        public: Scalar GetRadius() 
const;
 
   46      public: 
template <
typename PolicyT>
 
   47      class Implementation : 
public virtual Feature::Implementation<PolicyT>
 
   49        public: 
using Scalar = 
typename PolicyT::Scalar;
 
   51        public: 
virtual Scalar GetSphereShapeRadius(
 
   52            const Identity &_sphereID) 
const = 0;
 
   60      public: 
template <
typename PolicyT, 
typename FeaturesT>
 
   63        public: 
using Scalar = 
typename PolicyT::Scalar;
 
 
   71      public: 
template <
typename PolicyT>
 
   74        public: 
using Scalar = 
typename PolicyT::Scalar;
 
   77            const Identity &_sphereID, 
Scalar _radius) = 0;
 
 
 
   88      public: 
template <
typename PolicyT, 
typename FeaturesT>
 
   91        public: 
using Scalar = 
typename PolicyT::Scalar;
 
  107            const PoseType &_pose = PoseType::Identity());
 
 
  110      public: 
template <
typename PolicyT>
 
  113        public: 
using Scalar = 
typename PolicyT::Scalar;
 
  119            const Identity &_linkID,
 
 
 
  128#include <gz/physics/detail/SphereShape.hh>