## class SG_EXPORT osg::BoundingBox

> 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.
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.

`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++.