pxtask::BaseTask Class Reference
Base class of all task types. More...
#include <PxTask.h>


Public Member Functions | |
| BaseTask () | |
| virtual | ~BaseTask () |
| virtual void | run ()=0 |
| The user-implemented run method where the task's work should be performed. | |
| virtual const char * | getName () const =0 |
| Return a user-provided task name for profiling purposes. | |
| virtual void | addReference ()=0 |
| Implemented by derived implementation classes. | |
| virtual void | removeReference ()=0 |
| Implemented by derived implementation classes. | |
| virtual PxI32 | getReference () const =0 |
| Implemented by derived implementation classes. | |
| virtual void | release ()=0 |
| Implemented by derived implementation classes. | |
| PX_INLINE void | runProfiled () |
| Execute user run method with wrapping profiling events. | |
| PX_INLINE void | setProfileStat (PxU16 stat) |
| Specify stop event statistic. | |
| PX_INLINE TaskManager * | getTaskManager () const |
| Return TaskManager to which this task was submitted. | |
Protected Attributes | |
| PxU16 | mEventID |
| Registered profile event ID. | |
| PxU16 | mProfileStat |
| Profiling statistic. | |
| TaskManager * | mTm |
| Owning TaskManager instance. | |
Friends | |
| class | TaskMgr |
Detailed Description
Base class of all task types.BaseTask defines a runnable reference counted task with built-in profiling.
Constructor & Destructor Documentation
| pxtask::BaseTask::BaseTask | ( | ) | [inline] |
| virtual pxtask::BaseTask::~BaseTask | ( | ) | [inline, virtual] |
Member Function Documentation
| virtual void pxtask::BaseTask::addReference | ( | ) | [pure virtual] |
Implemented by derived implementation classes.
Implemented in pxtask::Task, and pxtask::LightCpuTask.
Referenced by pxtask::LightCpuTask::setContinuation().
| virtual const char* pxtask::BaseTask::getName | ( | ) | const [pure virtual] |
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 PxI32 pxtask::BaseTask::getReference | ( | ) | const [pure virtual] |
Implemented by derived implementation classes.
Implemented in pxtask::Task, and pxtask::LightCpuTask.
| PX_INLINE TaskManager* pxtask::BaseTask::getTaskManager | ( | ) | const [inline] |
Return TaskManager to which this task was submitted.
Note, can return NULL if task was not submitted, or has been completed.
| virtual void pxtask::BaseTask::release | ( | ) | [pure virtual] |
Implemented by derived implementation classes.
Implemented in pxtask::GpuTask, pxtask::Task, and pxtask::LightCpuTask.
| virtual void pxtask::BaseTask::removeReference | ( | ) | [pure virtual] |
Implemented by derived implementation classes.
Implemented in pxtask::SpuTask, pxtask::Task, and pxtask::LightCpuTask.
Referenced by pxtask::GpuTask::release().
| virtual void pxtask::BaseTask::run | ( | ) | [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.
Implemented in pxtask::SpuTask.
| PX_INLINE void pxtask::BaseTask::runProfiled | ( | ) | [inline] |
Execute user run method with wrapping profiling events.
Optional entry point for use by CpuDispatchers.
| PX_INLINE void pxtask::BaseTask::setProfileStat | ( | PxU16 | stat | ) | [inline] |
Specify stop event statistic.
If called before or while the task is executing, the given value will appear in the task's event bar in the profile viewer
- Parameters:
-
[in] stat The stat to signal when the task is finished
Friends And Related Function Documentation
friend class TaskMgr [friend] |
Reimplemented in pxtask::Task, and pxtask::LightCpuTask.
Member Data Documentation
PxU16 pxtask::BaseTask::mEventID [protected] |
Registered profile event ID.
PxU16 pxtask::BaseTask::mProfileStat [protected] |
Profiling statistic.
TaskManager* pxtask::BaseTask::mTm [protected] |
Owning TaskManager instance.
The documentation for this class was generated from the following file:
Copyright © 2008-2012 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com