Public Member Functions | Properties

CC3NodeInfiniteBoundingVolume Class Reference

A bounding volume that forms a volume of infinite size. More...

#import <CC3BoundingVolumes.h>

Inheritance diagram for CC3NodeInfiniteBoundingVolume:
Inheritance graph
[legend]
Collaboration diagram for CC3NodeInfiniteBoundingVolume:
Collaboration graph
[legend]

List of all members.

Public Member Functions

(BOOL) - doesIntersect:
(BOOL) - doesIntersectConvexHullOf:planes:from:
(BOOL) - doesIntersectLocation:
(BOOL) - doesIntersectRay:
(BOOL) - doesIntersectSphere:from:
(BOOL) - isInFrontOfPlane:

Properties

BOOL shouldDraw

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.


Member Function 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 [read, write, assign]

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.

Implements CC3NodeBoundingVolume.


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