17 #ifndef GZ_MATH_CYLINDER_HH_
18 #define GZ_MATH_CYLINDER_HH_
28 class CylinderPrivate;
31 inline namespace GZ_MATH_VERSION_NAMESPACE {
41 template<
typename Precision>
54 public:
Cylinder(
const Precision _length,
const Precision _radius,
64 public:
Cylinder(
const Precision _length,
const Precision _radius,
71 public: Precision Radius()
const;
75 public:
void SetRadius(
const Precision _radius);
79 public: Precision Length()
const;
83 public:
void SetLength(
const Precision _length);
96 public:
void SetRotationalOffset(
101 public:
const Material &Mat()
const;
105 public:
void SetMat(
const Material &_mat);
123 public: std::optional< MassMatrix3<Precision> > MassMatrix()
const;
127 public:
bool operator==(
const Cylinder &_cylinder)
const;
131 public: Precision Volume()
const;
141 public: Precision DensityFromMass(
const Precision _mass)
const;
155 public:
bool SetDensityFromMass(
const Precision _mass);
158 private: Precision radius = 0.0;
161 private: Precision length = 0.0;
184 #include "gz/math/detail/Cylinder.hh"
185 #endif // GZ_MATH_CYLINDER_HH_