|
| AABBT () noexcept |
| Default constructor (does nothing)
|
|
| AABBT (const Vec3T< T > &a_lo, const Vec3T< T > &a_hi) noexcept |
| Full constructor taking the low/high corners of the bounding box. More...
|
|
| AABBT (const AABBT &a_other) noexcept |
| Copy constructor of another bounding box. More...
|
|
| AABBT (const std::vector< AABBT< T >> &a_others) noexcept |
| Constructor which creates an AABB which encloses a set of other AABBs. More...
|
|
template<class P > |
| AABBT (const std::vector< Vec3T< P >> &a_points) noexcept |
| Template constructor (since mixed precision allowed) which creates an AABB that encloses a set of 3D points. More...
|
|
virtual | ~AABBT () noexcept |
| Destructor (does nothing)
|
|
AABBT & | operator= (const AABBT< T > &a_other)=default |
| Copy assignment. More...
|
|
template<class P > |
void | define (const std::vector< Vec3T< P >> &a_points) noexcept |
| Define function (since mixed precision allowed) which sets this AABB such that it encloses a set of 3D points. More...
|
|
bool | intersects (const AABBT &a_other) const noexcept |
| Check if this AABB intersects another AABB. More...
|
|
Vec3T< T > & | getLowCorner () noexcept |
| Get the modifiable lower-left corner of the AABB.
|
|
const Vec3T< T > & | getLowCorner () const noexcept |
| Get the immutable lower-left corner of the AABB.
|
|
Vec3T< T > & | getHighCorner () noexcept |
| Get the modifiable upper-right corner of the AABB.
|
|
const Vec3T< T > & | getHighCorner () const noexcept |
| Get the immutable upper-right corner of the AABB.
|
|
Vec3 | getCentroid () const noexcept |
| Get bounding volume centroid.
|
|
T | getOverlappingVolume (const AABBT< T > &a_other) const noexcept |
| Compute the overlapping volume between this AABB and another AABB. More...
|
|
T | getDistance (const Vec3 &a_x0) const noexcept |
| Get the distance to this AABB (points inside the bounding box have a zero distance) More...
|
|
T | getVolume () const noexcept |
| Compute the bounding box volume.
|
|
T | getArea () const noexcept |
| Compute the bounding box area.
|
|
template<class T>
class BoundingVolumes::AABBT< T >
Axis-aligned bounding box as bounding volume.
This class represents a Cartesian box that encloses a set of 3D points.
- Note
- The template parameter T is the precision.