The tracker base class. More...

#include "murl_graph_i_tracker.h"

Inherited by Murl::Core::GraphTracker.

Public Member Functions

virtual Bool Init ()=0
 Initialize the tracker. More...
 
virtual Bool DeInit ()=0
 Deinitialize the tracker. More...
 
virtual ITrackerGetTrackerInterface ()=0
 Get the tracker base class interface. More...
 
virtual void SetLogicEngineState (Logic::IEngineState *logicState)=0
 Set the logic engine state object. More...
 
virtual Logic::IEngineStateGetLogicEngineState () const =0
 Get the logic engine state object to perform Logic::IAppGraph calls. More...
 
virtual Bool SetRoot (IRoot *root)=0
 Set the graph root object the tracker refers to. More...
 
virtual const IRootGetRoot () const =0
 Get the const graph root object the tracker refers to. More...
 
virtual Bool SetChildrenProcessingEnabled (Bool enabled)=0
 Enable/disable children processing. More...
 
virtual Bool IsChildrenProcessingEnabled () const =0
 Check if children processing is enabled. More...
 
virtual Bool BeginFrame ()=0
 Begin a traversal frame. More...
 
virtual Bool EndFrame ()=0
 End a traversal frame. More...
 
virtual UInt32 GetCurrentFrameNumber () const =0
 Get the current frame number. More...
 
virtual Double GetCurrentFrameTime () const =0
 Get the current absolute frame time. More...
 
virtual Double GetRecentFrameDuration () const =0
 Get the most recent frame duration. More...
 
virtual UInt32 GetNumberOfTicksForCurrentFrame () const =0
 Get the number of ticks processed for the current frame. More...
 
virtual INodeBeginCurrentNode (INode *currentNode)=0
 Begin processing of a node during traversal. More...
 
virtual INodeEndCurrentNode (INode *previousNode)=0
 End processing of a node during traversal. More...
 
virtual INodeGetCurrentNode () const =0
 Get the current node during traversal. More...
 
virtual Bool RecordNodeState (IEnums::TraversalPhase phase)=0
 Record the current node's state during traversal for a given phase. More...
 
virtual const IAppConfigurationGetAppConfiguration () const =0
 Get the constant application configuration. More...
 
virtual const IEngineConfigurationGetEngineConfiguration () const =0
 Get the constant engine configuration. More...
 
virtual const IPlatformConfigurationGetPlatformConfiguration () const =0
 Get the constant platform configuration. More...
 
virtual Bool IsSuspendableResource (IEnums::SuspendableResource suspendableResource) const =0
 Check if a given flag is set in IEngineConfiguration::GetSuspendableResources(). More...
 
virtual void ResetNumberOfTraversedNodes ()=0
 Reset the number of traversed nodes to zero. More...
 
virtual void IncrementNumberOfTraversedNodes ()=0
 Increment the number of traversed nodes by one. More...
 
virtual UInt32 GetNumberOfTraversedNodes () const =0
 Get the most recent total number of traversed nodes. More...
 
virtual void PushUserData (SInt32 id, void *userData)=0
 Push a user data object with given ID to the stack. More...
 
virtual void PopUserData (SInt32 id)=0
 Pop a user data object off the stack with a given ID. More...
 
virtual void * GetRecentUserData (SInt32 id) const =0
 Get the most recent user data object from the stack with a given ID. More...
 
virtual void ClearResults ()=0
 Clear the list of result messages.
 
virtual void AddResult (const ITrackerResult &result)=0
 Add a result message during traversal. More...
 
virtual const Array< const ITrackerResult * > & GetResults () const =0
 Get the array of result messages added during traversal. More...
 

Detailed Description

The tracker base class.

This interface represents a graph state tracker base class.

Member Function Documentation

◆ Init()

virtual Bool Murl::Graph::ITracker::Init ( )
pure virtual

Initialize the tracker.

Called by the engine.

Returns
true if successful.

◆ DeInit()

virtual Bool Murl::Graph::ITracker::DeInit ( )
pure virtual

Deinitialize the tracker.

Called by the engine.

Returns
true if successful.

◆ GetTrackerInterface()

virtual ITracker* Murl::Graph::ITracker::GetTrackerInterface ( )
pure virtual

Get the tracker base class interface.

Returns
The tracker base class interface.

◆ SetLogicEngineState()

virtual void Murl::Graph::ITracker::SetLogicEngineState ( Logic::IEngineState logicState)
pure virtual

Set the logic engine state object.

Parameters
logicStateThe logic engine state object.

◆ GetLogicEngineState()

virtual Logic::IEngineState* Murl::Graph::ITracker::GetLogicEngineState ( ) const
pure virtual

Get the logic engine state object to perform Logic::IAppGraph calls.

Returns
The logic engine state object.

◆ SetRoot()

virtual Bool Murl::Graph::ITracker::SetRoot ( IRoot root)
pure virtual

Set the graph root object the tracker refers to.

Called by the engine.

Parameters
rootThe root object.
Returns
true if successful.

◆ GetRoot()

virtual const IRoot* Murl::Graph::ITracker::GetRoot ( ) const
pure virtual

Get the const graph root object the tracker refers to.

Returns
The const root object.

◆ SetChildrenProcessingEnabled()

virtual Bool Murl::Graph::ITracker::SetChildrenProcessingEnabled ( Bool  enabled)
pure virtual

Enable/disable children processing.

Called by the engine.

Parameters
enabledIf true, children processing is enabled.
Returns
true if successful.

◆ IsChildrenProcessingEnabled()

