typedef VT osg::BoundingBoxImpl< VT >::vec_type |
typedef VT::value_type osg::BoundingBoxImpl< VT >::value_type |
osg::BoundingBoxImpl< VT >::BoundingBoxImpl | ( | ) | [inline] |
Creates an uninitialized bounding box.
Referenced by osg::BoundingBoxImpl< VT >::intersect().
osg::BoundingBoxImpl< VT >::BoundingBoxImpl | ( | value_type | xmin, | |
value_type | ymin, | |||
value_type | zmin, | |||
value_type | xmax, | |||
value_type | ymax, | |||
value_type | zmax | |||
) | [inline] |
Creates a bounding box initialized to the given extents.
osg::BoundingBoxImpl< VT >::BoundingBoxImpl | ( | const vec_type & | min, | |
const vec_type & | max | |||
) | [inline] |
Creates a bounding box initialized to the given extents.
void osg::BoundingBoxImpl< VT >::init | ( | ) | [inline] |
Clear the bounding box. Erases existing minimum and maximum extents.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
bool osg::BoundingBoxImpl< VT >::valid | ( | ) | const [inline] |
Returns true if the bounding box extents are valid, false otherwise.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingBoxImpl< VT >::contains(), osg::BoundingSphereImpl< VT >::expandBy(), osg::BoundingBoxImpl< VT >::expandBy(), osg::BoundingSphereImpl< VT >::expandRadiusBy(), and osg::CullStack::isCulled().
void osg::BoundingBoxImpl< VT >::set | ( | value_type | xmin, | |
value_type | ymin, | |||
value_type | zmin, | |||
value_type | xmax, | |||
value_type | ymax, | |||
value_type | zmax | |||
) | [inline] |
Sets the bounding box extents.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
void osg::BoundingBoxImpl< VT >::set | ( | const vec_type & | min, | |
const vec_type & | max | |||
) | [inline] |
Sets the bounding box extents.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
value_type& osg::BoundingBoxImpl< VT >::xMin | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::xMin | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_min.
value_type& osg::BoundingBoxImpl< VT >::yMin | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::yMin | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_min.
value_type& osg::BoundingBoxImpl< VT >::zMin | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::zMin | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_min.
value_type& osg::BoundingBoxImpl< VT >::xMax | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_max.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::xMax | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_max.
value_type& osg::BoundingBoxImpl< VT >::yMax | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_max.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::yMax | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_max.
value_type& osg::BoundingBoxImpl< VT >::zMax | ( | ) | [inline] |
References osg::BoundingBoxImpl< VT >::_max.
Referenced by osg::BoundingBoxImpl< VT >::intersect(), osg::BoundingBoxImpl< VT >::intersects(), and osg::Polytope::setToBoundingBox().
value_type osg::BoundingBoxImpl< VT >::zMax | ( | ) | const [inline] |
References osg::BoundingBoxImpl< VT >::_max.
const vec_type osg::BoundingBoxImpl< VT >::center | ( | ) | const [inline] |
Calculates and returns the bounding box center.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingSphereImpl< VT >::expandBy(), and osg::BoundingSphereImpl< VT >::expandRadiusBy().
value_type osg::BoundingBoxImpl< VT >::radius | ( | ) | const [inline] |
Calculates and returns the bounding box radius.
References osg::BoundingBoxImpl< VT >::radius2().
Referenced by osg::BoundingSphereImpl< VT >::expandBy(), and osg::BoundingSphereImpl< VT >::expandRadiusBy().
value_type osg::BoundingBoxImpl< VT >::radius2 | ( | ) | const [inline] |
Calculates and returns the squared length of the bounding box radius. Note, radius2() is faster to calculate than radius().
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingBoxImpl< VT >::radius().
const vec_type osg::BoundingBoxImpl< VT >::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.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingSphereImpl< VT >::expandBy(), osg::BoundingSphereImpl< VT >::expandRadiusBy(), and osg::Plane::intersect().
void osg::BoundingBoxImpl< VT >::expandBy | ( | const vec_type & | v | ) | [inline] |
Expands the bounding box to include the given coordinate. If the box is uninitialized, set its min and max extents to v.
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
Referenced by osg::BoundingSphereImpl< VT >::expandBy().
void osg::BoundingBoxImpl< VT >::expandBy | ( | value_type | x, | |
value_type | y, | |||
value_type | 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).
References osg::BoundingBoxImpl< VT >::_max, and osg::BoundingBoxImpl< VT >::_min.
void osg::BoundingBoxImpl< VT >::expandBy | ( | const BoundingBoxImpl< VT > & | bb | ) | [inline] |
Expands this bounding box to include the given bounding box. If this box is uninitialized, set it equal to bb.
References osg::BoundingBoxImpl< VT >::_max, osg::BoundingBoxImpl< VT >::_min, and osg::BoundingBoxImpl< VT >::valid().
void osg::BoundingBoxImpl< VT >::expandBy | ( | const BoundingSphereImpl< VT > & | sh | ) | [inline] |
Expands this bounding box to include the given sphere. If this box is uninitialized, set it to include sh.
References osg::BoundingSphereImpl< VT >::_center, osg::BoundingBoxImpl< VT >::_max, osg::BoundingBoxImpl< VT >::_min, osg::BoundingSphereImpl< VT >::_radius, and osg::BoundingSphereImpl< VT >::valid().
BoundingBoxImpl osg::BoundingBoxImpl< VT >::intersect | ( | const BoundingBoxImpl< VT > & | bb | ) | const [inline] |
Returns the intersection of this bounding box and the specified bounding box.
References osg::BoundingBoxImpl< VT >::BoundingBoxImpl(), osg::maximum(), osg::minimum(), osg::BoundingBoxImpl< VT >::xMax(), osg::BoundingBoxImpl< VT >::xMin(), osg::BoundingBoxImpl< VT >::yMax(), osg::BoundingBoxImpl< VT >::yMin(), osg::BoundingBoxImpl< VT >::zMax(), and osg::BoundingBoxImpl< VT >::zMin().
bool osg::BoundingBoxImpl< VT >::intersects | ( | const BoundingBoxImpl< VT > & | bb | ) | const [inline] |
Return true if this bounding box intersects the specified bounding box.
References osg::maximum(), osg::minimum(), osg::BoundingBoxImpl< VT >::xMax(), osg::BoundingBoxImpl< VT >::xMin(), osg::BoundingBoxImpl< VT >::yMax(), osg::BoundingBoxImpl< VT >::yMin(), osg::BoundingBoxImpl< VT >::zMax(), and osg::BoundingBoxImpl< VT >::zMin().
bool osg::BoundingBoxImpl< VT >::contains | ( | const vec_type & | v | ) | const [inline] |
Returns true if this bounding box contains the specified coordinate.
References osg::BoundingBoxImpl< VT >::_max, osg::BoundingBoxImpl< VT >::_min, and osg::BoundingBoxImpl< VT >::valid().
vec_type osg::BoundingBoxImpl< VT >::_min |
Minimum extent. (Smallest X, Y, and Z values of all coordinates.)
Referenced by osg::BoundingBoxImpl< VT >::center(), osg::BoundingBoxImpl< VT >::contains(), osg::BoundingBoxImpl< VT >::corner(), osg::BoundingBoxImpl< VT >::expandBy(), osg::BoundingBoxImpl< VT >::init(), osg::BoundingBoxImpl< VT >::radius2(), osg::BoundingBoxImpl< VT >::set(), osg::BoundingBoxImpl< VT >::valid(), osg::BoundingBoxImpl< VT >::xMin(), osg::BoundingBoxImpl< VT >::yMin(), and osg::BoundingBoxImpl< VT >::zMin().
vec_type osg::BoundingBoxImpl< VT >::_max |
Maximum extent. (Greatest X, Y, and Z values of all coordinates.)
Referenced by osg::BoundingBoxImpl< VT >::center(), osg::BoundingBoxImpl< VT >::contains(), osg::BoundingBoxImpl< VT >::corner(), osg::BoundingBoxImpl< VT >::expandBy(), osg::BoundingBoxImpl< VT >::init(), osg::BoundingBoxImpl< VT >::radius2(), osg::BoundingBoxImpl< VT >::set(), osg::BoundingBoxImpl< VT >::valid(), osg::BoundingBoxImpl< VT >::xMax(), osg::BoundingBoxImpl< VT >::yMax(), and osg::BoundingBoxImpl< VT >::zMax().