PxTask
Defined in include/task/PxTask.h
-
class PxTask : public PxBaseTask
A PxBaseTask implementation with deferred execution and full dependencies.
A PxTask must be submitted to a PxTaskManager to to be executed, Tasks may optionally be named when they are submitted.
Public Functions
-
inline PxTask()
-
inline virtual ~PxTask()
-
inline virtual void release() override
Release method implementation.
-
inline void finishBefore(PxTaskID taskID)
Inform the PxTaskManager this task must finish before the given.
-
inline void startAfter(PxTaskID taskID)
Inform the PxTaskManager this task cannot start until the given.
-
inline virtual void addReference() override
Manually increment this task’s reference count.
The task will not be allowed to run until removeReference() is called.
-
inline virtual void removeReference() override
Manually decrement this task’s reference count.
If the reference count reaches zero, the task will be dispatched.
-
inline virtual int32_t getReference() const override
Return the ref-count for this task.
-
inline virtual void submitted()
Called by PxTaskManager at submission time for initialization.
Perform simulation step initialization here.
-
virtual void run() = 0
The user-implemented run method where the task’s work should be performed.
run() methods must be thread safe, stack friendly (no alloca, etc), and must never block.
-
virtual const char *getName() const = 0
Return a user-provided task name for profiling purposes.
It does not have to be unique, but unique names are helpful.
- Returns
The name of this task
-
inline PxTaskManager *getTaskManager() const
Return PxTaskManager to which this task was submitted.
Note, can return NULL if task was not submitted, or has been completed.
Protected Attributes
-
PxTaskManager *mTm
Owning PxTaskManager instance.
Friends
- friend class PxTaskMgr
-
inline PxTask()