diff options
Diffstat (limited to 'src/simulation')
| -rw-r--r-- | src/simulation/Sample.h | 4 | ||||
| -rw-r--r-- | src/simulation/Simulation.cpp | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/simulation/Sample.h b/src/simulation/Sample.h index bd91d02..0e67331 100644 --- a/src/simulation/Sample.h +++ b/src/simulation/Sample.h @@ -9,6 +9,8 @@ class SimulationSample { public: Particle particle; + int ParticleID; + int PositionX, PositionY; float AirPressure; float AirTemperature; float AirVelocityX; @@ -19,7 +21,7 @@ public: float GravityVelocityX; float GravityVelocityY; - SimulationSample() : particle(), AirPressure(0), AirVelocityX(0), AirVelocityY(0), WallType(0), Gravity(0), GravityVelocityX(0), GravityVelocityY(0), AirTemperature(0) {} + SimulationSample() : PositionX(0), PositionY(0), ParticleID(0), particle(), AirPressure(0), AirVelocityX(0), AirVelocityY(0), WallType(0), Gravity(0), GravityVelocityX(0), GravityVelocityY(0), AirTemperature(0) {} }; #endif
\ No newline at end of file diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 880d2b1..717eb80 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -351,10 +351,18 @@ int Simulation::flood_prop(int x, int y, size_t propoffset, void * propvalue, St SimulationSample Simulation::Get(int x, int y) { SimulationSample sample; + sample.PositionX = x; + sample.PositionY = y; if(pmap[y][x]) + { sample.particle = parts[pmap[y][x]>>8]; - if(photons[y][x]) + sample.ParticleID = pmap[y][x]>>8; + } + else if(photons[y][x]) + { sample.particle = parts[photons[y][x]>>8]; + sample.ParticleID = photons[y][x]>>8; + } sample.AirPressure = pv[y/CELL][x/CELL]; sample.AirTemperature = hv[y/CELL][x/CELL]; sample.AirVelocityX = vx[y/CELL][x/CELL]; |
