v2.0.2
Instance Methods | Class Methods | Properties | List of all members
CC3NodeSphereThenBoxBoundingVolume Class Reference

#import <CC3BoundingVolumes.h>

Inheritance diagram for CC3NodeSphereThenBoxBoundingVolume:
Inheritance graph
[legend]

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

CC3NodeBoxBoundingVolumeboxBoundingVolume
 
CC3NodeSphericalBoundingVolumesphericalBoundingVolume
 
- Properties inherited from CC3NodeBoundingVolume
CC3Vector centerOfGeometry
 
CC3Vector globalCenterOfGeometry
 
BOOL isTransformDirty
 
CC3Nodenode
 
BOOL shouldBuildFromMesh
 
BOOL shouldDraw
 
BOOL shouldMaximize
 
- Properties inherited from CC3BoundingVolume
BOOL isDirty
 
GLuint planeCount
 
CC3Planeplanes
 
BOOL shouldIgnoreRayIntersection
 
BOOL shouldLogIntersectionMisses
 
BOOL shouldLogIntersections
 
GLuint vertexCount
 
CC3Vectorvertices
 

Detailed Description

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.

Method Documentation

+ (id) __deprecated
Deprecated:
Use boundingVolume instead.
+ (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.

+ (id) boundingVolumeFromSphere: (CC3Sphere sphere
andBox: (CC3Box 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.

- (id) initFromSphere: (CC3Sphere sphere
andBox: (CC3Box 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.

Property Documentation

- (CC3NodeBoxBoundingVolume*) boxBoundingVolume
readnonatomicretain

The box bounding volume that is tested only if the test against the spherical bounding volume passes.

- (CC3NodeSphericalBoundingVolume*) sphericalBoundingVolume
readnonatomicretain

The spherical bounding volume that is tested first.


The documentation for this class was generated from the following file: