44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
#ifndef FLUID_PRESSURECELL_BOUNDS_H
|
|
#define FLUID_PRESSURECELL_BOUNDS_H
|
|
|
|
#include "public.h"
|
|
#include "fluid/env/environment.h"
|
|
#include "fluid/queue/chunk.h"
|
|
#include "fluid/queue/chunkmask.h"
|
|
|
|
/**
|
|
* Used for signaling the bounds setting method to not use adjacent cells when evaluating borders
|
|
*/
|
|
#define FLUID_PRESSURECELL_BOUND_NO_DIR 0
|
|
|
|
/**
|
|
* Used for signaling the bounds setting method to use adjacent cells when evaluating x axis borders
|
|
*/
|
|
#define FLUID_PRESSURECELL_DIRECTION_U 1
|
|
|
|
/**
|
|
* Used for signaling the bounds setting method to use adjacent cells when evaluating y axis borders
|
|
*/
|
|
#define FLUID_PRESSURECELL_DIRECTION_V 2
|
|
|
|
/**
|
|
* Used for signaling the bounds setting method to use adjacent cells when evaluating z axis borders
|
|
*/
|
|
#define FLUID_PRESSURECELL_DIRECTION_W 3
|
|
|
|
/**
|
|
* Updates the bounds of the chunk based on its neighbors
|
|
*/
|
|
LIBRARY_API void fluid_pressurecell_update_bounds(Environment * environment, Chunk * chunk);
|
|
|
|
/**
|
|
* Updates the interest tree for this chunk
|
|
*/
|
|
LIBRARY_API void pressurecell_update_interest(Environment * environment, Chunk * chunk);
|
|
|
|
/**
|
|
* Enforces velocity not running into bounds
|
|
*/
|
|
LIBRARY_API void pressurecell_enforce_bounds(Environment * environment, Chunk * chunk);
|
|
|
|
#endif |