#import <CC3BoundingVolumes.h>
Instance Methods | |
(id) | - initByCircumscribingBox: |
(id) | - initFromSphere:andBox: |
(id) | - initWithSphereVolume:andBoxVolume: |
Instance Methods inherited from CC3NodeBoundingVolume | |
(CCColorRef) | - displayNodeColor |
(CCOpacity) | - displayNodeOpacity |
(BOOL) | - doesIntersectFrustum: |
(CC3Vector) | - locationOfRayIntesection: |
(void) | - markTransformDirty |
(void) | - scaleBy: |
Instance Methods inherited from CC3BoundingVolume | |
(BOOL) | - doesIntersect: |
(BOOL) | - doesIntersectConvexHullOf:planes: |
(BOOL) | - doesIntersectConvexHullOf:planes:from: |
(BOOL) | - doesIntersectLocation: |
(BOOL) | - doesIntersectRay: |
(BOOL) | - doesIntersectSphere: |
(BOOL) | - doesIntersectSphere:from: |
(NSString *) | - fullDescription |
(CC3Vector) | - globalLocationOfGlobalRayIntesection: |
(BOOL) | - isInFrontOfPlane: |
(void) | - markDirty |
(void) | - populateFrom: |
Class Methods | |
(id) | + __deprecated |
(id) | + boundingVolume |
(id) | + boundingVolumeCircumscribingBox: |
(id) | + boundingVolumeFromSphere:andBox: |
(id) | + boundingVolumeWithSphereVolume:andBoxVolume: |
Properties | |
CC3NodeBoxBoundingVolume * | boxBoundingVolume |
CC3NodeSphericalBoundingVolume * | sphericalBoundingVolume |
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 |
CC3NodeSphereThenBoxBoundingVolume is a CC3NodeBoundingVolume that contains a CC3NodeSphericalBoundingVolume and a CC3NodeBoxBoundingVolume.
The effective spacial volume defined by this bounding volume is the intersection space of the spherical and box volumes. Therefore, a point must lie within BOTH the sphere and the box to be considered contained within this bounding volume.
The spherical bounding volume is tested first, and if it passes, the bounding box volume is tested next. This combination benefits from the fast testing capabilities of the spherical bounding volume to reject obvious intersection failures, and from the bounding box's more accurate volume coverage on most meshes.
+ (id) __deprecated |
+ (id) boundingVolume |
Allocates and initializes an autoreleased instance containing a standard CC3NodeSphericalBoundingVolume and a standard CC3NodeBoxBoundingVolume.
Implements CC3BoundingVolume.
+ (id) boundingVolumeCircumscribingBox: | (CC3Box) | box |
Allocates and returns an autoreleased instance containing spherical and box bounding volumes created from the specified box.
The spherical bounding volume is created by circumscribing the box.
Initializes this instance containing spherical and box bounding volumes created from the specified sphere and box, respectively.
The sphere and box 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.
+ (id) boundingVolumeWithSphereVolume: | (CC3NodeSphericalBoundingVolume *) | sphereBV | |
andBoxVolume: | (CC3NodeBoxBoundingVolume *) | boxBV | |
Allocates and returns an autoreleased instance containing the specified bounding volumes.
- (id) initByCircumscribingBox: | (CC3Box) | box |
Initializes this instance containing spherical and box bounding volumes created from the specified box.
The spherical bounding volume is created by circumscribing the box.
Allocates and returns an autoreleased instance containing spherical and box bounding volumes created from the specified sphere and box, respectively.
The sphere and box 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.
- (id) initWithSphereVolume: | (CC3NodeSphericalBoundingVolume *) | sphereBV | |
andBoxVolume: | (CC3NodeBoxBoundingVolume *) | boxBV | |
Initializes this instance containing the specified bounding volumes.
|
readnonatomicretain |
The box bounding volume that is tested only if the test against the spherical bounding volume passes.
|
readnonatomicretain |
The spherical bounding volume that is tested first.