Inheritance diagram for SharedRuns:
Public Member Functions | |
SharedRuns (void) | |
virtual RenderingRun * | getRun (RenderingRunType runType)=0 |
virtual void | addRun (RenderingRunType runType, RenderingRun *run)=0 |
virtual void | updateRun (RenderingRunType runType, unsigned long frameNum)=0 |
virtual SharedRuns * | joinRuns (SharedRuns *otherRuns) |
virtual void | runChanged (RenderingRunType runType, RenderingRun *run) |
Called after one of he shared runs changes. | |
virtual void | runUpdated (RenderingRunType runType, RenderingRun *run) |
Called after one of he shared runs updates. | |
void | setTechniqueGroup (TechniqueGroup *group) |
Sets child TechniqueGroup. | |
virtual void | setVisible (bool visible) |
Shows or hides this SharedRuns (and also all childnodes). | |
virtual void | hide () |
Hides this SharedRuns (and also all childs). | |
virtual void | restoreVisibility () |
Restores the visibility of this SharedRuns (and also all childs). | |
virtual SharedRuns * | getRoot () |
Retrieves the root node of this SharedRuns node. | |
virtual SharedRuns * | getRoot (RenderingRunType runType) |
Retrieves the topmost parent node of this SharedRuns node, which have a specified RenderingRun type. | |
virtual void | updateBounds ()=0 |
Updates the boundary of this SharedRuns (and also it's parent). | |
virtual void | validate ()=0 |
Validate this SharedRuns (and also all childs). | |
virtual void | destroy ()=0 |
Destroys the node (and all parents recursively). | |
virtual void | unbindParent () |
Unbinds the parent of the node, called at splitting. | |
virtual void | unbindAndKillParent () |
Unbinds the deletes the parent of the node, called at splitting. | |
Protected Member Functions | |
virtual void | gatherRuns ()=0 |
Collects RenderingRuns references from the child nodes, used when joining. | |
virtual void | fireRunChanges ()=0 |
Sends runChanged events for each RenderingRun type, used after join and split. | |
virtual SharedRuns * | createInstance ()=0 |
Creates a new SharedRuns instance. All derivatives should implement this. | |
virtual void | setRenderablesVisible (bool visible)=0 |
Set visibility of connected renderables, only used if this is a leaf. | |
virtual void | hideRenderables ()=0 |
Hides all the connected renderables, only used if this is a leaf. | |
virtual void | restoreRenderableVisibility ()=0 |
Restires visibility of all the connected renderables, only used if this is a leaf. | |
Protected Attributes | |
SharedRuns * | parent |
parent SharedRuns instance | |
SharedRuns * | child1 |
child SharedRuns instance | |
SharedRuns * | child2 |
child SharedRuns instance | |
TechniqueGroup * | childTechniques |
child TechniqueGroup instance. |
Technique resources which can be shared between several techniques or objects are managed by SharedRuns. These SharedRuns store the shared resources. They also act like nodes of a binary tree, as separate SharedRuns can also be joined if for example the objects for witch they store resources are close enough so even one shared resources is enough for the given objects.
|
&brief Constructor. |
|
&brief Adds a RenderingRun instance to the shared resources.
Implemented in OgreSharedRuns. |
|
Creates a new SharedRuns instance. All derivatives should implement this.
Implemented in OgreSharedRuns. |
|
Retrieves the topmost parent node of this SharedRuns node, which have a specified RenderingRun type.
|
|
Retrieves the root node of this SharedRuns node.
|
|
&brief Retrieves a shared resource.
Implemented in OgreSharedRuns. |
|
Hides this SharedRuns (and also all childs). The previous visibility is saved. |
|
&brief Joines two SharedRuns. The resulting SharedRuns become the parent of the two SharedRuns.
|
|
Called after one of he shared runs changes. This message will be forwarded to each child.
|
|
Called after one of he shared runs updates. This message will be forwarded to each child.
|
|
Set visibility of connected renderables, only used if this is a leaf.
Implemented in OgreSharedRuns. |
|
Sets child TechniqueGroup.
|
|
Shows or hides this SharedRuns (and also all childnodes).
|
|
&brief Updates a shared RenderingRun.
Implemented in OgreSharedRuns. |
|
Validate this SharedRuns (and also all childs). Validation meens that all the SharedRuns that are joined will be examined if the sharing is still valid. If it finds out that two SharedRuns can't be joined anymore (eg.: they moved far from each other), their parent will be split and destroyed (all parent of this node also should be deleted recursively). Implemented in OgreSharedRuns. |
|
child TechniqueGroup instance. If this SharedRuns node is a leaf, it containes a reference to a TechniqueGroup instance. All messages will be transfered to this object, and bounding information will be retrieved from this TechniqueGroup |