![]() |
Stellarium
0.20.4
|
An axis-aligned bounding-box class.
#include <GeomMath.hpp>
Public Types | |
| enum | Corner { MinMinMin = 0, MaxMinMin, MaxMaxMin, MinMaxMin, MinMinMax, MaxMinMax, MaxMaxMax, MinMaxMax, CORNERCOUNT } |
| Identifies a corner of the AABB. | |
| enum | Face { Front = 0, Back, Bottom, Top, Left, Right, FACECOUNT } |
| Identifies a face of the AABB. | |
Public Member Functions | |
| AABBox () | |
| Creates an AABBox with minimum vertex set to infinity and maximum vertex set to -infinity. | |
| AABBox (const Vec3f &min, const Vec3f &max) | |
| Creates an AABBox with the specified minimum and maximum extents. | |
| void | expand (const Vec3f &vec) |
| Updates the bounding box to include the specified vertex. | |
| void | expand (const AABBox &box) |
| Updates the bounding box to include the specified other AABB. | |
| void | reset () |
| Resets minimum to infinity and maximum to -infinity (equivalent to creating a new AABBox with the default constructor) | |
| bool | isValid () const |
| Returns true when each component of the minimum extents is smaller than the corresponding component of the maximum extents. More... | |
| float | getVolume () const |
| Returns the volume of the bounding box. | |
| Vec3f | getCorner (AABBox::Corner corner) const |
| Returns the coordinates of the specified corner of the AABB. | |
| Vec4f | getPlane (AABBox::Face p) const |
| Return the plane equation in the general form for the specified face of the AABB as Vec4f. | |
| Vec3f | positiveVertex (Vec3f &normal) const |
| Returns a Vec3f that for each component either: More... | |
| Vec3f | negativeVertex (Vec3f &normal) const |
| Returns a Vec3f that for each component either: More... | |
Data Fields | |
| Vec3f | min |
| The minimal extents of the box. | |
| Vec3f | max |
| The maximal extents of the box. | |
| bool AABBox::isValid | ( | ) | const |
This allows to detect empty (or freshly created) boxes with negative volume, or AABBs with only a single vertex (where the minimum and maximum extents are the same).
normal parameter is less than zero,
1.8.13