The IController interface. More...

#include "murl_graph_i_controller.h"

Inheritance diagram for Murl::Graph::IController:

Public Member Functions

virtual IControllerGetControllerInterface ()=0
 Get the mutable IController interface.
 
virtual const IControllerGetControllerInterface () const =0
 Get the constant IController interface.
 
virtual Bool DeserializeAttribute (IDeserializeAttributeTracker *tracker)=0
 Deserialize a single controller attribute. More...
 
virtual Bool SetOwner (INode *owner)=0
 Set the controller's owning (controlled) node. More...
 
virtual INodeGetOwner () const =0
 Get the controller's owning (controlled) node. More...
 
virtual Bool PreInit (IInitTracker *tracker)=0
 Perform initializaton before the node and its children are being initialized. More...
 
virtual Bool PostInit (IInitTracker *tracker)=0
 Perform initializaton after the node and its children have been initialized. More...
 
virtual Bool PreDeInit (IDeInitTracker *tracker)=0
 Perform de-initializaton step before the node and its children are being de-initialized. More...
 
virtual Bool PostDeInit (IDeInitTracker *tracker)=0
 Perform de-initializaton step after the node and its children have been de-initialized. More...
 
virtual Bool PreConfigChangedLogic (IConfigChangedTracker *tracker)=0
 Signal a configuration change, before the node is being processed. More...
 
virtual Bool PostConfigChangedLogic (IConfigChangedTracker *tracker)=0
 Signal a configuration change, after the node's children have been processed. More...
 
virtual Bool PreProcessLogic (IProcessLogicTracker *tracker)=0
 Perform a logic traversal, before the node is being processed. More...
 
virtual Bool PostProcessLogic (IProcessLogicTracker *tracker)=0
 Perform a logic traversal, after the node's children have been processed. More...
 
virtual Bool SetInitialized (Bool isInitialized)=0
 Set/reset the initialized state of the controller. More...
 
virtual Bool IsInitialized () const =0
 Check if this controller is initialized. More...
 
- Public Member Functions inherited from Murl::IFactoryObject< IController >
virtual ~IFactoryObject ()
 The destructor. More...
 
virtual const ClassInfo * GetObjectClassInfo () const=0
 Get the object instance's class info, if present. More...
 
virtual void ResetObjectProperties ()=0
 Reset the object instance's properties to their default values.
 

Additional Inherited Members

- Public Types inherited from Murl::IFactoryObject< IController >
typedef Array< const ClassInfo *> ClassInfoArray
 Definition of an array of ClassInfo objects. More...
 
- Static Public Member Functions inherited from Murl::IFactoryObject< IController >
static const PropertyInfoGetPropertyInfo ()
 Get the class' property info struct. More...
 
static const AttributeInfoGetAttributeInfo ()
 Get the class' attribute info struct. More...
 
static void ResetProperties (IFactoryObject< IController > *object)
 Reset an object instance's properties to their default values. More...
 

Detailed Description

The IController interface.

This interface provides a generic way to automatically manipulate individual properties of a given Graph::INode. A class implementing this interface may modify a node's properties by overriding the ProcessLogic() method.

The Graph::ITimeController interface represents a more specialized controller type, which acts on current animation time values of individual Graph::ITimeline nodes.

See Graph::Node for details on creating controllers via an XML scene graph description.

Member Function Documentation

◆ DeserializeAttribute()

virtual Bool Murl::Graph::IController::DeserializeAttribute ( IDeserializeAttributeTracker tracker)
pure virtual

Deserialize a single controller attribute.

See Graph::INode::DeserializeAttribute().

Parameters
trackerThe tracker used.
Returns
true if the given attribute was recognized.

◆ SetOwner()

virtual Bool Murl::Graph::IController::SetOwner ( INode owner)
pure virtual

Set the controller's owning (controlled) node.

Setting the owner is only allowed when the controller is not yet initialized.

Parameters
ownerThe owner.
Returns
true if successful.

◆ GetOwner()

virtual INode* Murl::Graph::IController::GetOwner ( ) const
pure virtual

Get the controller's owning (controlled) node.

Returns
The owner.

◆ PreInit()

virtual Bool Murl::Graph::IController::PreInit ( IInitTracker tracker)
pure virtual

Perform initializaton before the node and its children are being initialized.

This method is invoked prior to a call to InitSelf() on the controlled node. It is used to perform any work necessary before the node or its children are being processed.

Parameters
trackerThe tracker used for initialization.
Returns
true if successful.

◆ PostInit()

virtual Bool Murl::Graph::IController::PostInit ( IInitTracker tracker)
pure virtual

Perform initializaton after the node and its children have been initialized.

This method is invoked after InitChildren() of the controlled node has been called. It is used to perform any work necessary after the node's children have been processed.

Parameters
trackerThe tracker used for initialization.
Returns
true if successful.

◆ PreDeInit()

virtual Bool Murl::Graph::IController::PreDeInit ( IDeInitTracker tracker)
pure virtual

Perform de-initializaton step before the node and its children are being de-initialized.

This method is invoked before DeInitChildren() of the controlled node is called. It is used to perform any work necessary before the node's sub-graph is processed.

Parameters
trackerThe tracker used for de-initialization.
Returns
true if successful.

◆ PostDeInit()

virtual Bool Murl::Graph::IController::PostDeInit ( IDeInitTracker tracker)
pure virtual

Perform de-initializaton step after the node and its children have been de-initialized.

This method is invoked after DeInitSelf() of the controlled node is called. It is used to perform any work necessary after the node's sub-graph is processed.

Parameters
trackerThe tracker used for de-initialization.
Returns
true if successful.

◆ PreConfigChangedLogic()

virtual Bool Murl::Graph::IController::PreConfigChangedLogic ( IConfigChangedTracker tracker)
pure virtual

Signal a configuration change, before the node is being processed.

Parameters
trackerThe tracker used.
Returns
true if successful.

◆ PostConfigChangedLogic()

virtual Bool Murl::Graph::IController::PostConfigChangedLogic ( IConfigChangedTracker tracker)
pure virtual

Signal a configuration change, after the node's children have been processed.

Parameters
trackerThe tracker used.
Returns
true if successful.

◆ PreProcessLogic()

virtual Bool Murl::Graph::IController::PreProcessLogic ( IProcessLogicTracker tracker)
pure virtual

Perform a logic traversal, before the node is being processed.

Parameters
trackerThe tracker used for traversal.
Returns
true if successful.

◆ PostProcessLogic()

virtual Bool Murl::Graph::IController::PostProcessLogic ( IProcessLogicTracker tracker)
pure virtual

Perform a logic traversal, after the node's children have been processed.

Parameters
trackerThe tracker used for traversal.
Returns
true if successful.

◆ SetInitialized()

virtual Bool Murl::Graph::IController::SetInitialized ( Bool  isInitialized)
pure virtual

Set/reset the initialized state of the controller.

Parameters
isInitializedIf true, the controller is set to the initialized state.
Returns
true if successful.

◆ IsInitialized()

virtual Bool Murl::Graph::IController::IsInitialized ( ) const
pure virtual

Check if this controller is initialized.

Returns
true if initialized.

The documentation for this interface was generated from the following file:
  • murl_graph_i_controller.h


Copyright © 2011-2018 Spraylight GmbH.