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

#import <CC3BoundingVolumes.h>

Inheritance diagram for CC3NodeInfiniteBoundingVolume:
Inheritance graph
[legend]

Instance Methods

(BOOL) - doesIntersect:
 
(BOOL) - doesIntersectConvexHullOf:planes:from:
 
(BOOL) - doesIntersectLocation:
 
(BOOL) - doesIntersectRay:
 
(BOOL) - doesIntersectSphere:from:
 
(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:
 

Properties

BOOL shouldDraw
 
- 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
 

Additional Inherited Members

- Class Methods inherited from CC3BoundingVolume
(id) + boundingVolume
 

Detailed Description

A bounding volume that forms a volume of infinite size.

When applied to a node, this volume will always intersect all other bounding volumes, and will always be considered inside the camera's frustum.

Although not useful for collision detection, or testing points and rays, this bounding volume ensures that its node will never be clipped by the camera frustum, and will always be drawn.

This bounding volume can be used for nodes that do not have an easily encapsulated bounding volume, such as certain particle generators. And it can also be useful during the development of new node types that do not use one of the standard bounding volumes.

Method Documentation

- (BOOL) doesIntersect: (CC3BoundingVolume *)  aBoundingVolume

Returns whether this bounding volume intersects the specfied other bounding volume.

This implementation always returns YES.

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.

This implementation always returns YES.

Implements CC3BoundingVolume.

- (BOOL) doesIntersectLocation: (CC3Vector aLocation

Returns whether the specified global location intersects (is inside) this bounding volume.

This implementation always returns YES.

Implements CC3BoundingVolume.

- (BOOL) doesIntersectRay: (CC3Ray aRay

Returns whether the specified global-coordinate ray intersects this bounding volume.

This implementation always returns YES, unless the shouldIgnoreRayIntersection property is set to YES, in which case 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 global-coordinate sphere intersects this bounding volume.

This implementation always returns YES.

Implements CC3BoundingVolume.

- (BOOL) isInFrontOfPlane: (CC3Plane aPlane

Returns whether this bounding volume lies completely outside the specified normalized global coordinate plane.

This implementation always returns NO.

Implements CC3BoundingVolume.

Property Documentation

- (BOOL) shouldDraw
readwritenonatomicassign

Indicates that this bounding volume should draw itself over the node.

The infinite bounding volume will never be drawn. This property will always return NO, and setting this property will have no effect.


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