![]() |
Murl Engine API
Version 2018.3
|
The tracker used for input processing traversals. More...
#include <murl_graph_i_process_input_tracker.h>
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.
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 | 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... | |
|
pure virtual |
Initialize the tracker.
Called by the engine.
|
pure virtual |
Deinitialize the tracker.
Called by the engine.
|
pure virtual |
Get the tracker base class interface.
|
pure virtual |
Begin a traversal frame.
Called by the engine.
|
pure virtual |
End a traversal frame.
Called by the engine.
|
pure virtual |
Begin a traversal logic tick.
Called by the engine.
|
pure virtual |
End a traversal logic tick.
Called by the engine.
|
pure virtual |
Get the current logic tick number.
|
pure virtual |
Get the current absolute logic tick time.
|
pure virtual |
Get the current logic tick duration.
|
pure virtual |
Get the input touchable handler used to submit input objects.
|
pure virtual |
Get the engine's main resource collection.
|
pure virtual |
Obtain a handle for the current node.
|
pure virtual |
Obtain a handle instance for the current node.
|
pure virtual |
Bind a transform anchor to a specific slot.
anchor | The anchor to bind. |
slot | The slot to use, from 0 to IEnums::NUM_ANCHOR_SLOTS-1. |
|
pure virtual |
Get a transform anchor bound to a specific slot.
slot | The slot to query, from 0 to IEnums::NUM_ANCHOR_SLOTS-1. |
|
pure virtual |
Bind a listener to a specific slot.
listener | The listener to bind. |
slot | The slot to use. Currently only slot 0 is allowed. |
|
pure virtual |
Get a listener bound to a specific slot.
slot | The slot to query. Currently only slot 0 is allowed. |
|
pure virtual |
Bind a camera to a specific slot.
camera | The camera to bind. |
slot | The slot to use. Currently only slot 0 is allowed. |
|
pure virtual |
Get a camera bound to a specific slot.
slot | The slot to query. Currently only slot 0 is allowed. |
|
pure virtual |
Set the current input layer.
index | The layer index. |
|
pure virtual |
Get the current input layer.
|
pure virtual |
Push a world transform matrix to the matrix stack.
transform | The world transform. |
|
pure virtual |
Push a local transform matrix to the matrix stack.
transform | The local transform. |
|
pure virtual |
Get the most recent world transform matrix from the matrix stack.
|
pure virtual |
Push a world scale factor vector to the scale factor stack.
scaleFactor | The world scale factor. |
|
pure virtual |
Push a local scale factor vector to the scale factor stack.
scaleFactor | The local scale factor. |
|
pure virtual |
Get the most recent world scale factor vector from the scale factor stack.
|
pure virtual |
Push a world depth order to the depth order stack.
depthOrder | The world depth order. |
|
pure virtual |
Push a local depth order to the depth order stack.
depthOrder | The local depth order. |
|
pure virtual |
Get the most recent world depth order from the depth order stack.
|
pure virtual |
Push a reference node to the reference stack.
node | The node to push. |
|
pure virtual |
Get the most recent reference node from the reference stack.
|
pure virtual |
Push the current node flags to the node flag stack.
nodeFlags | The node flags to push. |
|
pure virtual |
Get the most recent node flags from the node flag stack.
|
pure virtual |
Push the current target bounding volume to the BV stack.
boundingVolume | The bounding volume to push. |
|
pure virtual |
Get the most recent target bounding volume from the BV stack.
|
pure virtual |
Queue up a node to have its FinishInput() method called after traversal.
node | The node to queue up. |
|
pure virtual |
Apply the current world transform in the touchable handler.
|
pure virtual |
Apply the current projection in the touchable handler.
slot | The camera slot to use. Currently only slot 0 is allowed. |
|
pure virtual |
Apply the current input layer in the touchable handler.
|
pure virtual |
Process the current node's bounding volume.
boundingVolume | The node's bounding volume. |
|
pure virtual |
Check if the current node was already traversed in the current logic tick.
tickCount | The tick count variable to update. |
Get a reference to the array of nodes that need their FinishInput() method called.
Replace the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration. |
Add given triggers to the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration. |
Remove given triggers from the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessInputTriggers enumeration. |
Check the traversal response for a given set of triggers.
mask | A bit mask of individual triggers to query for, from the Graph::INode::ProcessInputTriggers enumeration. |