![]() |
Base class of all task types. More...
#include <PxTask.h>


Public Member Functions | |
| PxBaseTask () | |
| virtual | ~PxBaseTask () |
| virtual void | run ()=0 |
| The user-implemented run method where the task's work should be performed. More... | |
| virtual const char * | getName () const =0 |
| Return a user-provided task name for profiling purposes. More... | |
| virtual void | addReference ()=0 |
| Implemented by derived implementation classes. More... | |
| virtual void | removeReference ()=0 |
| Implemented by derived implementation classes. More... | |
| virtual int32_t | getReference () const =0 |
| Implemented by derived implementation classes. More... | |
| virtual void | release ()=0 |
| Implemented by derived implementation classes. More... | |
| PX_FORCE_INLINE PxTaskManager * | getTaskManager () const |
| Return PxTaskManager to which this task was submitted. More... | |
| PX_FORCE_INLINE void | setContextId (PxU64 id) |
| PX_FORCE_INLINE PxU64 | getContextId () const |
Protected Attributes | |
| PxU64 | mContextID |
| Context ID for profiler interface. More... | |
| PxTaskManager * | mTm |
| Owning PxTaskManager instance. More... | |
Friends | |
| class | PxTaskMgr |
Base class of all task types.
PxBaseTask defines a runnable reference counted task with built-in profiling.
|
inline |
|
inlinevirtual |
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::PxLightCpuTask, and physx::PxTask.
Referenced by physx::PxLightCpuTask::setContinuation().
|
inline |
References mContextID.
|
pure virtual |
Return a user-provided task name for profiling purposes.
It does not have to be unique, but unique names are helpful.
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::PxLightCpuTask, and physx::PxTask.
|
inline |
Return PxTaskManager to which this task was submitted.
Note, can return NULL if task was not submitted, or has been completed.
References mTm.
Referenced by physx::PxLightCpuTask::setContinuation().
|
pure virtual |
Implemented by derived implementation classes.
A task may assume in its release() method that the task system no longer holds references to it - so it may safely run its destructor, recycle itself, etc. provided no additional user references to the task exist
Implemented in physx::PxLightCpuTask, and physx::PxTask.
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::PxLightCpuTask, and physx::PxTask.
Referenced by physx::PxLightCpuTask::release().
|
pure virtual |
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.
|
inline |
References mContextID.
|
friend |
|
protected |
Context ID for profiler interface.
Referenced by getContextId(), and setContextId().
|
protected |
Owning PxTaskManager instance.
Referenced by physx::PxTask::addReference(), physx::PxLightCpuTask::addReference(), physx::PxTask::finishBefore(), physx::PxTask::getReference(), getTaskManager(), physx::PxTask::release(), physx::PxTask::removeReference(), physx::PxLightCpuTask::removeReference(), physx::PxLightCpuTask::setContinuation(), physx::PxTask::startAfter(), and physx::PxLightCpuTask::~PxLightCpuTask().