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

#import <CC3NodeSequencer.h>

Inheritance diagram for CC3BTreeNodeSequencer:
Inheritance graph
[legend]

Instance Methods

(void) - addSequencer:
 
- Instance Methods inherited from CC3NodeSequencer
(BOOL) - add:withVisitor:
 
(NSString *) - fullDescription
 
(void) - identifyMisplacedNodesWithVisitor:
 
(id) - initWithEvaluator:
 
(void) - populateFrom:
 
(BOOL) - remove:withVisitor:
 
(BOOL) - updateSequenceWithVisitor:
 
(void) - visitNodesWithNodeVisitor:
 

Class Methods

(id) + sequencerLocalContentOpaqueFirst
 
(id) + sequencerLocalContentOpaqueFirstGroupMeshes
 
(id) + sequencerLocalContentOpaqueFirstGroupTextures
 
- Class Methods inherited from CC3NodeSequencer
(id) + sequencer
 
(id) + sequencerWithEvaluator:
 

Properties

NSArray * sequencers
 
- Properties inherited from CC3NodeSequencer
BOOL allowSequenceUpdates
 
CC3NodeEvaluatorevaluator
 
NSArray * nodes
 
BOOL shouldUseOnlyForwardDistance
 

Detailed Description

An CC3BTreeNodeSequencer is a type of CC3NodeSequencer that separates nodes into a B-tree structure of child sequencers.

When a node is added, it is first evaluated by the contained evaluator. If it is accepted, the sequencer iterates through the contained child sequencers, in the order that the child sequencers were added, attempting to add the node to each child sequencer in turn. The node is added to the first child sequencer that accepts it.

Instances of CC3BTreeNodeSequencer can be used to group nodes by some parent criteria while allowing the nodes to be further grouped within each child grouping.

Setting the property shouldUseOnlyForwardDistance sets the same value in each child sequencer. Reading that property returns YES if any child sequencer returns YES, otherwise it returns NO.

Method Documentation

- (void) addSequencer: (CC3NodeSequencer *)  aNodeSequencer

Adds the specified sequencer as a child sequencer.

+ (id) sequencerLocalContentOpaqueFirst

Allocates and initializes an autoreleased instance that accepts only nodes that have local content to draw, and sequences them so that all the opaque nodes appear before all the translucent nodes.

The opaque nodes are sorted in the order they are added. The translucent nodes are sorted by their distance from the camera, from furthest from the camera to closest.

+ (id) sequencerLocalContentOpaqueFirstGroupMeshes

Allocates and initializes an autoreleased instance that accepts only nodes that have local content to draw, and sequences them so that all the opaque nodes appear before all the translucent nodes.

The opaque nodes are grouped by mesh, so that all nodes with the same mesh appear together. The translucent nodes are sorted by their distance from the camera, from furthest from the camera to closest.

+ (id) sequencerLocalContentOpaqueFirstGroupTextures

Allocates and initializes an autoreleased instance that accepts only nodes that have local content to draw, and sequences them so that all the opaque nodes appear before all the translucent nodes.

The opaque nodes are grouped by texture, so that all nodes with the same texture appear together. The translucent nodes are sorted by their distance from the camera, from furthest from the camera to closest.

Property Documentation

- (NSArray*) sequencers
readnonatomicretain

The array of child sequencers.


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