virtual Bool Murl::Graph::ITracker::IsChildrenProcessingEnabled ( ) const
pure virtual

Check if children processing is enabled.

Returns
true if children processing is enabled.

◆ BeginFrame()

virtual Bool Murl::Graph::ITracker::BeginFrame ( )
pure virtual

Begin a traversal frame.

Called by the engine.

Returns
true if successful.

◆ EndFrame()

virtual Bool Murl::Graph::ITracker::EndFrame ( )
pure virtual

End a traversal frame.

Called by the engine.

Returns
true if successful.

◆ GetCurrentFrameNumber()

virtual UInt32 Murl::Graph::ITracker::GetCurrentFrameNumber ( ) const
pure virtual

Get the current frame number.

Returns
The current frame number.

◆ GetCurrentFrameTime()

virtual Double Murl::Graph::ITracker::GetCurrentFrameTime ( ) const
pure virtual

Get the current absolute frame time.

Returns
The current frame time in seconds.

◆ GetRecentFrameDuration()

virtual Double Murl::Graph::ITracker::GetRecentFrameDuration ( ) const
pure virtual

Get the most recent frame duration.

Returns
The recent frame duration in seconds.

◆ GetNumberOfTicksForCurrentFrame()

virtual UInt32 Murl::Graph::ITracker::GetNumberOfTicksForCurrentFrame ( ) const
pure virtual

Get the number of ticks processed for the current frame.

Returns
The number of ticks.

◆ BeginCurrentNode()

virtual INode* Murl::Graph::ITracker::BeginCurrentNode ( INode currentNode)
pure virtual

Begin processing of a node during traversal.

Parameters
currentNodeThe current node.
Returns
The previous node.

◆ EndCurrentNode()

virtual INode* Murl::Graph::ITracker::EndCurrentNode ( INode previousNode)
pure virtual

End processing of a node during traversal.

Parameters
previousNodeThe node returned from BeginCurrentNode().
Returns
The current node.

◆ GetCurrentNode()

virtual INode* Murl::Graph::ITracker::GetCurrentNode ( ) const
pure virtual

Get the current node during traversal.

Returns
The current node.

◆ RecordNodeState()

virtual Bool Murl::Graph::ITracker::RecordNodeState ( IEnums::TraversalPhase  phase)
pure virtual

Record the current node's state during traversal for a given phase.

This only gets called during traversal when state recording is enabled for a node via INode::SetStateRecordingEnabled(true).

Parameters
phaseThe traversal phase
Returns
true if successful.

◆ GetAppConfiguration()

virtual const IAppConfiguration* Murl::Graph::ITracker::GetAppConfiguration ( ) const
pure virtual

Get the constant application configuration.

Returns
The constant application configuration.

◆ GetEngineConfiguration()

virtual const IEngineConfiguration* Murl::Graph::ITracker::GetEngineConfiguration ( ) const
pure virtual

Get the constant engine configuration.

Returns
The constant engine configuration.

◆ GetPlatformConfiguration()

virtual const IPlatformConfiguration* Murl::Graph::ITracker::GetPlatformConfiguration ( ) const
pure virtual

Get the constant platform configuration.

Returns
The constant platform configuration.

◆ IsSuspendableResource()

virtual Bool Murl::Graph::ITracker::IsSuspendableResource ( IEnums::SuspendableResource  suspendableResource) const
pure virtual

Check if a given flag is set in IEngineConfiguration::GetSuspendableResources().

Parameters
suspendableResourceThe suspendable resource flag to check.
Returns
true if the suspendable resource flag is set.

◆ ResetNumberOfTraversedNodes()

virtual void Murl::Graph::ITracker::ResetNumberOfTraversedNodes ( )
pure virtual

Reset the number of traversed nodes to zero.

For statistic purposes.

◆ IncrementNumberOfTraversedNodes()

virtual void Murl::Graph::ITracker::IncrementNumberOfTraversedNodes ( )
pure virtual

Increment the number of traversed nodes by one.

For statistic purposes.

◆ GetNumberOfTraversedNodes()

virtual UInt32 Murl::Graph::ITracker::GetNumberOfTraversedNodes ( ) const
pure virtual

Get the most recent total number of traversed nodes.

For statistic purposes.

Returns
The number of traversed nodes.

◆ PushUserData()

virtual void Murl::Graph::ITracker::PushUserData ( SInt32  id,
void *  userData 
)
pure virtual

Push a user data object with given ID to the stack.

Parameters
idThe unique user data ID previously acquired via IRoot::AcquireUserDataId().
userDataThe user data object.

◆ PopUserData()

virtual void Murl::Graph::ITracker::PopUserData ( SInt32  id)
pure virtual

Pop a user data object off the stack with a given ID.

Parameters
idThe unique user data ID previously acquired via IRoot::AcquireUserDataId().

◆ GetRecentUserData()

virtual void* Murl::Graph::ITracker::GetRecentUserData ( SInt32  id) const
pure virtual

Get the most recent user data object from the stack with a given ID.

Parameters
idThe unique user data ID previously acquired via IRoot::AcquireUserDataId().
Returns
The user data object, or null if none is present.

◆ AddResult()

virtual void Murl::Graph::ITracker::AddResult ( const ITrackerResult result)
pure virtual

Add a result message during traversal.

Parameters
resultThe result message to add.

◆ GetResults()

virtual const Array<const ITrackerResult*>& Murl::Graph::ITracker::GetResults ( ) const
pure virtual

Get the array of result messages added during traversal.

Returns
The array of messages.

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


Copyright © 2011-2024 Spraylight GmbH.