#import <CC3BoundingVolumes.h>
Instance Methods  
(BOOL)   doesIntersect: 
(BOOL)   doesIntersectConvexHullOf:planes:from: 
(BOOL)   doesIntersectLocation: 
(BOOL)   doesIntersectRay: 
(BOOL)   doesIntersectSphere:from: 
(id)   initFromSphere: 
(BOOL)   isInFrontOfPlane: 
Instance Methods inherited from CC3NodeBoundingVolume  
(CCColorRef)   displayNodeColor 
(CCOpacity)   displayNodeOpacity 
(BOOL)   doesIntersectFrustum: 
(CC3Vector)   locationOfRayIntesection: 
(void)   markTransformDirty 
(void)   scaleBy: 
Instance Methods inherited from CC3BoundingVolume  
(BOOL)   doesIntersectConvexHullOf:planes: 
(BOOL)   doesIntersectSphere: 
(NSString *)   fullDescription 
(CC3Vector)   globalLocationOfGlobalRayIntesection: 
(void)   markDirty 
(void)   populateFrom: 
Class Methods  
(id)  + boundingVolumeFromSphere: 
Properties  
GLfloat  globalRadius 
CC3Sphere  globalSphere 
GLfloat  radius 
CC3Sphere  sphere 
Properties inherited from CC3NodeBoundingVolume  
CC3Vector  centerOfGeometry 
CC3Vector  globalCenterOfGeometry 
BOOL  isTransformDirty 
CC3Node *  node 
BOOL  shouldBuildFromMesh 
BOOL  shouldDraw 
BOOL  shouldMaximize 
Properties inherited from CC3BoundingVolume  
BOOL  isDirty 
GLuint  planeCount 
CC3Plane *  planes 
BOOL  shouldIgnoreRayIntersection 
BOOL  shouldLogIntersectionMisses 
BOOL  shouldLogIntersections 
GLuint  vertexCount 
CC3Vector *  vertices 
A bounding volume that forms a sphere around a single point.
When applied to a node, the center of the sphere is the node's center of geometry, and this class indicates that the node intersects another bounding volume if any part of the sphere intersects that bounding volume.
The radius of the sphere must cover the node, and is scaled automatically to match the globalScale of the node. For meshes, the center of geometry and local radius are calculated from the vertex locations. For other nodes, the center of gravity and radius can be set directly within the bounding volume via their respective properties.
+ (id) boundingVolumeFromSphere:  (CC3Sphere)  sphere 
Allocates and initializes an autoreleased instance from the specified sphere, and sets the shouldBuildFromMesh property to NO.
The sphere dimensions are specified in the coordinate system of the node. The resulting bounding volume is fixed to the sizes provided, and will not take into consideration the vertices of the mesh. It will, however, transform along with the node, as the node is transformed.
 (BOOL) doesIntersect:  (CC3BoundingVolume *)  aBoundingVolume 
Returns whether this bounding volume intersects the specfied other bounding volume.
This implementation tests whether the globalSphere of this bounding volume intersects the other bounding volume, by doubledispatching to the doesIntersectSphere:from: method of the other bounding volume, passing this bounding volume's globalSphere as the sphere to test, and passing this bounding volume as the otherBoundingVolume argument to that method.
Implements CC3BoundingVolume.
 (BOOL) doesIntersectConvexHullOf:  (GLuint)  numOtherPlanes  
planes:  (CC3Plane *)  otherPlanes  
from:  (CC3BoundingVolume *)  otherBoundingVolume  
Returns whether a convex hull composed of the specified global planes intersects this bounding volume.
The planes may be the face planes of a mesh, or they may be the sides of an oriented bounding box (OBB), or frustum, etc.
Returns whether the globalSphere of this bounding volume intersects the convex hull defined by the specified planes. To be so, the globalCenterOfGeometry of this bounding volume must be no farther away than the globalRadius from the front face of every one of the specified planes.
This implementation ignores the otherBoundingVolume argument.
Implements CC3BoundingVolume.
 (BOOL) doesIntersectLocation:  (CC3Vector)  aLocation 
Returns whether the specified global location intersects (is inside) this bounding volume.
Returns whether the specified location is contained within the globalSphere of this bounding volume.
Implements CC3BoundingVolume.
 (BOOL) doesIntersectRay:  (CC3Ray)  aRay 
Returns whether the specified globalcoordinate ray intersects this bounding volume.
Returns whether the specified ray intersects the globalSphere of this bounding volume.
The operation of this method is affected by the shouldIgnoreRayIntersection property. If that property is set to YES, this method will always return NO. See the notes of the shouldIgnoreRayIntersection property for more info.
Implements CC3BoundingVolume.
 (BOOL) doesIntersectSphere:  (CC3Sphere)  aSphere  
from:  (CC3BoundingVolume *)  otherBoundingVolume  
Returns whether the specified globalcoordinate sphere intersects this bounding volume.
Returns whether the specified sphere intersects the globalSphere of this bounding volume.
This implementation ignores the otherBoundingVolume argument.
Implements CC3BoundingVolume.
 (id) initFromSphere:  (CC3Sphere)  sphere 
Initializes this instance from the specified sphere, and sets the shouldBuildFromMesh property to NO.
The sphere dimensions are specified in the coordinate system of the node. The resulting bounding volume is fixed to the sizes provided, and will not take into consideration the vertices of the mesh. It will, however, transform along with the node, as the node is transformed.
 (BOOL) isInFrontOfPlane:  (CC3Plane)  aPlane 
Returns whether this bounding volume lies completely outside the specified normalized global coordinate plane.
This method returns YES if the bounding volume lies completely on the side of the plane from which the plane normal points. It returns NO if this bounding volume intersects the plane or lies completely on the opposite side of the plane.
Returns whether the globalCenterOfGeometry of this bounding volume is farther away than the globalRadius from the side of the plane from which the normal points.
Implements CC3BoundingVolume.

readnonatomicassign 
The radius that encompasses the extent of the node in the global coordinate system, as measured from the global center of geometry of this instance.

readnonatomicassign 
Returns a sphere constructed from the globalCenterOfGeometry and the globalRadius properties.

readwritenonatomicassign 
The radius that encompasses the extent of the node in the node's local coordinate system, as measured from the center of geometry of this instance.
For mesh nodes, the value of this property is automatically calculated from the vertex locations, via specialized subclasses of CC3NodeBoundingVolume used for meshes. For other nodes, this property can be set directly, if needed.
You can also set this property directly for mesh nodes as well. Doing so will override the value that was calculated automatically. This can be useful when the vertices will be changing frequently, and therefore the bounding volume will need to be recalculated frequently. By setting this property to a value that suits all possible vertex configurations, you can avoid expensive recalculations of the bounding volume as the vertices change.
Setting the value of this property sets the shouldBuildFromMesh property to NO, so that the radius will not be overridden if the vertices of the mesh change.
The initial value of this property is zero.

readnonatomicassign 
Returns a sphere constructed from the centerOfGeometry and the radius properties.