Public Member Functions | |
BoundingBox () | |
Creates an uninitialized bounding box. | |
BoundingBox (float xmin, float ymin, float zmin, float xmax, float ymax, float zmax) | |
Creates a bounding box initialized to the given extents. | |
BoundingBox (const Vec3 &min, const Vec3 &max) | |
Creates a bounding box initialized to the given extents. | |
void | init () |
Clear the bounding box. | |
bool | valid () const |
Returns true if the bounding box extents are valid, false otherwise. | |
void | set (float xmin, float ymin, float zmin, float xmax, float ymax, float zmax) |
Sets the bounding box extents. | |
void | set (const Vec3 &min, const Vec3 &max) |
Sets the bounding box extents. | |
float & | xMin () |
float | xMin () const |
float & | yMin () |
float | yMin () const |
float & | zMin () |
float | zMin () const |
float & | xMax () |
float | xMax () const |
float & | yMax () |
float | yMax () const |
float & | zMax () |
float | zMax () const |
const Vec3 | center () const |
Calculates and returns the bounding box center. | |
float | radius () const |
Calculates and returns the bounding box radius. | |
float | radius2 () const |
Calculates and returns the squared length of the bounding box radius. | |
const Vec3 | corner (unsigned int pos) const |
Returns a specific corner of the bounding box. | |
void | expandBy (const Vec3 &v) |
Expands the bounding box to include the given coordinate. | |
void | expandBy (float x, float y, float z) |
Expands the bounding box to include the given coordinate. | |
void | expandBy (const BoundingBox &bb) |
Expands this bounding box to include the given bounding box. | |
void | expandBy (const BoundingSphere &sh) |
Expands this bounding box to include the given sphere. | |
BoundingBox | intersect (const BoundingBox &bb) const |
Returns the intesection of this bounding box and the specified bounding box. | |
bool | intersects (const BoundingBox &bb) const |
Return true if this bounding box intersects the specified bounding box. | |
bool | contains (const Vec3 &v) const |
Returns true if this bounding box contains the specified coordinate. | |
Public Attributes | |
Vec3 | _min |
Minimum extent. | |
Vec3 | _max |
Maximum extent. |
Bounds leaf objects in a scene such as osg::Drawable objects. Used for frustum culling etc.
osg::BoundingBox::BoundingBox | ( | ) | [inline] |
Creates an uninitialized bounding box.
osg::BoundingBox::BoundingBox | ( | float | xmin, | |
float | ymin, | |||
float | zmin, | |||
float | xmax, | |||
float | ymax, | |||
float | zmax | |||
) | [inline] |
Creates a bounding box initialized to the given extents.
Creates a bounding box initialized to the given extents.
void osg::BoundingBox::init | ( | ) | [inline] |
Clear the bounding box.
Erases existing minimum and maximum extents.
bool osg::BoundingBox::valid | ( | ) | const [inline] |
Returns true if the bounding box extents are valid, false otherwise.
void osg::BoundingBox::set | ( | float | xmin, | |
float | ymin, | |||
float | zmin, | |||
float | xmax, | |||
float | ymax, | |||
float | zmax | |||
) | [inline] |
Sets the bounding box extents.
Sets the bounding box extents.
float& osg::BoundingBox::xMin | ( | ) | [inline] |
float osg::BoundingBox::xMin | ( | ) | const [inline] |
float& osg::BoundingBox::yMin | ( | ) | [inline] |
float osg::BoundingBox::yMin | ( | ) | const [inline] |
float& osg::BoundingBox::zMin | ( | ) | [inline] |
float osg::BoundingBox::zMin | ( | ) | const [inline] |
float& osg::BoundingBox::xMax | ( | ) | [inline] |
float osg::BoundingBox::xMax | ( | ) | const [inline] |
float& osg::BoundingBox::yMax | ( | ) | [inline] |
float osg::BoundingBox::yMax | ( | ) | const [inline] |
float& osg::BoundingBox::zMax | ( | ) | [inline] |
float osg::BoundingBox::zMax | ( | ) | const [inline] |
const Vec3 osg::BoundingBox::center | ( | ) | const [inline] |
Calculates and returns the bounding box center.
float osg::BoundingBox::radius | ( | ) | const [inline] |
Calculates and returns the bounding box radius.
float osg::BoundingBox::radius2 | ( | ) | const [inline] |
const Vec3 osg::BoundingBox::corner | ( | unsigned int | pos | ) | const [inline] |
Returns a specific corner of the bounding box.
pos specifies the corner as a number between 0 and 7. Each bit selects an axis, X, Y, or Z from least- to most-significant. Unset bits select the minimum value for that axis, and set bits select the maximum.
void osg::BoundingBox::expandBy | ( | const Vec3 & | v | ) | [inline] |
Expands the bounding box to include the given coordinate.
If the box is uninitialized, set its min and max extents to v.
void osg::BoundingBox::expandBy | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline] |
Expands the bounding box to include the given coordinate.
If the box is uninitialized, set its min and max extents to Vec3(x,y,z).
void osg::BoundingBox::expandBy | ( | const BoundingBox & | bb | ) |
Expands this bounding box to include the given bounding box.
If this box is uninitialized, set it equal to bb.
void osg::BoundingBox::expandBy | ( | const BoundingSphere & | sh | ) |
Expands this bounding box to include the given sphere.
If this box is uninitialized, set it to include sh.
BoundingBox osg::BoundingBox::intersect | ( | const BoundingBox & | bb | ) | const [inline] |
Returns the intesection of this bounding box and the specified bounding box.
bool osg::BoundingBox::intersects | ( | const BoundingBox & | bb | ) | const [inline] |
Return true if this bounding box intersects the specified bounding box.
bool osg::BoundingBox::contains | ( | const Vec3 & | v | ) | const [inline] |
Returns true if this bounding box contains the specified coordinate.
Minimum extent.
(Smallest X, Y, and Z values of all coordinates.)
Maximum extent.
(Greatest X, Y, and Z values of all coordinates.)