Public Member Functions | |
BoundingSphere () | |
Construct a default bounding sphere with radius to -1.0f, representing an invalid/unset bounding sphere. | |
BoundingSphere (const Vec3 ¢er, float radius) | |
Creates a bounding sphere initialized to the given extents. | |
BoundingSphere (const BoundingSphere &bs) | |
Creates a bounding sphere initialized to the given extents. | |
BoundingSphere (const BoundingBox &bb) | |
Creates a bounding sphere initialized to the given extents. | |
void | init () |
Clear the bounding sphere. | |
bool | valid () const |
Returns true of the bounding sphere extents are valid, false otherwise. | |
void | set (const Vec3 ¢er, float radius) |
Set the bounding sphere to the given center/radius. | |
Vec3 & | center () |
Returns the center of the bounding sphere. | |
const Vec3 & | center () const |
Returns the const center of the bounding sphere. | |
float & | radius () |
Returns the radius of the bounding sphere. | |
float | radius () const |
Returns the const radius of the bounding sphere. | |
float | radius2 () const |
Returns the squared length of the radius. | |
void | expandBy (const Vec3 &v) |
Expands the sphere to encompass the given point. | |
void | expandRadiusBy (const Vec3 &v) |
Expands the sphere to encompass the given point. | |
void | expandBy (const BoundingSphere &sh) |
Expands the sphere to encompass the given sphere. | |
void | expandRadiusBy (const BoundingSphere &sh) |
Expands the sphere to encompass the given sphere. | |
void | expandBy (const BoundingBox &bb) |
Expands the sphere to encompass the given box. | |
void | expandRadiusBy (const BoundingBox &bb) |
Expands the sphere to encompass the given box. | |
bool | contains (const Vec3 &v) const |
Returns true if v is within the sphere. | |
bool | intersects (const BoundingSphere &bs) const |
Returns true if there is a non-empty intersection with the given bounding sphere. | |
Public Attributes | |
Vec3 | _center |
float | _radius |
Bounds internal osg::Nodes in the scene, assists in view frustum culling, etc. Similar in function to BoundingBox, it's quicker for evaluating culling but generally will not cull as aggressively because it encloses a greater volume.
osg::BoundingSphere::BoundingSphere | ( | ) | [inline] |
Construct a default bounding sphere with radius to -1.0f, representing an invalid/unset bounding sphere.
osg::BoundingSphere::BoundingSphere | ( | const Vec3 & | center, | |
float | radius | |||
) | [inline] |
Creates a bounding sphere initialized to the given extents.
osg::BoundingSphere::BoundingSphere | ( | const BoundingSphere & | bs | ) | [inline] |
Creates a bounding sphere initialized to the given extents.
osg::BoundingSphere::BoundingSphere | ( | const BoundingBox & | bb | ) | [inline] |
Creates a bounding sphere initialized to the given extents.
void osg::BoundingSphere::init | ( | ) | [inline] |
Clear the bounding sphere.
Reset to default values.
bool osg::BoundingSphere::valid | ( | ) | const [inline] |
Returns true of the bounding sphere extents are valid, false otherwise.
void osg::BoundingSphere::set | ( | const Vec3 & | center, | |
float | radius | |||
) | [inline] |
Set the bounding sphere to the given center/radius.
Vec3& osg::BoundingSphere::center | ( | ) | [inline] |
Returns the center of the bounding sphere.
const Vec3& osg::BoundingSphere::center | ( | ) | const [inline] |
Returns the const center of the bounding sphere.
float& osg::BoundingSphere::radius | ( | ) | [inline] |
Returns the radius of the bounding sphere.
float osg::BoundingSphere::radius | ( | ) | const [inline] |
Returns the const radius of the bounding sphere.
float osg::BoundingSphere::radius2 | ( | ) | const [inline] |
Returns the squared length of the radius.
Note, For performance reasons, the calling method is responsible for checking to make sure the sphere is valid.
void osg::BoundingSphere::expandBy | ( | const Vec3 & | v | ) |
Expands the sphere to encompass the given point.
Repositions the sphere center to minimize the radius increase. If the sphere is uninitialized, set its center to v and radius to zero.
void osg::BoundingSphere::expandRadiusBy | ( | const Vec3 & | v | ) |
Expands the sphere to encompass the given point.
Does not reposition the sphere center. If the sphere is uninitialized, set its center to v and radius to zero.
void osg::BoundingSphere::expandBy | ( | const BoundingSphere & | sh | ) |
Expands the sphere to encompass the given sphere.
Repositions the sphere center to minimize the radius increase. If the sphere is uninitialized, set its center and radius to match sh.
void osg::BoundingSphere::expandRadiusBy | ( | const BoundingSphere & | sh | ) |
Expands the sphere to encompass the given sphere.
Does not repositions the sphere center. If the sphere is uninitialized, set its center and radius to match sh.
void osg::BoundingSphere::expandBy | ( | const BoundingBox & | bb | ) |
Expands the sphere to encompass the given box.
Repositions the sphere center to minimize the radius increase.
void osg::BoundingSphere::expandRadiusBy | ( | const BoundingBox & | bb | ) |
Expands the sphere to encompass the given box.
Does not repositions the sphere center.
bool osg::BoundingSphere::contains | ( | const Vec3 & | v | ) | const [inline] |
Returns true if v is within the sphere.
bool osg::BoundingSphere::intersects | ( | const BoundingSphere & | bs | ) | const [inline] |
Returns true if there is a non-empty intersection with the given bounding sphere.