|
|
| 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.