Main Page Class List Class Members

# 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 ExtGroupTaskManager * | create (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:

- sdk/extensions/physx/include/NvBlastExtPxTask.h