Nv::Blast::ExtGroupTaskManager Class Reference

#include <NvBlastExtPxTask.h>

List of all members.

Public Member Functions

virtual uint32_t process (uint32_t workerCount=0)=0
virtual void release ()=0
virtual void setGroup (TkGroup *)=0
virtual bool wait (bool block=true)=0

Static Public Member Functions

static ExtGroupTaskManagercreate (physx::PxTaskManager &, TkGroup *=nullptr)

Protected Member Functions

virtual ~ExtGroupTaskManager ()


Detailed Description

Uses a physx::PxTaskManager to process a TkGroup concurrently.

Constructor & Destructor Documentation

virtual Nv::Blast::ExtGroupTaskManager::~ExtGroupTaskManager (  )  [inline, protected, virtual]


Member Function Documentation

static ExtGroupTaskManager* Nv::Blast::ExtGroupTaskManager::create ( physx::PxTaskManager &  ,
TkGroup = nullptr 
) [static]

Construct using existing physx::PxTaskManager and TkGroup. The TkGroup can be set later with setGroup().

virtual uint32_t Nv::Blast::ExtGroupTaskManager::process ( uint32_t  workerCount = 0  )  [pure virtual]

Start processing the group. The parallelizing strategy is to have all worker tasks running concurrently. The number of started tasks may be smaller than the requested value, when the task manager's dispatcher thread count or the number of group jobs are smaller.

Parameters:
[in] workerCount The number of worker tasks to start, 0 uses the dispatcher's worker thread count.
Returns:
The number of worker tasks started. If 0, processing did not start and wait() will never return true.

virtual void Nv::Blast::ExtGroupTaskManager::release (  )  [pure virtual]

Release this object.

virtual void Nv::Blast::ExtGroupTaskManager::setGroup ( TkGroup  )  [pure virtual]

Set the group to process. Cannot be changed while a group being processed.

virtual bool Nv::Blast::ExtGroupTaskManager::wait ( bool  block = true  )  [pure virtual]

Wait for the group to end processing. When processing has finished, TkGroup::endProcess is executed.

Parameters:
[in] block true: does not return until the group has been processed. false: return immediately if workers are still processing the group.
Returns:
true if group processing was completed (and the group was actually processing)


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