Bounding box creation and manipulation. More...
Data Structures | |
struct | AtBBox |
3D axis-aligned bounding box (uses single-precision) More... | |
struct | AtBBox2 |
2D axis-aligned bounding box (uses integers) More... | |
Functions | |
AI_DEVICE | AtBBox::AtBBox (const AtVector &mn, const AtVector &mx) |
AI_DEVICE | AtBBox::AtBBox (const AtVector &p0, const AtVector &p1, const AtVector &p2) |
Compute the bbox of a triangle. | |
AI_DEVICE void | AtBBox::addSlack (float slack) |
Expand a bounding box with some safety slack volume. | |
void | AtBBox::init () |
Initialize a bounding box to be empty. | |
void | AtBBox::expand (const AtVector &v) |
Expand a bounding box with a point. | |
AI_DEVICE bool | AtBBox::inside (const AtVector &p) const |
Check to see if the specified point is inside the bbox. | |
float | AtBBox::volume () const |
Compute the volume of a bbox. | |
bool | AtBBox::isEmpty () const |
Returns whether or not the specified box is empty. | |
float | AtBBox::halfArea () const |
Compute half the surface area of a bbox. | |
float | AtBBox::area () const |
Compute the surface area of a bbox. | |
AI_DEVICE AtVector | AtBBox::center () const |
Compute the center of a bbox. | |
AtBBox | AiBBoxUnion (const AtBBox &b1, const AtBBox &b2) |
Compute the "union" of two bboxes. More... | |
AtBBox | AiBBoxIntersection (const AtBBox &b1, const AtBBox &b2) |
Compute the intersection of two bboxes. | |
AtBBox | AiBBoxLerp (float k, const AtBBox &lo, const AtBBox &hi) |
Linear interpolation between two bboxes (k=0 -> bbox=lo, k=1 -> bbox=hi) | |
constexpr | AtBBox2::AtBBox2 (int min_x, int min_y, int max_x, int max_y) |
constexpr int | AtBBox2::AiBBox2Area () const |
Compute the area (# of pixels) of an integer bbox. | |
Variables | |
AtVector | AtBBox::min |
AtVector | AtBBox::max |
int | AtBBox2::minx |
int | AtBBox2::miny |
int | AtBBox2::maxx |
int | AtBBox2::maxy |
Bounding box creation and manipulation.
The AtBBox class is implemented as a 3D axis-aligned bounding box, using single precision for its internal storage and operation.