diff options
author | Nils Thuerey <nils@thuerey.de> | 2006-03-29 11:35:54 +0400 |
---|---|---|
committer | Nils Thuerey <nils@thuerey.de> | 2006-03-29 11:35:54 +0400 |
commit | 0a63b3c0ca032d7bb26a97164f034a49499eee68 (patch) | |
tree | c14cbc74d3b0e6136dc060fe4e8a1bf16804a90b /intern/elbeem/extern/elbeem.h | |
parent | 0d2902b1fe50cd27f0046a4c0ecf140e6e1284a8 (diff) |
Several minor fixes:
- Added part of Austin's msvc8 fixes (vector::erase function
was "misused"), hopefully compiles better now.
- Ctrl-b now also bakes a selected fluidsim domain
similar to the softbodies.
- Added surface smoothing option for domains: default is
1, higher values result in a smoother surface (and probably
slightly higher comupation times), while 0 means the surface
is not modified at all.
- Added BLENDER_ELBEEMBOBJABORT environment variable in readBobj,
if >0 quits blender when a not yet existing fluidsim
frame should be loaded. Useful for rendering simulations
as far as possible from the command line.
- Surface normals pointer is now set to NULL in readfile.c
- Fixed win32 error string handling, now uses a function
to return the string from the solver.
- Fixed fluidsim particle halo scaling problem.
- Solver update
Diffstat (limited to 'intern/elbeem/extern/elbeem.h')
-rw-r--r-- | intern/elbeem/extern/elbeem.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/intern/elbeem/extern/elbeem.h b/intern/elbeem/extern/elbeem.h index 83a9cb99afc..f0d154c18a4 100644 --- a/intern/elbeem/extern/elbeem.h +++ b/intern/elbeem/extern/elbeem.h @@ -73,6 +73,10 @@ typedef struct elbeemSimulationSettings { /* global transformation to apply to fluidsim mesh */ float surfaceTrafo[4*4]; + + /* development variables, testing for upcoming releases...*/ + float farFieldSize; + } elbeemSimulationSettings; @@ -122,8 +126,12 @@ extern "C" { // reset elbeemSimulationSettings struct with defaults void elbeemResetSettings(struct elbeemSimulationSettings*); -// start fluidsim init +// start fluidsim init (returns !=0 upon failure) int elbeemInit(struct elbeemSimulationSettings*); +// get failure message during simulation or init +// if an error occured (the string is copied into buffer, +// max. length = 256 chars ) +void elbeemGetErrorString(char *buffer); // reset elbeemMesh struct with zeroes void elbeemResetMesh(struct elbeemMesh*); @@ -135,17 +143,36 @@ int elbeemAddMesh(struct elbeemMesh*); int elbeemSimulate(void); -// helper function - simplify animation channels +// helper functions + +// simplify animation channels // returns if the channel and its size changed int elbeemSimplifyChannelFloat(float *channel, int *size); int elbeemSimplifyChannelVec3(float *channel, int *size); +// helper functions implemented in utilities.cpp + +/* set elbeem debug output level (0=off to 10=full on) */ +void elbeemSetDebugLevel(int level); +/* elbeem debug output function, prints if debug level >0 */ +void elbeemDebugOut(char *msg); + +/* estimate how much memory a given setup will require */ +double elbeemEstimateMemreq(int res, + float sx, float sy, float sz, + int refine, char *retstr); + + + #ifdef __cplusplus } #endif // __cplusplus + + /******************************************************************************/ -// internal defines, do not use for setting up simulation +// internal defines, do not use for initializing elbeemMesh +// structs, for these use OB_xxx defines above /*! fluid geometry init types */ #define FGI_FLAGSTART 16 |