17 #ifndef GZ_MATH_BOX_HH_
18 #define GZ_MATH_BOX_HH_
21 #include <gz/math/config.hh>
27 #include "gz/math/detail/WellOrderedVector.hh"
34 inline namespace GZ_MATH_VERSION_NAMESPACE {
49 template<
typename Precision>
53 public:
Box() =
default;
59 public:
Box(
const Precision _length,
60 const Precision _width,
61 const Precision _height);
68 public:
Box(
const Precision _length,
const Precision _width,
69 const Precision _height,
110 public:
void SetSize(
const Precision _length,
111 const Precision _width,
112 const Precision _height);
134 public: Precision Volume()
const;
147 public: std::optional<Vector3<Precision>>
166 public: Precision DensityFromMass(
const Precision _mass)
const;
180 public:
bool SetDensityFromMass(
const Precision _mass);
197 public: std::optional< MassMatrix3<Precision> > MassMatrix()
const;
227 #include "gz/math/detail/Box.hh"
228 #endif // GZ_MATH_BOX_HH_