![]() |
Murl Engine API
Version 2018.3
|
The tracker used for logic processing traversals. More...
#include <murl_graph_i_process_logic_tracker.h>
The tracker used for logic processing traversals.
This interface represents a graph state tracker used during Graph::INode::ProcessLogic traversals, as well as the respective methods in Graph::IController, Graph::IGenericNodeTarget and Graph::IGenericResourceTarget.
Inherited by Murl::Core::GraphProcessLogicTracker.
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 Physics::ISimulator * | GetPhysicsSimulator () const =0 |
Get the physics simulator used to submit physics 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 | SetCurrentSurface (const ISurface *surface, SInt32 slot)=0 |
Bind a collision surface to a specific slot. More... | |
virtual const ISurface * | GetCurrentSurface (SInt32 slot) const =0 |
Get a collision surface bound to a specific slot. More... | |
virtual void | ClearCurrentSurfaces ()=0 |
Clear the current collision surface binding. | |
virtual void | SaveCurrentSurfaces ()=0 |
Save the current collision surface binding. | |
virtual void | RestoreCurrentSurfaces ()=0 |
Restore the previous collision surface binding. | |
virtual void | SetCurrentIsland (const IIsland *island, SInt32 slot)=0 |
Bind a collision island to a specific slot. More... | |
virtual const IIsland * | GetCurrentIsland (SInt32 slot) const =0 |
Get a collision island bound to a specific slot. More... | |
virtual void | ClearCurrentIslands ()=0 |
Clear the current collision island binding. | |
virtual void | SaveCurrentIslands ()=0 |
Save the current collision island binding. | |
virtual void | RestoreCurrentIslands ()=0 |
Restore the previous collision island binding. | |
virtual void | SetCurrentTimeline (const ITimeline *timeline, UInt32 unit)=0 |
Bind a timeline to a specific unit. More... | |
virtual const ITimeline * | GetCurrentTimeline (UInt32 unit) const =0 |
Get a timeline bound to a specific unit. More... | |
virtual void | ClearCurrentTimelines ()=0 |
Clear the current timeline binding. | |
virtual void | SaveCurrentTimelines ()=0 |
Save the current timeline binding. | |
virtual void | RestoreCurrentTimelines ()=0 |
Restore the previous timeline 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 | PushNodeToFinishLogic (INode *node)=0 |
Queue up a node to have its FinishLogic() method called after traversal. More... | |
virtual Bool | ApplyCurrentPhysicsTransform () const =0 |
Apply the current world transform in the physics simulator. More... | |
virtual Bool | ApplyCurrentPhysicsIsland (SInt32 islandSlot)=0 |
Apply the current physics island in the simulator. More... | |
virtual Bool | ApplyCurrentPhysicsSurfaces (UInt32 numSlots, SInt32 *surfaceSlots) const =0 |
Apply the current collision surfaces in the physics simulator. 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 FinishLogic() 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 physics simulator used to submit physics 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 collision surface to a specific slot.
surface | The collision surface to bind. |
slot | The slot to use, from 0 to IEnums::NUM_SURFACE_SLOTS-1. |
|
pure virtual |
Get a collision surface bound to a specific slot.
slot | The slot to query, from 0 to IEnums::NUM_SURFACE_SLOTS-1. |
|
pure virtual |
Bind a collision island to a specific slot.
island | The collision island to bind. |
slot | The slot to use, from 0 to IEnums::NUM_ISLAND_SLOTS-1. |
|
pure virtual |
Get a collision island bound to a specific slot.
slot | The slot to query, from 0 to IEnums::NUM_ISLAND_SLOTS-1. |
|
pure virtual |
Bind a timeline to a specific unit.
timeline | The timeline to bind. |
unit | The unit to use, from 0 to IEnums::NUM_TIMELINE_UNITS-1. |
|
pure virtual |
Get a timeline bound to a specific unit.
unit | The unit to query, from 0 to IEnums::NUM_TIMELINE_UNITS-1. |
|
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 FinishLogic() method called after traversal.
node | The node to queue up. |
|
pure virtual |
Apply the current world transform in the physics simulator.
|
pure virtual |
Apply the current physics island in the simulator.
islandSlot | The slot of the bound island to apply. |
|
pure virtual |
Apply the current collision surfaces in the physics simulator.
numSlots | The number of surface slot indices to apply. |
surfaceSlots | An array of slot indices to apply. |
|
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 FinishLogic() method called.
Replace the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessLogicTriggers enumeration. |
Add given triggers to the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessLogicTriggers enumeration. |
Remove given triggers from the currently set traversal triggers.
mask | A bit mask of individual triggers, from the Graph::INode::ProcessLogicTriggers 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::ProcessLogicTriggers enumeration. |