Public Types |
| enum | EBoxClipFlag {
eBoxClipFlag_Outside = 0,
eBoxClipFlag_IsEqual = NYTRO_BIT(0),
eBoxClipFlag_IsContained = NYTRO_BIT(1),
eBoxClipFlag_Contains = NYTRO_BIT(2),
eBoxClipFlag_Clips = NYTRO_BIT(3)
} |
| | clipping flags when queried for intersection between two boxes
More...
|
Public Member Functions |
| | Box () |
| | Box (Box &rBox) |
| Box & | operator= (Box &rOriginal) |
| | ~Box () |
| void | set (Vector3D &rMin, Vector3D &rMax) |
| | set the box min and max corners
|
| void | setMin (Vector3D &rValue) |
| | set the min corner
|
| void | setMax (Vector3D &rValue) |
| | set the max corner
|
| Vector3D & | getMin () |
| Vector3D & | getMax () |
| float32 | getWidth () |
| float32 | getHeight () |
| float32 | getDepth () |
| Vector3D | getCenter () |
| void | startBoundingBox () |
| | start computing a bounding box by setting the min/max corners to a small value
|
| void | getCorners (Vector3D *pCorners) |
| | gets the corners as an array of 8 (eight) 3D vectors
|
| void | addPoint (Vector3D &rValue) |
| | add a point to the bounding box, enlarging it if required
|
| void | addPoints (Vector3D *pArray, uint32 aCount) |
| | add more points at once to the bounding box, enlarging it if required
|
| void | addBox (Box &rValue) |
| | add a box to this box, enlarging it if required
|
| EBoxClipFlag | intersect (Box &rValue) |
| | intersect a box with this one returning a clip flag result
|
| bool | intersect (Ray &rLine, Vector3D &rPoint, Vector3D &rNormal, float &rT) |
| | intersect a ray/line with the box
|
| bool | isPointInBox (Vector3D &rPoint) |
| | returns true if the rPoint is inside the box
|
| Box | operator* (float32 aValue) |
| Box | operator+ (float32 aValue) |
| Box | operator- (float32 aValue) |
| Box | operator/ (float32 aValue) |
| Box | operator* (Vector3D &aValue) |
| Box | operator+ (Vector3D &aValue) |
| Box | operator- (Vector3D &aValue) |
| Box | operator/ (Vector3D &aValue) |
| Box & | operator*= (float32 aValue) |
| Box & | operator+= (float32 aValue) |
| Box & | operator-= (float32 aValue) |
| Box & | operator/= (float32 aValue) |
| Box & | operator*= (Vector3D &aValue) |
| Box & | operator+= (Vector3D &aValue) |
| Box & | operator-= (Vector3D &aValue) |
| Box & | operator/= (Vector3D &aValue) |
Protected Member Functions |
| int32 | getLineTest (float32 aV0, float32 aV1, float32 aW0, float32 aW1) |
Protected Attributes |
| Vector3D | m_min |
| Vector3D | m_max |
An axis aligned 3D box.