|
RavEngine
|
Base class of all task types. More...
#include <PxTask.h>
Public Member Functions | |
| 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 int32_t | getReference () const =0 |
| Implemented by derived implementation classes. | |
| virtual void | release ()=0 |
| Implemented by derived implementation classes. | |
| PX_FORCE_INLINE PxTaskManager * | getTaskManager () const |
| Return PxTaskManager to which this task was submitted. | |
| PX_FORCE_INLINE void | setContextId (PxU64 id) |
| PX_FORCE_INLINE PxU64 | getContextId () const |
Protected Attributes | |
| PxU64 | mContextID |
| Context ID for profiler interface. | |
| PxTaskManager * | mTm |
| Owning PxTaskManager instance. | |
Friends | |
| class | PxTaskMgr |
Base class of all task types.
PxBaseTask defines a runnable reference counted task with built-in profiling.
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.
|
pure virtual |
Return a user-provided task name for profiling purposes.
It does not have to be unique, but unique names are helpful.
Implemented in TaskBuildStep, TaskWait, CallbackFinishTask, SubstepCompletionTask, TaskVehicleUpdates, TaskWait, physx::Cm::DelegateTask< T, Fn >, physx::Cm::DelegateTask< NpScene, &NpScene::executeAdvance >, physx::Cm::DelegateTask< NpScene, &NpScene::executeCollide >, physx::Cm::DelegateTask< NpScene, &NpScene::executeScene >, physx::Cm::DelegateTask< NpScene, &NpScene::sceneQueriesDynamicPrunerUpdate >, physx::Cm::DelegateTask< NpScene, &NpScene::sceneQueriesStaticPrunerUpdate >, physx::Cm::DelegateTask< physx::Bp::AABBManager, &AABBManager::postBpStage3 >, physx::Cm::DelegateTask< physx::Sc::NPhaseCore, &Sc::NPhaseCore::mergeProcessedTriggerInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::advanceStep >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::afterIntegration >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhaseFirstPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhaseSecondPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::ccdBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::ccdBroadPhaseAABB >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::collideStep >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::constraintProjection >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::destroyManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::fetchPatchEvents >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::islandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::islandInsertion >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::lostTouchReports >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhaseContinuation >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhaseStage2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postCCDPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postIslandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postSolver >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postThirdPassIslandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preallocateContactManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preIntegrate >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preRigidBodyNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processFoundSolverPatches >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts3 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostSolverPatches >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processNarrowPhaseLostTouchEvents >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processNarrowPhaseLostTouchEventsIslands >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerContactManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerSceneInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::rigidBodyNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::secondPassNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::setEdgesConnected >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::solver >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::unblockNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::unregisterInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateBodies >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDMultiPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePassStage2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePassStage3 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateDynamics >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateShapes >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateSimulationController >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDAdvance >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDDepenetrate >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDSweep >, physx::Cm::FanoutTask, physx::IG::ThirdPassTask, physx::IG::PostThirdPassTask, PxsCMDiscreteUpdateTask, physx::Bp::PostBroadPhaseStage2Task, physx::Bp::AggregateBoundsComputationTask, physx::Bp::PreBpUpdateTask, ProcessAggPairsParallelTask, SortAggregateBoundsParallel, ProcessSelfCollisionPairsParallel, physx::Bp::BroadPhaseBatchUpdateWorkTask, physx::Dy::PxsPreIntegrateTask, physx::Dy::PxsParallelSolverTask, physx::Dy::PxsSolverConstraintPostProcessTask, physx::Dy::PxsForceThresholdTask, physx::Dy::SolverArticulationUpdateTask, physx::Dy::PxsSolverStartTask, physx::Dy::PxsSolverConstraintPartitionTask, physx::Dy::PxsSolverSetupSolveTask, physx::Dy::PxsSolverEndTask, physx::Dy::PxsSolverCreateFinalizeConstraintsTask, physx::Dy::UpdateContinuationTask, physx::Dy::KinematicCopyTask, physx::Dy::PxsCreateFinalizeContactsTask, physx::Dy::PxsCreateArticConstraintsTask, physx::Dy::DynamicsMergeTask, physx::Dy::KinematicCopyTGSTask, physx::Dy::UpdateContinuationTGSTask, physx::Dy::ArticulationTask, physx::Dy::SetupDescsTask, physx::Dy::PreIntegrateParallelTask, physx::Dy::PreIntegrateTask, physx::Dy::SetStepperTask, physx::Dy::SetupArticulationTask, physx::Dy::SetupArticulationInternalConstraintsTask, physx::Dy::SetupSolverConstraintsSubTask, physx::Dy::PxsCreateArticConstraintsSubTask, physx::Dy::SetupSolverConstraintsTask, physx::Dy::PartitionTask, physx::Dy::ParallelSolveTask, physx::Dy::SolveIslandTask, physx::Dy::EndIslandTask, physx::Dy::FinishSolveIslandTask, physx::Dy::CopyBackTask, physx::Dy::UpdateArticTask, physx::NpContactCallbackTask, SpeculativeCCDContactDistanceUpdateTask, SpeculativeCCDContactDistanceArticulationUpdateTask, ScAfterIntegrationTask, PxgUpdateBodyAndShapeStatusTask, DirtyShapeUpdatesTask, InteractionNewTouchTask, UpdateCCDBoundsTask, ScKinematicPoseUpdateTask, ScKinematicShapeUpdateTask, ConstraintProjectionTask, ScKinematicUpdateTask, ScBeforeSolverTask, ScArticBeforeSolverCCDTask, ScArticBeforeSolverTask, UpdateProjectedPoseTask, OverlapFilterTask, OnOverlapCreatedTask, UpdateArticulationAfterIntegrationTask, internalABP::ABP_InternalTask, internalABP::ABP_CompleteBoxPruningTask, internalABP::ABP_CompleteBoxPruningEndTask, and internalABP::ABP_CompleteBoxPruningStartTask.
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.
|
inline |
Return PxTaskManager to which this task was submitted.
Note, can return NULL if task was not submitted, or has been completed.
|
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 TaskWait, CallbackFinishTask, SubstepCompletionTask, TaskWait, physx::Cm::FanoutTask, PxsCMUpdateTask, physx::Dy::DynamicsMergeTask, physx::Dy::SetStepperTask, physx::PxTask, and physx::PxLightCpuTask.
|
pure virtual |
Implemented by derived implementation classes.
Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.
|
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 TaskBuildStep, TaskWait, CallbackFinishTask, SubstepCompletionTask, TaskVehicleUpdates, TaskWait, physx::Cm::Task, physx::Cm::BaseTask, physx::Cm::DelegateTask< T, Fn >, physx::Cm::DelegateTask< NpScene, &NpScene::executeAdvance >, physx::Cm::DelegateTask< NpScene, &NpScene::executeCollide >, physx::Cm::DelegateTask< NpScene, &NpScene::executeScene >, physx::Cm::DelegateTask< NpScene, &NpScene::sceneQueriesDynamicPrunerUpdate >, physx::Cm::DelegateTask< NpScene, &NpScene::sceneQueriesStaticPrunerUpdate >, physx::Cm::DelegateTask< physx::Bp::AABBManager, &AABBManager::postBpStage3 >, physx::Cm::DelegateTask< physx::Sc::NPhaseCore, &Sc::NPhaseCore::mergeProcessedTriggerInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::advanceStep >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::afterIntegration >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhaseFirstPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::broadPhaseSecondPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::ccdBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::ccdBroadPhaseAABB >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::collideStep >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::constraintProjection >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::destroyManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::fetchPatchEvents >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::islandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::islandInsertion >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::lostTouchReports >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhaseContinuation >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postBroadPhaseStage2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postCCDPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postIslandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postSolver >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::postThirdPassIslandGen >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preallocateContactManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preIntegrate >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::preRigidBodyNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processFoundSolverPatches >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostContacts3 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processLostSolverPatches >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processNarrowPhaseLostTouchEvents >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::processNarrowPhaseLostTouchEventsIslands >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerContactManagers >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::registerSceneInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::rigidBodyNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::secondPassNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::setEdgesConnected >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::solver >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::unblockNarrowPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::unregisterInteractions >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateBodies >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateBroadPhase >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDMultiPass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePass >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePassStage2 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateCCDSinglePassStage3 >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateDynamics >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateShapes >, physx::Cm::DelegateTask< physx::Sc::Scene, &Scene::updateSimulationController >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDAdvance >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDDepenetrate >, physx::Cm::DelegateTask< PxsCCDContext, &PxsCCDContext::postCCDSweep >, physx::NpContactCallbackTask, internalABP::ABP_InternalTask, internalABP::ABP_CompleteBoxPruningTask, internalABP::ABP_CompleteBoxPruningEndTask, and internalABP::ABP_CompleteBoxPruningStartTask.