|
| aabbox3d () |
| Default Constructor.
|
|
| aabbox3d (const vector3d< T > &min, const vector3d< T > &max) |
| Constructor with min edge and max edge.
|
|
| aabbox3d (const vector3d< T > &init) |
| Constructor with only one point.
|
|
| aabbox3d (T minx, T miny, T minz, T maxx, T maxy, T maxz) |
| Constructor with min edge and max edge as single values, not vectors.
|
|
bool | operator== (const aabbox3d< T > &other) const |
| Equality operator.
|
|
bool | operator!= (const aabbox3d< T > &other) const |
| Inequality operator.
|
|
void | reset (T x, T y, T z) |
| Resets the bounding box to a one-point box.
|
|
void | reset (const aabbox3d< T > &initValue) |
| Resets the bounding box.
|
|
void | reset (const vector3d< T > &initValue) |
| Resets the bounding box to a one-point box.
|
|
void | addInternalPoint (const vector3d< T > &p) |
| Adds a point to the bounding box.
|
|
void | addInternalBox (const aabbox3d< T > &b) |
| Adds another bounding box.
|
|
void | addInternalPoint (T x, T y, T z) |
| Adds a point to the bounding box.
|
|
vector3d< T > | getCenter () const |
| Get center of the bounding box.
|
|
vector3d< T > | getExtent () const |
| Get extent of the box (maximal distance of two points in the box)
|
|
T | getRadius () const |
| Get radius of the bounding sphere.
|
|
bool | isEmpty () const |
| Check if the box is empty.
|
|
T | getVolume () const |
| Get the volume enclosed by the box in cubed units.
|
|
T | getArea () const |
| Get the surface area of the box in squared units.
|
|
void | getEdges (vector3d< T > *edges) const |
| Stores all 8 edges of the box into an array.
|
|
void | repair () |
| Repairs the box.
|
|
bool | isValid () const |
|
aabbox3d< T > | getInterpolated (const aabbox3d< T > &other, dcpp::float32_kt d) const |
| Calculates a new interpolated bounding box.
|
|
bool | isPointInside (const vector3d< T > &p) const |
| Determines if a point is within this box.
|
|
bool | isPointTotalInside (const vector3d< T > &p) const |
| Determines if a point is within this box and not its borders.
|
|
bool | isFullInside (const aabbox3d< T > &other) const |
| Check if this box is completely inside the 'other' box.
|
|
aabbox3d< T > | intersect (const aabbox3d< T > &other) const |
| Returns the intersection of this box with another, if possible.
|
|
bool | intersectsWithBox (const aabbox3d< T > &other) const |
| Determines if the axis-aligned box intersects with another axis-aligned box.
|
|
bool | intersectsWithLine (const line3d< T > &line) const |
| Tests if the box intersects with a line.
|
|
bool | intersectsWithLine (const vector3d< T > &linemiddle, const vector3d< T > &linevect, T halflength) const |
| Tests if the box intersects with a line.
|
|
EIntersectionRelation3D | classifyPlaneRelation (const plane3d< T > &plane) const |
| Classifies a relation with a plane.
|
|
dcpp::nub::vector3d< T > | getTopCenter () const |
| Get the top center position of the bounding box.
|
|
dcpp::nub::vector3d< T > | getBottomCenter () const |
| Get the bottom center position of the bounding box.
|
|
dcpp::nub::vector3d< T > | getFrontCenter () const |
| Get the front center position of the bounding box.
|
|
dcpp::nub::vector3d< T > | getBackCenter () const |
| Get the back center position of the bounding box.
|
|
dcpp::nub::vector3d< T > | getLeftCenter () const |
| Get the left center position of the bounding box.
|
|
dcpp::nub::vector3d< T > | getRightCenter () const |
| Get the right center position of the bounding box.
|
|
template<
class T>
class dcpp::nub::aabbox3d< T >
Axis aligned bounding box in 3d dimensional space.
Has some useful methods used with occlusion culling or clipping.