PxBaseTask#

Defined in include/task/PxTask.h

class PxBaseTask#

Base class of all task types.

PxBaseTask defines a runnable reference counted task with built-in profiling.

Subclassed by PxLightCpuTask, PxTask

Public Functions

inline PxBaseTask()#
inline virtual ~PxBaseTask()#
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

virtual void addReference() = 0#

Implemented by derived implementation classes.

virtual void removeReference() = 0#

Implemented by derived implementation classes.

virtual int32_t getReference() const = 0#

Implemented by derived implementation classes.

virtual void release() = 0#

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

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.

inline void setContextId(PxU64 id)#
inline PxU64 getContextId() const#

Protected Attributes

PxU64 mContextID#

Context ID for profiler interface.

PxTaskManager *mTm#

Owning PxTaskManager instance.

Friends

friend class PxTaskMgr