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]inline BoundingBox()
construct to invalid values to represent an unset bounding box
[more]inline BoundingBox(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
construct to with specified min and max values
[more]inline BoundingBox(const Vec3& min, const Vec3& max)
construct to with specified min and max values
[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 void set(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
[more]inline void set(const Vec3& min, const Vec3& max)
construct to with specified min and max values
[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 out-with the box expand to encompass vertex.
[more]void expandBy(const BoundingBox& bb)
If incoming box is out-with the box expand to encompass incoming box.
[more]void expandBy(const BoundingSphere& sh)
If incoming sphere is out-with the box expand to encompass incoming 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

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

oinline BoundingBox(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
construct to with specified min and max values

oinline BoundingBox(const Vec3& min, const Vec3& max)
construct to with specified min and max values

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 void set(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)

oinline void set(const Vec3& min, const Vec3& max)
construct to with specified min and max values

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 specified 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 out-with the box expand to encompass vertex. If this box is empty then move set this box's min max to vertex.

ovoid expandBy(const BoundingBox& bb)
If incoming box is out-with the box expand to encompass incoming box. If this box is empty then move set this box to incoming box.

ovoid expandBy(const BoundingSphere& sh)
If incoming sphere is out-with the box expand to encompass incoming 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++.