|
| bbox () |
| Default Constructor.
|
|
| bbox (const vec3 &minimum, const vec3 &maximum) |
| Constructor that sets values from vector values passed.
|
|
| bbox (float xMin, float yMin, float zMin, float xMax, float yMax, float zMax) |
| Constructor that sets values from float values passed.
|
|
plane | get_plane (volume_plane::e side) const |
| Retrieves the plane for the specified side of the bounding box.
|
|
void | get_plane_points (volume_plane::e side, vec3 points_out[]) const |
| Retrieves the four points that form the boundary of the specified side of the bounding box.
|
|
bbox & | from_points (const char *point_buffer, unsigned int point_count, unsigned int point_stride, bool reset=true) |
| Calculates the bounding box based on the points specified.
|
|
bbox & | from_sphere (const vec3 ¢er, float radius) |
| Calculates the bounding box based on the sphere specified.
|
|
bool | intersect (const bbox &bounds) const |
| Tests to see if this AABB is intersected by another AABB.
|
|
bool | intersect (const bbox &bounds, bool &contained) const |
| Tests to see if this AABB is intersected by another AABB with full containment test.
|
|
bool | intersect (const bbox &bounds, bbox &intersection) const |
| Tests to see if this AABB is intersected by another AABB and returns the resulting intersection.
|
|
bool | intersect (const bbox &bounds, const vec3 &tolerance) const |
| Tests to see if this AABB is intersected by another AABB with a tolerance.
|
|
bool | intersect (const vec3 &origin, const vec3 &velocity, float &t, bool restrict_range=true) const |
| Tests to see if a ray intersects the AABB.
|
|
bool | intersect (const vec3 &v0, const vec3 &v1, const vec3 &v2, const bbox &triangle_bounds) const |
| Tests to see if a triangle intersects the AABB.
|
|
bool | intersect (const vec3 &v0, const vec3 &v1, const vec3 &v2) const |
| Tests to see if a triangle intersects the AABB.
|
|
bool | contains_point (const vec3 &point) const |
| Tests to see if a point falls within this bounding box or not.
|
|
bool | contains_point (const vec3 &point, const vec3 &tolerance) const |
| Tests to see if a point falls within this bounding box or not including a specific tolerance around the box.
|
|
bool | contains_point (const vec3 &point, float tolerance) const |
| Tests to see if a point falls within this bounding box or not including a specific tolerance around the box.
|
|
vec3 | closest_point (const vec3 &source_point) const |
| Computes the closest point on the surface of the AABB to the input point.
|
|
void | validate () |
| Ensures that the values placed in the min/max values never make the bounding box itself inverted.
|
|
void | reset () |
| Resets the bounding box values.
|
|
bbox & | mul (const transform &t) |
| Transforms an axis aligned bounding box by the specified matrix.
|
|
bbox & | mul_no_scale (const transform &t) |
|
bbox & | add_point (const vec3 &point) |
| Grows the bounding box based on the point passed.
|
|
vec3 | get_dimensions () const |
| Returns a vector containing the dimensions of the bounding box.
|
|
vec3 | get_center () const |
| Returns a vector containing the exact center point of the box.
|
|
vec3 | get_extents () const |
| Returns a vector containing the extents of the bounding box (the half-dimensions)
|
|
void | inflate (float amount) |
| Grows the bounding box by the specified number of world space units on all three axes.
|
|
void | inflate (const vec3 &amount) |
| Grows the bounding box by the specified numbers of world space units on each of the three axes independently.
|
|
bool | is_populated () const |
| Checks if the bounding box is populated.
|
|
bool | is_degenerate () const |
| Checks if the bounding box is degenerate (empty)
|
|
std::array< vec3, 8 > | get_corners () const |
|
bbox | operator* (float scale) const |
| Scales the bounding box values by the scalar passed.
|
|
bbox & | operator+= (const vec3 &shift) |
| Moves the bounding box by the vector passed.
|
|
bbox & | operator-= (const vec3 &shift) |
| Moves the bounding box by the vector passed.
|
|
bbox & | operator*= (const transform &t) |
| Transforms the bounding box by the matrix passed.
|
|
bbox & | operator*= (float scale) |
| Scales the bounding box values by the scalar passed.
|
|
bool | operator== (const bbox &bounds) const |
| Checks for equality between this bounding box and another.
|
|
bool | operator!= (const bbox &bounds) const |
| Checks for inequality between this bounding box and another.
|
|
Storage for box vector values and wraps up common functionality.
Definition at line 20 of file bbox.h.
std::array< vec3, 8 > math::bbox::get_corners |
( |
| ) |
const |
Returns the 8 corners of the box in the following order: (xmin,ymin,zmin), (xmax,ymin,zmin), (xmin,ymax,zmin), (xmax,ymax,zmin), (xmin,ymin,zmax), (xmax,ymin,zmax), (xmin,ymax,zmax), (xmax,ymax,zmax)
Definition at line 976 of file bbox.cpp.