19 #ifndef GZ_MATH_CONE_HH_
20 #define GZ_MATH_CONE_HH_
33 inline namespace GZ_MATH_VERSION_NAMESPACE {
44 template<
typename Precision>
50 public:
Cone() =
default;
57 public:
Cone(
const Precision _length,
const Precision _radius,
67 public:
Cone(
const Precision _length,
const Precision _radius,
74 public: Precision Radius()
const;
78 public:
void SetRadius(
const Precision _radius);
82 public: Precision Length()
const;
86 public:
void SetLength(
const Precision _length);
100 public:
void SetRotationalOffset(
105 public:
const Material &Mat()
const;
109 public:
void SetMat(
const Material &_mat);
127 public: std::optional< MassMatrix3<Precision> > MassMatrix()
const;
131 public:
bool operator==(
const Cone &_cone)
const;
135 public: Precision Volume()
const;
145 public: Precision DensityFromMass(
const Precision _mass)
const;
159 public:
bool SetDensityFromMass(
const Precision _mass);
162 private: Precision radius = 0.0;
165 private: Precision length = 0.0;
188 #include "gz/math/detail/Cone.hh"
189 #endif // GZ_MATH_CONE_HH_