18 #ifndef GZ_PHYSICS_BOXSHAPE_HH_
19 #define GZ_PHYSICS_BOXSHAPE_HH_
32 class GZ_PHYSICS_VISIBLE GetBoxShapeProperties
33 :
public virtual FeatureWithRequirements<BoxShapeCast>
35 public:
template <
typename PolicyT,
typename FeaturesT>
36 class BoxShape :
public virtual Entity<PolicyT, FeaturesT>
38 public:
using Dimensions =
39 typename FromPolicy<PolicyT>::template Use<LinearVector>;
43 public: Dimensions GetSize()
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 GetBoxShapeSize(
53 const Identity &_boxID)
const = 0;
60 public:
template <
typename PolicyT,
typename FeaturesT>
72 public:
template <
typename PolicyT>
79 const Identity &_boxID,
const Dimensions &_size) = 0;
90 public:
template <
typename PolicyT,
typename FeaturesT>
111 const Dimensions &_size = Dimensions::Constant(1.0),
112 const PoseType &_pose = PoseType::Identity());
115 public:
template <
typename PolicyT>
125 const Identity &_linkID,
134 #include <gz/physics/detail/BoxShape.hh>