39 lines
667 B
C++
39 lines
667 B
C++
//
|
|
// Created by johan on 2025-01-25.
|
|
//
|
|
|
|
#ifndef SIMULATION_H
|
|
#define SIMULATION_H
|
|
namespace simulation
|
|
{
|
|
enum Fluid
|
|
{
|
|
VACUUM = 0,
|
|
WATER,
|
|
MERCURY
|
|
};
|
|
|
|
struct SimulationGrid
|
|
{
|
|
unsigned int* in;
|
|
unsigned int* out;
|
|
unsigned char x_max;
|
|
unsigned char y_max;
|
|
unsigned char z_max;
|
|
};
|
|
|
|
void step(
|
|
double millisecondsSinceLastStep,
|
|
SimulationGrid* grid
|
|
);
|
|
|
|
int getCellOffset(
|
|
unsigned char x,
|
|
unsigned char y,
|
|
unsigned char z,
|
|
SimulationGrid* grid);
|
|
|
|
void prepareForNextStep(SimulationGrid* grid);
|
|
}
|
|
|
|
#endif //SIMULATION_H
|