RavEngine
Loading...
Searching...
No Matches
physx::PxBaseTask Class Referenceabstract

Base class of all task types. More...

#include <PxTask.h>

Inheritance diagram for physx::PxBaseTask:
[legend]
Collaboration diagram for physx::PxBaseTask:
[legend]

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
 

Detailed Description

Base class of all task types.

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

Member Function Documentation

◆ addReference()

virtual void physx::PxBaseTask::addReference ( )
pure virtual

Implemented by derived implementation classes.

Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.

◆ getName()

virtual const char * physx::PxBaseTask::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

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.

◆ getReference()

virtual int32_t physx::PxBaseTask::getReference ( ) const
pure virtual

Implemented by derived implementation classes.

Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.

◆ getTaskManager()

PX_FORCE_INLINE PxTaskManager * physx::PxBaseTask::getTaskManager ( ) const
inline

Return PxTaskManager to which this task was submitted.

Note, can return NULL if task was not submitted, or has been completed.

◆ release()

virtual void physx::PxBaseTask::release ( )
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.

◆ removeReference()

virtual void physx::PxBaseTask::removeReference ( )
pure virtual

Implemented by derived implementation classes.

Implemented in physx::Cm::FanoutTask, physx::PxTask, and physx::PxLightCpuTask.

◆ run()

virtual void physx::PxBaseTask::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 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.


The documentation for this class was generated from the following file: