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>