Manages a thread pool to compute 3D explicit thermal diffusion across voxel chunks.
More...
#include <src/physics/ThermalSystem.h>
|
| void | workerThreadLoop (int iThreadID) |
| | Main execution loop for each worker thread, regulated by barrier synchronization.
|
| |
Manages a thread pool to compute 3D explicit thermal diffusion across voxel chunks.
◆ ThermalSystem()
| ThermalSystem::ThermalSystem |
( |
int |
iNumThreads | ) |
|
◆ ~ThermalSystem()
| ThermalSystem::~ThermalSystem |
( |
| ) |
|
◆ SetEnableSIMD()
| void ThermalSystem::SetEnableSIMD |
( |
bool |
bEnable | ) |
|
|
inline |
◆ UpdateTemperature()
| void ThermalSystem::UpdateTemperature |
( |
float |
fDeltaTime, |
|
|
ChunkManager & |
objChunkManager |
|
) |
| |
Wakes worker threads to compute the next thermal integration step based on elapsed time.
◆ workerThreadLoop()
| void ThermalSystem::workerThreadLoop |
( |
int |
iThreadID | ) |
|
|
private |
Main execution loop for each worker thread, regulated by barrier synchronization.
◆ m_bIsRunning
| std::atomic<bool> ThermalSystem::m_bIsRunning |
|
private |
◆ m_bIsSIMDEnabled
| std::atomic<bool> ThermalSystem::m_bIsSIMDEnabled |
|
private |
◆ m_fCurrDeltaTime
| float ThermalSystem::m_fCurrDeltaTime |
|
private |
◆ m_iNumThreads
| int ThermalSystem::m_iNumThreads |
|
private |
◆ m_pCurrChunkManager
◆ m_pPhase1Barrier
| std::unique_ptr<std::barrier<> > ThermalSystem::m_pPhase1Barrier |
|
private |
◆ m_pPhase2Barrier
| std::unique_ptr<std::barrier<> > ThermalSystem::m_pPhase2Barrier |
|
private |
◆ m_pStartBarrier
| std::unique_ptr<std::barrier<> > ThermalSystem::m_pStartBarrier |
|
private |
◆ m_vecWorkerThreads
| std::vector<std::thread> ThermalSystem::m_vecWorkerThreads |
|
private |
The documentation for this class was generated from the following files: