#include <ActorUpdateScheduler.h>
Inherits EMotionFX::BaseObject.
Inherited by EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
Public Member Functions | |
virtual const char * | GetName () const =0 |
virtual uint32 | GetType () const =0 |
virtual void | Execute (float timePassedInSeconds)=0 |
virtual void | Clear ()=0 |
virtual void | Print () |
virtual void | RecursiveInsertActorInstance (ActorInstance *actorInstance, size_t startStep=0)=0 |
virtual void | RecursiveRemoveActorInstance (ActorInstance *actorInstance, size_t startStep=0)=0 |
virtual size_t | RemoveActorInstance (ActorInstance *actorInstance, size_t startStep=0)=0 |
size_t | GetNumUpdatedActorInstances () const |
size_t | GetNumVisibleActorInstances () const |
size_t | GetNumSampledActorInstances () const |
Public Member Functions inherited from EMotionFX::BaseObject | |
BaseObject () | |
virtual | ~BaseObject () |
Public Member Functions inherited from MCore::MemoryObject | |
MemoryObject () | |
virtual | ~MemoryObject () |
void | IncreaseReferenceCount () |
void | DecreaseReferenceCount () |
void | Destroy () |
uint32 | GetReferenceCount () const |
Protected Member Functions | |
ActorUpdateScheduler () | |
virtual | ~ActorUpdateScheduler () |
Protected Member Functions inherited from EMotionFX::BaseObject | |
void | Delete () override |
virtual void | Delete () |
Protected Attributes | |
MCore::AtomicSizeT | m_numUpdated |
MCore::AtomicSizeT | m_numVisible |
MCore::AtomicSizeT | m_numSampled |
The actor update scheduler base class. This class is responsible for updating the transformations of all actor instances, in the right order.
|
inlineprotected |
The constructor.
|
inlineprotectedvirtual |
The destructor.
|
pure virtual |
Clear the schedule.
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
pure virtual |
The main method that will trigger all updates of the actor instances.
timePassedInSeconds | The time passed, in seconds, since the last call to the update. |
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
pure virtual |
Get the name of this class, or a description.
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
pure virtual |
Get the unique type ID of the scheduler type. All schedulers will have another ID, so that you can use this to identify what scheduler you are dealing with.
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
inlinevirtual |
LOG the schedule using the LOG method. This can for example show the update order, in which order the actor instances will be updated.
Reimplemented in EMotionFX::MultiThreadScheduler.
|
pure virtual |
Recursively insert an actor instance into the schedule, including all its attachments.
actorInstance | The actor instance to insert. |
startStep | An offset in the schedule where to start trying to insert the actor instances. |
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
pure virtual |
Recursively remove an actor instance and its attachments from the schedule.
actorInstance | The actor instance to remove. |
startStep | An offset in the schedule where to start trying to remove from. |
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.
|
pure virtual |
Remove a single actor instance from the schedule. This will not remove its attachments.
actorInstance | The actor instance to remove. |
startStep | An offset in the schedule where to start trying to remove from. |
Implemented in EMotionFX::MultiThreadScheduler, and EMotionFX::SingleThreadScheduler.