17 #ifndef IGNITION_MATH_AXISALIGNEDBOX_HH_ 18 #define IGNITION_MATH_AXISALIGNEDBOX_HH_ 22 #include <ignition/math/config.hh> 34 inline namespace IGNITION_MATH_VERSION_NAMESPACE {
37 class AxisAlignedBoxPrivate;
66 public:
AxisAlignedBox(
double _vec1X,
double _vec1Y,
double _vec1Z,
67 double _vec2X,
double _vec2Y,
double _vec2Z);
78 public:
double XLength()
const;
82 public:
double YLength()
const;
86 public:
double ZLength()
const;
137 _out <<
"Min[" << _b.
Min() <<
"] Max[" << _b.
Max() <<
"]";
143 public:
const Vector3d &Min()
const;
147 public:
const Vector3d &Max()
const;
168 public:
bool Contains(
const Vector3d &_p)
const;
177 const double _min,
const double _max)
const;
196 const double _min,
const double _max)
const;
217 const double _min,
const double _max)
const;
228 const Line3d &_line)
const;
232 public:
double Volume()
const;
242 public:
double DensityFromMass(
const double _mass)
const;
256 public:
bool SetDensityFromMass(
const double _mass);
281 private:
bool ClipLine(
const int _d,
const Line3d &_line,
282 double &_low,
double &_high)
const;
285 private: AxisAlignedBoxPrivate *dataPtr;
friend std::ostream & operator<<(std::ostream &_out, const AxisAlignedBox &_b)
Output operator.
Definition: AxisAlignedBox.hh:134
const Vector3d & Max() const
Get the maximum corner.
A class for inertial information about a rigid body consisting of the scalar mass and a 3x3 symmetric...
Definition: MassMatrix3.hh:45
Contains information about a single material.
Definition: Material.hh:65
The Vector3 class represents the generic vector containing 3 elements. Since it's commonly used to ke...
Definition: Vector3.hh:40
A three dimensional line segment. The line is defined by a start and end point.
Definition: Line3.hh:35
const Vector3d & Min() const
Get the minimum corner.
Mathematical representation of a box that is aligned along an X,Y,Z axis.
Definition: AxisAlignedBox.hh:42