class SG_EXPORT osg::BoundingBox

General purpose axis-aligned bounding box class for enclosing objects/vertices.

Public Fields

[more]Vec3 _min
The corner with the smallest values for each coordinate of the bounding box
[more]Vec3 _max
The corner with the largest values for each coordinate of the bounding box

Public Methods

[more] BoundingBox()
construct to invalid values to represent an unset bounding box
[more]inline void init()
initialize to invalid values to represent an unset bounding box
[more]inline const bool isValid() const
return true if the bounding box contains valid values, false if the bounding box is effectively unset/empty
[more]inline float& xMin()
[more]inline const float xMin() const
[more]inline float& yMin()
[more]inline const float yMin() const
[more]inline float& zMin()
[more]inline const float zMin() const
[more]inline float& xMax()
[more]inline const float xMax() const
[more]inline float& yMax()
[more]inline const float yMax() const
[more]inline float& zMax()
[more]inline const float zMax() const
[more]inline const Vec3 center() const
Calculate and return the center of the bounding box
[more]inline const float radius() const
Calculate and return the radius of the bounding box
[more]inline const float radius2() const
Calculate and return the radius squared of the bounding box.
[more]inline const Vec3 corner(unsigned int pos) const
return the corner of the bounding box.
[more]void expandBy(const Vec3& v)
If the vertex is outwith the box expand to ecompass vertex.
[more]void expandBy(const BoundingBox& bb)
If incomming box is outwith the box expand to ecompass incomming box.
[more]void expandBy(const BoundingSphere& sh)
If incomming sphere is outwith the box expand to ecompass incomming sphere.
[more]inline const bool contains(const Vec3& v) const
return true is vertex v is within the box


Documentation

General purpose axis-aligned bounding box class for enclosing objects/vertices. Used to bounding the leaf objects in the scene, i.e. osg::GeoSet's to assist in view frustum culling etc.
oVec3 _min
The corner with the smallest values for each coordinate of the bounding box

oVec3 _max
The corner with the largest values for each coordinate of the bounding box

o BoundingBox()
construct to invalid values to represent an unset bounding box

oinline void init()
initialize to invalid values to represent an unset bounding box

oinline const bool isValid() const
return true if the bounding box contains valid values, false if the bounding box is effectively unset/empty

oinline float& xMin()

oinline const float xMin() const

oinline float& yMin()

oinline const float yMin() const

oinline float& zMin()

oinline const float zMin() const

oinline float& xMax()

oinline const float xMax() const

oinline float& yMax()

oinline const float yMax() const

oinline float& zMax()

oinline const float zMax() const

oinline const Vec3 center() const
Calculate and return the center of the bounding box

oinline const float radius() const
Calculate and return the radius of the bounding box

oinline const float radius2() const
Calculate and return the radius squared of the bounding box. Note, radius2() is faster to calculate than radius().

oinline const Vec3 corner(unsigned int pos) const
return the corner of the bounding box. Position (pos) is specfied by a number between 0 and 7, the first bit toggles between x min and x max, second bit toggles between y min and y max, third bit toggles between z min and z max.

ovoid expandBy(const Vec3& v)
If the vertex is outwith the box expand to ecompass vertex. If this box is empty then move set this box's min max to vertex.

ovoid expandBy(const BoundingBox& bb)
If incomming box is outwith the box expand to ecompass incomming box. If this box is empty then move set this box to incomming box.

ovoid expandBy(const BoundingSphere& sh)
If incomming sphere is outwith the box expand to ecompass incomming sphere. If this box is empty then move set this box to encompass the sphere.

oinline const bool contains(const Vec3& v) const
return true is vertex v is within the box


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.