29 #ifndef NVBLASTTKGROUPIMPL_H 30 #define NVBLASTTKGROUPIMPL_H 55 static TkGroupImpl* create(
const TkGroupDesc& desc);
58 virtual bool addActor(
TkActor& actor)
override;
60 virtual uint32_t getActorCount()
const override;
62 virtual uint32_t getActors(
TkActor** buffer, uint32_t bufferSize, uint32_t indexStart = 0)
const override;
64 virtual uint32_t startProcess()
override;
65 virtual bool endProcess()
override;
67 virtual void getStats(
TkGroupStats& stats)
const override;
69 virtual void setWorkerCount(uint32_t workerCount)
override;
70 virtual uint32_t getWorkerCount()
const override;
85 bool removeActor(
TkActor& actor);
98 bool isProcessing()
const;
109 bool setProcessing(
bool value);
115 void releaseSharedMemory(TkFamilyImpl* fam,
SharedMemory* mem);
119 void addActorsInternal(
TkActorImpl** actors, uint32_t numActors);
123 uint32_t m_actorCount;
134 std::atomic<bool> m_isProcessing;
144 std::mutex m_workerMtx;
150 NV_INLINE bool TkGroupImpl::isProcessing()
const 152 return m_isProcessing.load();
166 NV_INLINE uint32_t TkGroupImpl::getActorCount()
const 194 #endif // ifndef NVBLASTTKGROUPIMPL_H int64_t fracture
Time spent applying damage.
Definition: NvBlastTypes.h:88
NV_CUDA_CALLABLE NV_INLINE void NV_UNUSED(T const &)
Definition: NvPreprocessor.h:476
Definition: NvBlastTkActorImpl.h:75
physx::shdfnd::Array< T, Allocator > type
Definition: NvBlastArray.h:48
int64_t partition
Time spent partitioning the graph.
Definition: NvBlastTypes.h:90
Definition: NvBlastTkActor.h:57
int64_t material
Time spent in material function.
Definition: NvBlastTypes.h:87
Definition: NvBlastTkGroup.h:48
NV_FORCE_INLINE void operator+=(NvBlastTimers &lhs, const NvBlastTimers &rhs)
Definition: NvBlastTkGroupImpl.h:180
Definition: NvBlastTkGroup.h:58
physx::shdfnd::HashMap< Key, Value, HashFn, Allocator > type
Definition: NvBlastHashMap.h:48
Definition: NvBlastTkTaskImpl.h:346
#define NVBLAST_ASSERT(exp)
Definition: NvBlastAssert.h:37
Definition: NvBlastTypes.h:85
#define NVBLASTTK_IMPL_DEFINE_IDENTIFIABLE(_id0, _id1, _id2, _id3)
Definition: NvBlastTkCommon.h:91
NVBLASTTK_IMPL_DECLARE(Asset)
Definition: NvBlastTkAssetImpl.h:52
#define NV_INLINE
Definition: NvPreprocessor.h:350
int64_t island
Time spent discovering islands.
Definition: NvBlastTypes.h:89
int64_t visibility
Time spent updating visibility.
Definition: NvBlastTypes.h:91
Definition: NvBlastTkTaskImpl.h:75
Definition: NvBlastTkTaskImpl.h:257
Definition: NvBlastTkGroup.h:74
Definition: NvBlastArray.h:37
#define NV_FORCE_INLINE
Definition: NvPreprocessor.h:365