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. More...
 
virtual const IControllerGetControllerInterface () const =0
 Get the constant IController interface. More...
 
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 PreConfigChangedOutput (IConfigChangedTracker *tracker)=0
 Signal a configuration change, before the node is being processed. More...
 
virtual Bool PostConfigChangedOutput (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 PreProcessInput (IProcessInputTracker *tracker)=0
 Perform an input traversal, before the node is being processed. More...
 
virtual Bool PostProcessInput (IProcessInputTracker *tracker)=0
 Perform an input traversal, after the node's children have been processed. More...
 
virtual Bool PreProcessOutput (IProcessOutputTracker *tracker)=0
 Perform an output traversal, before the node is being processed. More...
 
virtual Bool PostProcessOutput (IProcessOutputTracker *tracker)=0
 Perform an output 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...
 
virtual UInt32 GetConfigChangedResponse () const =0
 Get the controller's active response for config change traversal. More...
 
virtual UInt32 GetProcessLogicResponse () const =0
 Get the controller's active response for logic traversal. More...
 
virtual UInt32 GetProcessInputResponse () const =0
 Get the controller's active response for input traversal. More...
 
virtual UInt32 GetProcessOutputResponse () const =0
 Get the controller's active response for output traversal. More...
 
- Public Member Functions inherited from Murl::IFactoryObject< IController >
 ~IFactoryObject () override
 The destructor.
 
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 >
using ClassInfoArray = Array< const ClassInfo * >
 Definition of an array of ClassInfo objects.
 
- 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

◆ GetControllerInterface() [1/2]

virtual IController* Murl::Graph::IController::GetControllerInterface ( )
pure virtual

Get the mutable IController interface.

Returns
The mutable IController interface.

◆ GetControllerInterface() [2/2]

virtual const IController* Murl::Graph::IController::GetControllerInterface ( ) const
pure virtual

Get the constant IController interface.

Returns
The constant IController interface.

◆ 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.

◆ PreConfigChangedOutput()

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

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

Parameters
trackerThe tracker used.
Returns
true if successful.

◆ PostConfigChangedOutput()

virtual Bool Murl::Graph::IController::PostConfigChangedOutput ( 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.

◆ PreProcessInput()

virtual Bool Murl::Graph::IController::PreProcessInput ( IProcessInputTracker tracker)
pure virtual

Perform an input traversal, before the node is being processed.

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

◆ PostProcessInput()

virtual Bool Murl::Graph::IController::PostProcessInput ( IProcessInputTracker tracker)
pure virtual

Perform an input traversal, after the node's children have been processed.

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

◆ PreProcessOutput()

virtual Bool Murl::Graph::IController::PreProcessOutput ( IProcessOutputTracker tracker)
pure virtual

Perform an output traversal, before the node is being processed.

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

◆ PostProcessOutput()

virtual Bool Murl::Graph::IController::PostProcessOutput ( IProcessOutputTracker tracker)
pure virtual

Perform an output 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.

◆ GetConfigChangedResponse()

virtual UInt32 Murl::Graph::IController::GetConfigChangedResponse ( ) const
pure virtual

Get the controller's active response for config change traversal.

Returns
A bit mask of traversal triggers this controller will respond to, from the INode::ConfigChangedTriggers enumeration.

◆ GetProcessLogicResponse()

virtual UInt32 Murl::Graph::IController::GetProcessLogicResponse ( ) const
pure virtual

Get the controller's active response for logic traversal.

Returns
A bit mask of traversal triggers this controller will respond to, from the INode::ProcessLogicTriggers enumeration.

◆ GetProcessInputResponse()

virtual UInt32 Murl::Graph::IController::GetProcessInputResponse ( ) const
pure virtual

Get the controller's active response for input traversal.

Returns
A bit mask of traversal triggers this controller will respond to, from the INode::ProcessInputTriggers enumeration.

◆ GetProcessOutputResponse()

virtual UInt32 Murl::Graph::IController::GetProcessOutputResponse ( ) const
pure virtual

Get the controller's active response for output traversal.

Returns
A bit mask of traversal triggers this controller will respond to, from the INode::ProcessOutputTriggers enumeration.

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


Copyright © 2011-2024 Spraylight GmbH.