#include <NvBlastExtPxTaskImpl.h>

Public Member Functions | |
| ExtGroupTaskManagerImpl (physx::PxTaskManager &taskManager, TkGroup *group) | |
| virtual uint32_t | process (uint32_t) override |
| virtual void | release () override |
| virtual void | setGroup (TkGroup *) override |
| virtual bool | wait (bool block) override |
| Nv::Blast::ExtGroupTaskManagerImpl::ExtGroupTaskManagerImpl | ( | physx::PxTaskManager & | taskManager, | |
| TkGroup * | group | |||
| ) | [inline] |
| virtual uint32_t Nv::Blast::ExtGroupTaskManagerImpl::process | ( | uint32_t | workerCount | ) | [override, 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.
| [in] | workerCount | The number of worker tasks to start, 0 uses the dispatcher's worker thread count. |
Implements Nv::Blast::ExtGroupTaskManager.
| virtual void Nv::Blast::ExtGroupTaskManagerImpl::release | ( | ) | [override, virtual] |
Release this object.
Implements Nv::Blast::ExtGroupTaskManager.
| virtual void Nv::Blast::ExtGroupTaskManagerImpl::setGroup | ( | TkGroup * | ) | [override, virtual] |
Set the group to process. Cannot be changed while a group being processed.
Implements Nv::Blast::ExtGroupTaskManager.
| virtual bool Nv::Blast::ExtGroupTaskManagerImpl::wait | ( | bool | block | ) | [override, virtual] |
Wait for the group to end processing. When processing has finished, TkGroup::endProcess is executed.
| [in] | block | true: does not return until the group has been processed. false: return immediately if workers are still processing the group. |
Implements Nv::Blast::ExtGroupTaskManager.