#include <Grid2D.h>
Classes | |
| struct | Cell |
Public Attributes | |
| int | nx |
| int | ny |
| int | ncell |
| Cell * | fdata |
| real * | pressure |
| real * | levelset |
| real | t |
| real | tend |
| real | max_pressure |
| Cell | bcell |
| int * | fmm_status |
| int * | fmm_heap |
| int | fmm_heap_size |
Static Public Attributes | |
| static const unsigned long * | obstacles = NULL |
Public Member Functions | |
| Grid2D () | |
| ~Grid2D () | |
| void | clear (int _nx, int _ny) |
| int | clamp_x (int x) |
| int | clamp_y (int y) |
| int | clamp_in_x (int x) |
| int | clamp_in_y (int y) |
| int | index (int x, int y) const |
| int | index (const vec2 &p) const |
| Cell * | get (int x, int y, Cell *base) const |
| const Cell * | get (int x, int y, const Cell *base) const |
| Cell * | get (int x, int y) |
| const Cell * | get (int x, int y) const |
| Cell * | get (const vec2 &p) |
| const Cell * | get (const vec2 &p) const |
| template<int C> | |
| real | interp (const Cell *base, real fx, real fy) const |
| template<int C> | |
| real | interp (vec2 p) const |
| vec2 | interp (vec2 p) const |
| template<int C> | |
| void | impulse (Cell *base, real fx, real fy, real i) |
| template<int C> | |
| void | impulse (vec2 p, real i) |
| void | impulse (const vec2 &p, const vec2 &i) |
| real * | getpressure (int x, int y) |
| real | getpressure (vec2 p) |
| real * | getlevelset (int x, int y) |
| real | getlevelset (vec2 p) |
| void | seed (real height) |
| void | seed (real height, vec2 normal) |
| void | seed (vec2 p0, vec2 p1, vec2 velocity=vec2(0, 0)) |
| void | step (Grid2D *prev, Grid2D *temp, real dt=0.04, real diff=0.00001) |
| void | step_init (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_levelset (Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_forces (const Grid2D *prev, Grid2D *temp, real dt, real diff, real scale=1.0) |
| void | step_surface (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_advect (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_diffuse (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_project (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| void | step_color (const Grid2D *prev, Grid2D *temp, real dt, real diff) |
| int | fmm_pop () |
| void | fmm_push (int index) |
| void | fmm_swap (int entry1, int entry2) |
Static Public Member Functions | |
| template<class T > | |
| static T | lerp (T a, T b, real f) |
| Cell sofaeulerianfluid::Grid2D::bcell |
| Cell* sofaeulerianfluid::Grid2D::fdata |
| int* sofaeulerianfluid::Grid2D::fmm_heap |
| int sofaeulerianfluid::Grid2D::fmm_heap_size |
| int* sofaeulerianfluid::Grid2D::fmm_status |
| real* sofaeulerianfluid::Grid2D::levelset |
| real sofaeulerianfluid::Grid2D::max_pressure |
| int sofaeulerianfluid::Grid2D::ncell |
| int sofaeulerianfluid::Grid2D::nx |
| int sofaeulerianfluid::Grid2D::ny |
|
static |
| real* sofaeulerianfluid::Grid2D::pressure |
| real sofaeulerianfluid::Grid2D::t |
| real sofaeulerianfluid::Grid2D::tend |
| sofaeulerianfluid::Grid2D::Grid2D | ( | ) |
| sofaeulerianfluid::Grid2D::~Grid2D | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
| void sofaeulerianfluid::Grid2D::clear | ( | int | _nx, |
| int | _ny | ||
| ) |
| int sofaeulerianfluid::Grid2D::fmm_pop | ( | ) |
| void sofaeulerianfluid::Grid2D::fmm_push | ( | int | index | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
| void sofaeulerianfluid::Grid2D::seed | ( | real | height | ) |
| void sofaeulerianfluid::Grid2D::step | ( | Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt = 0.04, |
||
| real | diff = 0.00001 |
||
| ) |
| void sofaeulerianfluid::Grid2D::step_advect | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |
| void sofaeulerianfluid::Grid2D::step_color | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |
| void sofaeulerianfluid::Grid2D::step_diffuse | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |
| void sofaeulerianfluid::Grid2D::step_forces | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff, | ||
| real | scale = 1.0 |
||
| ) |
| void sofaeulerianfluid::Grid2D::step_init | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |
| void sofaeulerianfluid::Grid2D::step_project | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |
| void sofaeulerianfluid::Grid2D::step_surface | ( | const Grid2D * | prev, |
| Grid2D * | temp, | ||
| real | dt, | ||
| real | diff | ||
| ) |