Public Methods | |
BoundingSphere () | |
construct to invalid values to represent an unset bounding sphere. | |
BoundingSphere (const Vec3 ¢er, float radius) | |
construct to specified bounding sphere. | |
void | init () |
initialize to invalid values to represent an unset bounding sphere. | |
const bool | valid () const |
return true if the bounding sphere contains valid values, false if the bounding sphere is effectively unset. | |
void | set (const Vec3 ¢er, float radius) |
set bounding sphere. | |
Vec3 & | center () |
return the center of the bounding sphere. | |
const Vec3 & | center () const |
return the const center of the bounding sphere. | |
float & | radius () |
return the radius of the bounding sphere. | |
const float | radius () const |
return the const radius of the bounding sphere. | |
const float | radius2 () const |
return the radius squared. | |
void | expandBy (const Vec3 &v) |
If the vertex is out-with the sphere expand to encompass vertex. | |
void | expandRadiusBy (const Vec3 &v) |
If the vertex is outwith the sphere expand radius to ecompass vertex. | |
void | expandBy (const BoundingSphere &sh) |
If incomming sphere is outwith the sphere expand to ecompass incomming sphere. | |
void | expandRadiusBy (const BoundingSphere &sh) |
If incomming sphere is outwith the sphere expand radius to ecompass incomming sphere. | |
void | expandBy (const BoundingBox &bb) |
If incomming box is outwith the sphere expand to ecompass incomming box. | |
void | expandRadiusBy (const BoundingBox &bb) |
If incomming box is outwith the sphere expand radius to ecompass incomming box. | |
const bool | contains (const Vec3 &v) const |
return true is vertex v is within the sphere. | |
const bool | intersects (const BoundingSphere &bs) const |
return true if bounding sphere's intersect each other. | |
Public Attributes | |
Vec3 | _center |
float | _radius |
Used to bound internal osg::Node's in the scene, to assist in view frustum culling etc. Similar in function to BoundingBox but is quicker for evaluating culling, but generally encloses a greater volume than a BoundingBox so will not cull so aggressively.
|
construct to invalid values to represent an unset bounding sphere.
|
|
construct to specified bounding sphere.
|
|
return the const center of the bounding sphere.
|
|
return the center of the bounding sphere.
|
|
return true is vertex v is within the sphere.
|
|
If incomming box is outwith the sphere expand to ecompass incomming box. calculates the combination of movement of center and radius which minimizes the radius increase. If this boz is empty then move the centrer to v and set radius to 0. |
|
If incomming sphere is outwith the sphere expand to ecompass incomming sphere. calculates the combination of movement of center and radius which minimizes the radius increase. If this sphere is empty then move the centrer to v and set radius to 0. |
|
If the vertex is out-with the sphere expand to encompass vertex. Calculates the combination of movement of center and radius which minimizes the radius increase. If this sphere is empty then move the center to v and set radius to 0. |
|
If incomming box is outwith the sphere expand radius to ecompass incomming box. Unlike update, does not move the center, just increasing the radius. If this sphere is empty then move the centrer to v and set radius to 0. |
|
If incomming sphere is outwith the sphere expand radius to ecompass incomming sphere. Unlike update, does not move the center, just increasing the radius. If this sphere is empty then move the centrer to v and set radius to 0. |
|
If the vertex is outwith the sphere expand radius to ecompass vertex. Unlike update, does not move the center, just increasing the radius. If this sphere is empty then move the centrer to v and set radius to 0 |
|
initialize to invalid values to represent an unset bounding sphere.
|
|
return true if bounding sphere's intersect each other.
|
|
return the const radius of the bounding sphere.
|
|
return the radius of the bounding sphere.
|
|
return the radius squared. Note, for performance reasons, assumes the calling method has ensured that the sphere is valid before calling radius2(), i.e. has _radius>=0.0, as it does not check th validity of sphere and will erroneously return a positive value. |
|
set bounding sphere.
|
|
return true if the bounding sphere contains valid values, false if the bounding sphere is effectively unset.
|
|
|
|
|