General purpose axis-aligned bounding box class for enclosing objects/vertices.
Public Fields
-
Vec3 _min
- The corner with the smallest values for each coordinate of the bounding box
-
Vec3 _max
- The corner with the largest values for each coordinate of the bounding box
Public Methods
-
inline BoundingBox()
- construct to invalid values to represent an unset bounding box
-
inline BoundingBox(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
- construct to with specified min and max values
-
inline BoundingBox(const Vec3& min, const Vec3& max)
- construct to with specified min and max values
-
inline void init()
- initialize to invalid values to represent an unset bounding box
-
inline bool valid() const
-
inline void set(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
-
inline void set(const Vec3& min, const Vec3& max)
- construct to with specified min and max values
-
inline float& xMin()
-
inline float xMin() const
-
inline float& yMin()
-
inline float yMin() const
-
inline float& zMin()
-
inline float zMin() const
-
inline float& xMax()
-
inline float xMax() const
-
inline float& yMax()
-
inline float yMax() const
-
inline float& zMax()
-
inline float zMax() const
-
inline const Vec3 center() const
- Calculate and return the center of the bounding box
-
inline float radius() const
- Calculate and return the radius of the bounding box
-
inline float radius2() const
- Calculate and return the radius squared of the bounding box.
-
inline const Vec3 corner(unsigned int pos) const
- return the corner of the bounding box.
-
inline void expandBy(const Vec3& v)
- If the vertex is out-with the box expand to encompass vertex.
-
inline void expandBy(float x, float y, float z)
- If the vertex is out-with the box expand to encompass vertex.
-
void expandBy(const BoundingBox& bb)
- If incoming box is out-with the box expand to encompass incoming box.
-
void expandBy(const BoundingSphere& sh)
- If incoming sphere is out-with the box expand to encompass incoming sphere.
-
BoundingBox intersect(const BoundingBox& bb) const
- Compute the intesection of this bounding box with the specified bounding box
-
bool intersects(const BoundingBox& bb) const
- return true if this bounding box with the specified bounding box
-
inline 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::Drawable's to assist in view frustum culling etc.
- Vec3 _min
- The corner with the smallest values for each coordinate of the
bounding box
- Vec3 _max
- The corner with the largest values for each coordinate of the
bounding box
- inline BoundingBox()
- construct to invalid values to represent an unset bounding box
- inline BoundingBox(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
- construct to with specified min and max values
- inline BoundingBox(const Vec3& min, const Vec3& max)
- construct to with specified min and max values
- inline void init()
- initialize to invalid values to represent an unset bounding box
- inline bool valid() const
- inline void set(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
- inline void set(const Vec3& min, const Vec3& max)
- construct to with specified min and max values
- inline float& xMin()
- inline float xMin() const
- inline float& yMin()
- inline float yMin() const
- inline float& zMin()
- inline float zMin() const
- inline float& xMax()
- inline float xMax() const
- inline float& yMax()
- inline float yMax() const
- inline float& zMax()
- inline float zMax() const
- inline const Vec3 center() const
- Calculate and return the center of the bounding box
- inline float radius() const
- Calculate and return the radius of the bounding box
- inline float radius2() const
- Calculate and return the radius squared of the bounding box.
Note, radius2() is faster to calculate than radius().
- inline 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.
- inline void 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.
- inline void expandBy(float x, float y, float z)
- 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.
- void 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.
- void 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.
- BoundingBox intersect(const BoundingBox& bb) const
- Compute the intesection of this bounding box with the specified bounding box
- bool intersects(const BoundingBox& bb) const
- return true if this bounding box with the specified bounding box
- inline 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++.