Representation of a 3D rectangular box which sides are aligned w/ coordinate axis. A representation of an Axis-Aligned-Boundary-Box, a simple & popular representation of
3D boundary box for collision detection. The concept was taken from the reference,
Real-Time-Collision-Detection (RTCD), and in particular Ch. 4.2 (page 77):
.
More...
#include <GeoAABox.h>
Public Member Functions | |
AABox () | |
Default constructor. More... | |
virtual | ~AABox () |
Default destructor. More... | |
AABox (const double x_min, const double y_min, const double z_min, const double x_max, const double y_max, const double z_max) | |
Alternative ctor (0) More... | |
AABox (const Point_t &min, const Vector_t &max) | |
Altenartive ctor (1) More... | |
const Point_t & | Min () const |
Minimum point getter. More... | |
const Point_t & | Max () const |
Maximum point getter. More... | |
void | Min (const double x, const double y, const double z) |
Minimum point setter. More... | |
void | Max (const double x, const double y, const double z) |
Maximum point setter. More... | |
bool | Contain (const Point_t &pt) const |
Test if a point is contained within the box. More... | |
template<class T , class U > | |
AABox (const T &min, const U &max) | |
Alternative ctor using template (3) More... | |
AABox () | |
Default constructor. More... | |
virtual | ~AABox () |
Default destructor. More... | |
AABox (const double x_min, const double y_min, const double z_min, const double x_max, const double y_max, const double z_max) | |
Alternative ctor (0) More... | |
AABox (const Point_t &min, const Vector_t &max) | |
Altenartive ctor (1) More... | |
const Point_t & | Min () const |
Minimum point getter. More... | |
const Point_t & | Max () const |
Maximum point getter. More... | |
void | Min (const double x, const double y, const double z) |
Minimum point setter. More... | |
void | Max (const double x, const double y, const double z) |
Maximum point setter. More... | |
bool | Contain (const Point_t &pt) const |
Test if a point is contained within the box. More... | |
template<class T , class U > | |
AABox (const T &min, const U &max) | |
Alternative ctor using template (3) More... | |
Protected Attributes | |
Point_t | _min |
Minimum point. More... | |
Point_t | _max |
Maximum point. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o,::geoalgo::AABox const &a) |
Streamer. More... | |
Representation of a 3D rectangular box which sides are aligned w/ coordinate axis. A representation of an Axis-Aligned-Boundary-Box, a simple & popular representation of
3D boundary box for collision detection. The concept was taken from the reference,
Real-Time-Collision-Detection (RTCD), and in particular Ch. 4.2 (page 77):
.
Ref: http://realtimecollisiondetection.net
This class uses one of the simplest representation for AABox: "min-max" representation.
Though this method requires storing 6 floating point values, class attributes (i.e.
"min" and "max" points) store intuitive values for most UB analyzers. Also it simplifies
utility function implementations.
Definition at line 34 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.h.
geoalgo::AABox::AABox | ( | ) |
Default constructor.
Definition at line 6 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
|
inlinevirtual |
geoalgo::AABox::AABox | ( | const double | x_min, |
const double | y_min, | ||
const double | z_min, | ||
const double | x_max, | ||
const double | y_max, | ||
const double | z_max | ||
) |
Alternative ctor (0)
Definition at line 11 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
Altenartive ctor (1)
Definition at line 17 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
|
inline |
Alternative ctor using template (3)
Definition at line 71 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.h.
geoalgo::AABox::AABox | ( | ) |
Default constructor.
|
inlinevirtual |
Default destructor.
Definition at line 42 of file sbncode/sbncode/OpT0Finder/flashmatch/GeoAlgo/GeoAABox.h.
geoalgo::AABox::AABox | ( | const double | x_min, |
const double | y_min, | ||
const double | z_min, | ||
const double | x_max, | ||
const double | y_max, | ||
const double | z_max | ||
) |
Alternative ctor (0)
|
inline |
Alternative ctor using template (3)
Definition at line 71 of file sbncode/sbncode/OpT0Finder/flashmatch/GeoAlgo/GeoAABox.h.
bool geoalgo::AABox::Contain | ( | const Point_t & | pt | ) | const |
Test if a point is contained within the box.
Definition at line 33 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
bool geoalgo::AABox::Contain | ( | const Point_t & | pt | ) | const |
Test if a point is contained within the box.
const Point_t & geoalgo::AABox::Max | ( | ) | const |
Maximum point getter.
Definition at line 26 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
const Point_t& geoalgo::AABox::Max | ( | ) | const |
Maximum point getter.
void geoalgo::AABox::Max | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Maximum point setter.
void geoalgo::AABox::Max | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Maximum point setter.
Definition at line 30 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
const Point_t & geoalgo::AABox::Min | ( | ) | const |
Minimum point getter.
Definition at line 25 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
const Point_t& geoalgo::AABox::Min | ( | ) | const |
Minimum point getter.
void geoalgo::AABox::Min | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Minimum point setter.
Definition at line 28 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.cxx.
void geoalgo::AABox::Min | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Minimum point setter.
|
friend |
|
protected |
Maximum point.
Definition at line 63 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.h.
|
protected |
Minimum point.
Definition at line 62 of file larcorealg/larcorealg/GeoAlgo/GeoAABox.h.