15 #include <tbb/concurrent_queue.h>
16 #include <tbb/task_group.h>
17 #include <tbb/task_arena.h>
20 #include <condition_variable>
std::atomic< bool > myShutdownFlag
Atomic flag indicating whether the processing thread should shutdown.
Definition: backgroundBvhBuilder.h:78
std::mutex myMutex
Mutex for protecting access to the condition variable and shutdown coordination.
Definition: backgroundBvhBuilder.h:90
tbb::concurrent_queue< DtBvhTriangleMeshShape::Ptr > myShapesToProcess
Thread-safe queue containing shapes waiting to be processed.
Definition: backgroundBvhBuilder.h:73
std::condition_variable myThreadCV
Condition variable for waking up the worker thread.
Definition: backgroundBvhBuilder.h:96
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
std::unique_ptr< tbb::task_arena > myTaskArena
TBB task arena that limits the number of threads used for parallel processing.
Definition: backgroundBvhBuilder.h:102
std::thread * myProcessingThread
Worker thread that processes the shape queue.
Definition: backgroundBvhBuilder.h:84
std::shared_ptr< DtBvhTriangleMeshShape > Ptr
Definition: bvhTriangleMeshShape.h:83
std::unique_ptr< tbb::task_group > myTaskGroup
TBB task group for managing parallel BVH building operations.
Definition: backgroundBvhBuilder.h:108
Background BVH builder that processes triangle mesh shapes in parallel.
Definition: backgroundBvhBuilder.h:36