![]() |
Murl Engine API
Version 2025.1
|
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 | 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 | 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 |
Set the current skeletom.
| skeleton | The skeleton. |
|
pure virtual |
Get the current skeleton.
|
pure virtual |
Bind a bone to a specific unit.
| bone | The bone to bind. |
| unit | The unit to use, from 0 to IEnums::NUM_BONE_UNITS-1. |
|
pure virtual |
Get a bone bound to a specific unit.
| unit | The unit to query, from 0 to IEnums::NUM_BONE_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. |