The tracker used for input processing traversals. More...
#include "murl_graph_i_process_input_tracker.h"
Inherited by Murl::Core::GraphProcessInputTracker.
Public Member Functions | |
virtual Bool | Init ()=0 |
Initialize the tracker. More... | |
virtual Bool | DeInit ()=0 |
Deinitialize the tracker. More... | |
virtual ITracker * | GetTrackerInterface ()=0 |
Get the tracker base class interface. More... | |
virtual Bool | BeginFrame ()=0 |
Begin a traversal frame. More... | |
virtual Bool | EndFrame ()=0 |
End a traversal frame. More... | |
virtual Bool | BeginLogicTick ()=0 |
Begin a traversal logic tick. More... | |
virtual Bool | EndLogicTick ()=0 |
End a traversal logic tick. More... | |
virtual UInt32 | GetCurrentLogicTickNumber () const =0 |
Get the current logic tick number. More... | |
virtual Double | GetCurrentLogicTickTime () const =0 |
Get the current absolute logic tick time. More... | |
virtual Double | GetCurrentLogicTickDuration () const =0 |
Get the current logic tick duration. More... | |
virtual Input::ITouchableHandler * | GetTouchableHandler () const =0 |
Get the input touchable handler used to submit input objects. More... | |
virtual const Resource::ICollection * | GetResourceCollection () const =0 |
Get the engine's main resource collection. More... | |
virtual IHandle * | GetCurrentHandle ()=0 |
Obtain a handle for the current node. More... | |
virtual IHandleInstance * | GetCurrentHandleInstance ()=0 |
Obtain a handle instance for the current node. More... | |
virtual void | SetCurrentAnchor (const IAnchor *anchor, SInt32 slot)=0 |
Bind a transform anchor to a specific slot. More... | |
virtual const IAnchor * | GetCurrentAnchor (SInt32 slot) const =0 |
Get a transform anchor bound to a specific slot. More... | |
virtual void | ClearCurrentAnchors ()=0 |
Clear the current transform anchor binding. | |
virtual void | SaveCurrentAnchors ()=0 |
Save the current transform anchor binding. | |
virtual void | RestoreCurrentAnchors ()=0 |
Restore the previous transform anchor binding. | |
virtual void | SetCurrentListener (const IListener *listener, SInt32 slot)=0 |
Bind a listener to a specific slot. More... | |
virtual const IListener * | GetCurrentListener (SInt32 slot) const =0 |
Get a listener bound to a specific slot. More... | |
virtual void | ClearCurrentListeners ()=0 |
Clear the current listener binding. | |
virtual void | SaveCurrentListeners ()=0 |
Save the current listener binding. | |
virtual void | RestoreCurrentListeners ()=0 |
Restore the previous listener binding. | |
virtual void | SetCurrentCamera (const ICamera *camera, SInt32 slot)=0 |
Bind a camera to a specific slot. More... | |
virtual const ICamera * | GetCurrentCamera (SInt32 slot) const =0 |
Get a camera bound to a specific slot. More... | |
virtual void | ClearCurrentCameras ()=0 |
Clear the current camera binding. | |
virtual void | SaveCurrentCameras ()=0 |
Save the current camera binding. | |
virtual void | RestoreCurrentCameras ()=0 |
Restore the previous camera binding. | |
virtual void | SetCurrentLayer (UInt32 index)=0 |
Set the current input layer. More... | |
virtual UInt32 | GetCurrentLayer () const =0 |
Get the current input layer. More... | |
virtual void | ClearCurrentLayer ()=0 |
Clear the current input layer state. | |
virtual void | SaveCurrentLayer ()=0 |
Save the current input layer state. | |
virtual void | RestoreCurrentLayer ()=0 |
Restore the previous input layer state. | |
virtual void | SetCurrentSkeleton (const ISkeleton *skeleton)=0 |
Set the current skeletom. More... | |
virtual const ISkeleton * | GetCurrentSkeleton () const =0 |
Get the current skeleton. More... | |
virtual void | ClearCurrentSkeleton ()=0 |
Clear the current skeleton state. | |
virtual void | SaveCurrentSkeleton ()=0 |
Save the current skeleton state. | |
virtual void | RestoreCurrentSkeleton ()=0 |
Restore the previous skeleton state. | |
virtual void | SetCurrentBone (const IBone *bone, UInt32 unit)=0 |
Bind a bone to a specific unit. More... | |
virtual const IBone * | GetCurrentBone (UInt32 unit) const =0 |
Get a bone bound to a specific unit. More... | |
virtual void | ClearCurrentBones ()=0 |
Clear the current bone binding. | |
virtual void | SaveCurrentBones ()=0 |
Save the current bone binding. | |
virtual void | RestoreCurrentBones ()=0 |
Restore the previous bone binding. | |
virtual void | PushWorldTransform (const Matrix &transform)=0 |
Push a world transform matrix to the matrix stack. More... | |
virtual void | PushLocalTransform (const Matrix &transform)=0 |
Push a local transform matrix to the matrix stack. More... | |
virtual void | PopTransform ()=0 |
Pop the topmost transform matrix off the matrix stack. | |
virtual Matrix & | GetRecentWorldTransform () const =0 |
Get the most recent world transform matrix from the matrix stack. More... | |
virtual void | PushWorldScaleFactor (const Vector &scaleFactor)=0 |
Push a world scale factor vector to the scale factor stack. More... | |
virtual void | PushLocalScaleFactor (const Vector &scaleFactor)=0 |
Push a local scale factor vector to the scale factor stack. More... | |
virtual void | PopScaleFactor ()=0 |
Pop the topmost scale factor vector off the scale factor stack. | |
virtual Vector & | GetRecentWorldScaleFactor () const =0 |
Get the most recent world scale factor vector from the scale factor stack. More... | |
virtual void | PushWorldDepthOrder (SInt32 depthOrder)=0 |
Push a world depth order to the depth order stack. More... | |
virtual void | PushLocalDepthOrder (SInt32 depthOrder)=0 |
Push a local depth order to the depth order stack. More... | |
virtual void | PopDepthOrder ()=0 |
Pop the topmost depth order off the depth order stack. | |
virtual SInt32 | GetRecentWorldDepthOrder () const =0 |
Get the most recent world depth order from the depth order stack. More... | |
virtual void | PushReference (IReference *node)=0 |
Push a reference node to the reference stack. More... | |
virtual void | PopReference ()=0 |
Pop the topmost reference node off the reference stack. | |
virtual IReference * | GetRecentReference () const =0 |
Get the most recent reference node from the reference stack. More... | |
virtual void | PushNodeFlags (UInt32 nodeFlags)=0 |
Push the current node flags to the node flag stack. More... | |
virtual void | PopNodeFlags ()=0 |
Pop the topmost node flags off the node flag stack. | |
virtual UInt32 | GetRecentNodeFlags () const =0 |
Get the most recent node flags from the node flag stack. More... | |
virtual void | PushTargetBoundingVolume (IBoundingVolume *boundingVolume)=0 |
Push the current target bounding volume to the BV stack. More... | |
virtual void | PopTargetBoundingVolume ()=0 |
Pop the topmost target bounding volume off the BV stack. | |
virtual IBoundingVolume * | GetRecentTargetBoundingVolume () const =0 |
Get the most recent target bounding volume from the BV stack. More... | |
virtual void | PushNodeToFinishInput (INode *node)=0 |
Queue up a node to have its FinishInput() method called after traversal. More... | |
virtual Bool | ApplyCurrentInputTransform () const =0 |
Apply the current world transform in the touchable handler. More... | |
virtual Bool | ApplyCurrentInputProjection (SInt32 slot)=0 |
Apply the current projection in the touchable handler. More... | |
virtual Bool | ApplyCurrentLayer ()=0 |
Apply the current input layer in the touchable handler. More... | |
virtual UInt32 | ProcessCurrentBoundingVolume (IBoundingVolume *boundingVolume)=0 |
Process the current node's bounding volume. More... | |
virtual Bool | WasTraversedInCurrentLogicTick (UInt32 &tickCount) const =0 |
Check if the current node was already traversed in the current logic tick. More... | |
virtual Array< INode * > & | GetNodesToFinish ()=0 |
Get a reference to the array of nodes that need their FinishInput() method called. More... | |
virtual UInt32 | SetTriggers (UInt32 mask)=0 |
Replace the currently set traversal triggers. More... | |
virtual UInt32 | AddTriggers (UInt32 mask)=0 |
Add given triggers to the currently set traversal triggers. More... | |
virtual UInt32 | RemoveTriggers (UInt32 mask)=0 |
Remove given triggers from the currently set traversal triggers. More... | |
virtual UInt32 | GetResponse (UInt32 mask) const =0 |
Check the traversal response for a given set of triggers. More... | |
Detailed Description
The tracker used for input processing traversals.
This interface represents a graph state tracker used during Graph::INode::ProcessInput traversals, as well as the respective methods in Graph::IGenericNodeTarget and Graph::IGenericResourceTarget.
Member Function Documentation
◆ Init()
|
pure virtual |
Initialize the tracker.
Called by the engine.
- Returns
- true if successful.
◆ DeInit()
|
pure virtual |
Deinitialize the tracker.
Called by the engine.
- Returns
- true if successful.
◆ GetTrackerInterface()
|
pure virtual |
Get the tracker base class interface.
- Returns
- The tracker base class interface.
◆ BeginFrame()
|
pure virtual |
Begin a traversal frame.
Called by the engine.
- Returns
- true if successful.
◆ EndFrame()
|
pure virtual |
End a traversal frame.
Called by the engine.
- Returns
- true if successful.
◆ BeginLogicTick()
|
pure virtual |
Begin a traversal logic tick.
Called by the engine.
- Returns
- true if successful.
◆ EndLogicTick()
|
pure virtual |
End a traversal logic tick.
Called by the engine.
- Returns
- true if successful.
◆ GetCurrentLogicTickNumber()
|
pure virtual |
Get the current logic tick number.
- Returns
- The current logic tick number.
◆ GetCurrentLogicTickTime()
|
pure virtual |
Get the current absolute logic tick time.
- Returns
- The current logic tick time in seconds.
◆ GetCurrentLogicTickDuration()
|
pure virtual |
Get the current logic tick duration.
- Returns
- The current logic tick duration in seconds.
◆ GetTouchableHandler()
|
pure virtual |
Get the input touchable handler used to submit input objects.
- Returns
- The input touchable handler.
◆ GetResourceCollection()
|
pure virtual |
Get the engine's main resource collection.
- Returns
- The resource collection.
◆ GetCurrentHandle()
|
pure virtual |
Obtain a handle for the current node.
- Returns
- The current node handle.
◆ GetCurrentHandleInstance()
|
pure virtual |
Obtain a handle instance for the current node.
- Returns
- The current node handle instance.
◆ SetCurrentAnchor()
|
pure virtual |
Bind a transform anchor to a specific slot.
- Parameters
-
anchor The anchor to bind. slot The slot to use, from 0 to IEnums::NUM_ANCHOR_SLOTS-1.
◆ GetCurrentAnchor()
|
pure virtual |
Get a transform anchor bound to a specific slot.
- Parameters
-
slot The slot to query, from 0 to IEnums::NUM_ANCHOR_SLOTS-1.
- Returns
- The anchor at the given slot, or null if none is bound.
◆ SetCurrentListener()
|
pure virtual |
Bind a listener to a specific slot.
- Parameters
-
listener The listener to bind. slot The slot to use. Currently only slot 0 is allowed.
◆ GetCurrentListener()
|
pure virtual |
Get a listener bound to a specific slot.
- Parameters
-
slot The slot to query. Currently only slot 0 is allowed.
- Returns
- The listener at the given slot, or null if none is bound.
◆ SetCurrentCamera()
|
pure virtual |
Bind a camera to a specific slot.
- Parameters
-
camera The camera to bind. slot The slot to use. Currently only slot 0 is allowed.
◆ GetCurrentCamera()
|
pure virtual |
Get a camera bound to a specific slot.
- Parameters
-
slot The slot to query. Currently only slot 0 is allowed.
- Returns
- The camera at the given slot, or null if none is bound.
◆ SetCurrentLayer()
|
pure virtual |
Set the current input layer.
- Parameters
-
index The layer index.
◆ GetCurrentLayer()
|
pure virtual |
Get the current input layer.
- Returns
- The layer index.
◆ SetCurrentSkeleton()
|
pure virtual |
Set the current skeletom.
- Parameters
-
skeleton The skeleton.
◆ GetCurrentSkeleton()
|
pure virtual |
Get the current skeleton.
- Returns
- The skeleton.
◆ SetCurrentBone()
|
pure virtual |
Bind a bone to a specific unit.
- Parameters
-
bone The bone to bind. unit The unit to use, from 0 to IEnums::NUM_BONE_UNITS-1.
◆ GetCurrentBone()
|
pure virtual |
Get a bone bound to a specific unit.
- Parameters
-
unit The unit to query, from 0 to IEnums::NUM_BONE_UNITS-1.
- Returns
- The bone at the given unit, or null if none is bound.
◆ PushWorldTransform()
|
pure virtual |
Push a world transform matrix to the matrix stack.
- Parameters
-
transform The world transform.
◆ PushLocalTransform()
|
pure virtual |
Push a local transform matrix to the matrix stack.
- Parameters
-
transform The local transform.
◆ GetRecentWorldTransform()
|
pure virtual |
Get the most recent world transform matrix from the matrix stack.
- Returns
- The (possibly calculated) world transform.
◆ PushWorldScaleFactor()
|
pure virtual |
Push a world scale factor vector to the scale factor stack.
- Parameters
-
scaleFactor The world scale factor.
◆ PushLocalScaleFactor()
|
pure virtual |
Push a local scale factor vector to the scale factor stack.
- Parameters
-
scaleFactor The local scale factor.
◆ GetRecentWorldScaleFactor()
|
pure virtual |
Get the most recent world scale factor vector from the scale factor stack.
- Returns
- The (possibly calculated) world scale factor.
◆ PushWorldDepthOrder()
|
pure virtual |
Push a world depth order to the depth order stack.
- Parameters
-
depthOrder The world depth order.
◆ PushLocalDepthOrder()
|
pure virtual |
Push a local depth order to the depth order stack.
- Parameters
-
depthOrder The local depth order.
◆ GetRecentWorldDepthOrder()
|
pure virtual |
Get the most recent world depth order from the depth order stack.
- Returns
- The (possibly calculated) world depth order.
◆ PushReference()
|
pure virtual |
Push a reference node to the reference stack.
- Parameters
-
node The node to push.
◆ GetRecentReference()
|
pure virtual |
Get the most recent reference node from the reference stack.
- Returns
- The reference node.
◆ PushNodeFlags()
|
pure virtual |
Push the current node flags to the node flag stack.
- Parameters
-
nodeFlags The node flags to push.
◆ GetRecentNodeFlags()
|
pure virtual |
Get the most recent node flags from the node flag stack.
- Returns
- The node flags.
◆ PushTargetBoundingVolume()
|
pure virtual |
Push the current target bounding volume to the BV stack.
- Parameters
-
boundingVolume The bounding volume to push.
◆ GetRecentTargetBoundingVolume()
|
pure virtual |
Get the most recent target bounding volume from the BV stack.
- Returns
- The bounding volume.
◆ PushNodeToFinishInput()
|
pure virtual |
Queue up a node to have its FinishInput() method called after traversal.
- Parameters
-
node The node to queue up.
◆ ApplyCurrentInputTransform()
|
pure virtual |
Apply the current world transform in the touchable handler.
- Returns
- true if successful.
◆ ApplyCurrentInputProjection()
|
pure virtual |
Apply the current projection in the touchable handler.
- Parameters
-
slot The camera slot to use. Currently only slot 0 is allowed.
- Returns
- true if a camera is present at the given slot, false otherwise.
◆ ApplyCurrentLayer()
|
pure virtual |
Apply the current input layer in the touchable handler.
- Returns
- true if successful.
◆ ProcessCurrentBoundingVolume()
|
pure virtual |
Process the current node's bounding volume.
- Parameters
-
boundingVolume The node's bounding volume.
- Returns
- The number of bounding volumes processed;
◆ WasTraversedInCurrentLogicTick()
|
pure virtual |
Check if the current node was already traversed in the current logic tick.
- Parameters
-
tickCount The tick count variable to update.
- Returns
- true if the node was previously traversed within the current tick.
◆ GetNodesToFinish()
Get a reference to the array of nodes that need their FinishInput() method called.
- Returns
- The array of nodes to finish.
◆ SetTriggers()
Replace the currently set traversal triggers.
- Parameters
-
mask A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration.
- Returns
- The previous triggers' bit mask.
◆ AddTriggers()
Add given triggers to the currently set traversal triggers.
- Parameters
-
mask A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration.
- Returns
- The previous triggers' bit mask.
◆ RemoveTriggers()
Remove given triggers from the currently set traversal triggers.
- Parameters
-
mask A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration.
- Returns
- The previous triggers' bit mask.
◆ GetResponse()
Check the traversal response for a given set of triggers.
- Parameters
-
mask A bit mask of individual triggers to query for, from the Graph::INode::ProcessInputTriggers enumeration.
- Returns
- A bit mask of affected triggers.
The documentation for this interface was generated from the following file:
- murl_graph_i_process_input_tracker.h