#include <Fire3dSimulator.h>
Inheritance diagram for GpuThesis::Fire3dSimulator:
Public Member Functions | |
Fire3dSimulator (unsigned int width, unsigned int height, unsigned int depth, Fluid3dSolver::FluidFactory *factory, FireFactory *fireFactory, Fluid3dSolver::BoundaryType densityBoundary, Fluid3dSolver::BoundaryType velocityBoundary) | |
OpenGL::Flat3dTextureSet * | getFlat3dTextureSet () |
unsigned int | getVelocityTexture () const |
unsigned int | getColorTexture () const |
unsigned int | getSmokeTexture () const |
void | setFuelSources (const Util::VoxelGrid< float > &values) |
void | setTemperatureSources (const Util::VoxelGrid< float > &values) |
void | setColorTable (const std::vector< float > &values, unsigned int dimension) |
float | getVoxelSize () const |
void | ignite (float timestep) |
void | setUniformAdvection (const Math::Vector3d &distance) |
Private Member Functions | |
void | doRun (float timestep) |
void | doReset () |
|
Constructs a Fire3dSimulator.
|
|
Implemented by subclasses. Implements GpuThesis::Runnable. |
|
Implemented by subclasses.
Implements GpuThesis::Runnable. |
|
Returns the texture id of the color texture. This texture contains the visual results of the fire simulation.
|
|
Returns the texture set containing all the simulation textures.
|
|
Returns the texture id of the smoke texture. This texture contains the smoke of the fire simulation.
|
|
Returns the texture id of the velocity texture.
|
|
Returns the voxel size used in the simulation domain.
|
|
Ignites the fire simulation by setting the fire threshold below zero for timestep seconds.
|
|
Sets the color table to be used when computing the final color texture. The color table should contain the range of colors expected to be seen in the fire, from dark to bright colors. The values in the color table vector should be in the range 0-1, and stored on the form (red, green, blue) * dimension.
|
|
Sets the fuel sources to be used in the fire simulation.
|
|
Sets the temperature sources to be used in the fire simulation.
|
|
Advects the contents of the fire simulation (density and velocity). Note that distance must be in local simulation scale.
|