Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

elbeem.h File Reference

Go to the source code of this file.

Classes

struct  elbeemSimulationSettings
struct  elbeemMesh

Defines

#define FLUIDSIM_CBRET_CONTINUE   0
#define FLUIDSIM_CBRET_STOP   1
#define FLUIDSIM_CBRET_ABORT   2
#define FLUIDSIM_CBSTATUS_STEP   1
#define FLUIDSIM_CBSTATUS_NEWFRAME   2
#define OB_FLUIDSIM_FLUID   4
#define OB_FLUIDSIM_OBSTACLE   8
#define OB_FLUIDSIM_INFLOW   16
#define OB_FLUIDSIM_OUTFLOW   32
#define OB_FLUIDSIM_PARTICLE   64
#define OB_FLUIDSIM_CONTROL   128
#define FLUIDSIM_OBSTACLE_NOSLIP   1
#define FLUIDSIM_OBSTACLE_PARTSLIP   2
#define FLUIDSIM_OBSTACLE_FREESLIP   3
#define FLUIDSIM_FSSG_NOOBS   64
#define OB_VOLUMEINIT_VOLUME   1
#define OB_VOLUMEINIT_SHELL   2
#define OB_VOLUMEINIT_BOTH   (OB_VOLUMEINIT_SHELL|OB_VOLUMEINIT_VOLUME)
#define FGI_FLAGSTART   16
#define FGI_FLUID   (1<<(FGI_FLAGSTART+ 0))
#define FGI_NO_FLUID   (1<<(FGI_FLAGSTART+ 1))
#define FGI_BNDNO   (1<<(FGI_FLAGSTART+ 2))
#define FGI_BNDFREE   (1<<(FGI_FLAGSTART+ 3))
#define FGI_BNDPART   (1<<(FGI_FLAGSTART+ 4))
#define FGI_NO_BND   (1<<(FGI_FLAGSTART+ 5))
#define FGI_MBNDINFLOW   (1<<(FGI_FLAGSTART+ 6))
#define FGI_MBNDOUTFLOW   (1<<(FGI_FLAGSTART+ 7))
#define FGI_CONTROL   (1<<(FGI_FLAGSTART+ 8))
#define FGI_ALLBOUNDS   ( FGI_BNDNO | FGI_BNDFREE | FGI_BNDPART | FGI_MBNDINFLOW | FGI_MBNDOUTFLOW )

Typedefs

typedef int(* elbeemRunSimulationCallback )(void *data, int status, int frame)
typedef struct
elbeemSimulationSettings 
elbeemSimulationSettings
typedef struct elbeemMesh elbeemMesh

Functions

void elbeemResetSettings (struct elbeemSimulationSettings *)
int elbeemInit (void)
int elbeemFree (void)
int elbeemAddDomain (struct elbeemSimulationSettings *)
void elbeemGetErrorString (char *buffer)
void elbeemResetMesh (struct elbeemMesh *)
int elbeemAddMesh (struct elbeemMesh *)
int elbeemSimulate (void)
int elbeemContinueSimulation (void)
int elbeemSimplifyChannelFloat (float *channel, int *size)
int elbeemSimplifyChannelVec3 (float *channel, int *size)
void elbeemSetDebugLevel (int level)
void elbeemDebugOut (char *msg)
double elbeemEstimateMemreq (int res, float sx, float sy, float sz, int refine, char *retstr)

Detailed Description

Definition in file elbeem.h.


Define Documentation

#define FGI_ALLBOUNDS   ( FGI_BNDNO | FGI_BNDFREE | FGI_BNDPART | FGI_MBNDINFLOW | FGI_MBNDOUTFLOW )
#define FGI_BNDFREE   (1<<(FGI_FLAGSTART+ 3))
#define FGI_BNDNO   (1<<(FGI_FLAGSTART+ 2))
#define FGI_BNDPART   (1<<(FGI_FLAGSTART+ 4))
#define FGI_CONTROL   (1<<(FGI_FLAGSTART+ 8))
#define FGI_FLAGSTART   16

fluid geometry init types

Definition at line 256 of file elbeem.h.

#define FGI_FLUID   (1<<(FGI_FLAGSTART+ 0))
#define FGI_MBNDINFLOW   (1<<(FGI_FLAGSTART+ 6))
#define FGI_MBNDOUTFLOW   (1<<(FGI_FLAGSTART+ 7))
#define FGI_NO_BND   (1<<(FGI_FLAGSTART+ 5))

Definition at line 262 of file elbeem.h.

#define FGI_NO_FLUID   (1<<(FGI_FLAGSTART+ 1))

Definition at line 258 of file elbeem.h.

#define FLUIDSIM_CBRET_ABORT   2

Definition at line 27 of file elbeem.h.

Referenced by SimulationObject::checkCallerStatus().

#define FLUIDSIM_CBRET_CONTINUE   0

Definition at line 25 of file elbeem.h.

Referenced by SimulationObject::checkCallerStatus().

#define FLUIDSIM_CBRET_STOP   1

Definition at line 26 of file elbeem.h.

Referenced by SimulationObject::checkCallerStatus().

#define FLUIDSIM_CBSTATUS_NEWFRAME   2

Definition at line 29 of file elbeem.h.

Referenced by SimulationObject::notifyShaderOfDump().

#define FLUIDSIM_CBSTATUS_STEP   1

Definition at line 28 of file elbeem.h.

Referenced by SimulationObject::initializeLbmSimulation(), and SimulationObject::step().

#define FLUIDSIM_FSSG_NOOBS   64

Definition at line 119 of file elbeem.h.

#define FLUIDSIM_OBSTACLE_FREESLIP   3

Definition at line 118 of file elbeem.h.

Referenced by elbeemAddMesh(), and SimulationObject::initializeLbmSimulation().

#define FLUIDSIM_OBSTACLE_NOSLIP   1

Definition at line 116 of file elbeem.h.

Referenced by elbeemResetMesh(), and elbeemResetSettings().

#define FLUIDSIM_OBSTACLE_PARTSLIP   2

Definition at line 117 of file elbeem.h.

Referenced by elbeemAddMesh(), and SimulationObject::initializeLbmSimulation().

#define OB_FLUIDSIM_CONTROL   128

Definition at line 113 of file elbeem.h.

#define OB_FLUIDSIM_FLUID   4

Definition at line 108 of file elbeem.h.

#define OB_FLUIDSIM_INFLOW   16

Definition at line 110 of file elbeem.h.

#define OB_FLUIDSIM_OBSTACLE   8

Definition at line 109 of file elbeem.h.

#define OB_FLUIDSIM_OUTFLOW   32

Definition at line 111 of file elbeem.h.

#define OB_FLUIDSIM_PARTICLE   64

Definition at line 112 of file elbeem.h.

#define OB_VOLUMEINIT_BOTH   (OB_VOLUMEINIT_SHELL|OB_VOLUMEINIT_VOLUME)

Definition at line 124 of file elbeem.h.

#define OB_VOLUMEINIT_SHELL   2

Definition at line 123 of file elbeem.h.

#define OB_VOLUMEINIT_VOLUME   1

Definition at line 122 of file elbeem.h.

Referenced by elbeemResetMesh().


Typedef Documentation

typedef struct elbeemMesh elbeemMesh
typedef int(* elbeemRunSimulationCallback)(void *data, int status, int frame)

Definition at line 24 of file elbeem.h.


Function Documentation

int elbeemAddDomain ( struct elbeemSimulationSettings )
int elbeemAddMesh ( struct elbeemMesh )

Definition at line 191 of file elbeem.cpp.

References ntlScene::addGeoClass(), elbeemMesh::channelActive, elbeemMesh::channelAttractforceRadius, elbeemMesh::channelAttractforceStrength, elbeemMesh::channelInitialVel, elbeemMesh::channelRotation, elbeemMesh::channelScale, elbeemMesh::channelSizeActive, elbeemMesh::channelSizeAttractforceRadius, elbeemMesh::channelSizeAttractforceStrength, elbeemMesh::channelSizeInitialVel, elbeemMesh::channelSizeRotation, elbeemMesh::channelSizeScale, elbeemMesh::channelSizeTranslation, elbeemMesh::channelSizeVelocityforceRadius, elbeemMesh::channelSizeVelocityforceStrength, elbeemMesh::channelSizeVertices, elbeemMesh::channelTranslation, elbeemMesh::channelVelocityforceRadius, elbeemMesh::channelVelocityforceStrength, elbeemMesh::channelVertices, elbeemMesh::cpsQuality, elbeemMesh::cpsTimeEnd, elbeemMesh::cpsTimeStart, debMsgStd, DM_MSG, errFatal, FGI_BNDFREE, FGI_BNDNO, FGI_BNDPART, FGI_CONTROL, FGI_FLUID, FGI_MBNDINFLOW, FGI_MBNDOUTFLOW, FLUIDSIM_OBSTACLE_FREESLIP, FLUIDSIM_OBSTACLE_PARTSLIP, getElbeemState(), ntlGeometryObject::getIsAnimated(), ntlGeometryClass::getName(), ntlWorld::getRenderGlobals(), ntlRenderGlobals::getRenderScene(), ntlRenderGlobals::getSimScene(), globalMeshCounter, ntlGeometryObject::initChannels(), ntlGeometryObjModel::initModel(), elbeemMesh::localInivelCoords, elbeemMesh::name, elbeemMesh::numTriangles, elbeemMesh::numVertices, OB_FLUIDSIM_CONTROL, OB_FLUIDSIM_FLUID, OB_FLUIDSIM_INFLOW, OB_FLUIDSIM_OBSTACLE, OB_FLUIDSIM_OUTFLOW, elbeemMesh::obstacleImpactFactor, elbeemMesh::obstaclePartslip, elbeemMesh::obstacleType, elbeemMesh::parentDomainId, ntlGeometryObject::setCpsQuality(), ntlGeometryObject::setCpsTimeEnd(), ntlGeometryObject::setCpsTimeStart(), ntlGeometryObject::setGeoImpactFactor(), ntlGeometryClass::setGeoInitId(), ntlGeometryObject::setGeoInitIntersect(), ntlGeometryObject::setGeoInitType(), ntlGeometryObject::setGeoPartSlipValue(), ntlGeometryObject::setLocalCoordInivel(), ntlGeometryClass::setName(), ntlGeometryObject::setVolumeInit(), SIMWORLD_INITERROR, SIMWORLD_INITIALIZING, elbeemMesh::triangles, elbeemMesh::type, elbeemMesh::vertices, VOLUMEINIT_BOTH, VOLUMEINIT_VOLUME, and elbeemMesh::volumeInitType.

int elbeemContinueSimulation ( void  )
void elbeemDebugOut ( char *  msg)

Definition at line 455 of file utilities.cpp.

References DM_MSG, elbeemCheckDebugEnv(), gDebugLevel, and messageOutputFunc().

double elbeemEstimateMemreq ( int  res,
float  sx,
float  sy,
float  sz,
int  refine,
char *  retstr 
)

Definition at line 476 of file utilities.cpp.

References calculateMemreqEstimate(), initGridSizes(), and NULL.

int elbeemFree ( void  )

Definition at line 104 of file elbeem.cpp.

void elbeemGetErrorString ( char *  buffer)

Definition at line 122 of file elbeem.cpp.

References getElbeemErrorString().

int elbeemInit ( void  )
void elbeemResetMesh ( struct elbeemMesh )
void elbeemResetSettings ( struct elbeemSimulationSettings )

Definition at line 41 of file elbeem.cpp.

References FLUIDSIM_OBSTACLE_NOSLIP, i, and NULL.

void elbeemSetDebugLevel ( int  level)

Definition at line 465 of file utilities.cpp.

References gDebugLevel.

int elbeemSimplifyChannelFloat ( float *  channel,
int *  size 
)

Definition at line 327 of file elbeem.cpp.

References errMsg, gKeepVal, i, next, SFLOATEQ, and size().

Referenced by channelSimplifyScalarT().

int elbeemSimplifyChannelVec3 ( float *  channel,
int *  size 
)

Definition at line 375 of file elbeem.cpp.

References errMsg, gKeepVal, i, next, size(), and SVECFLOATEQ.

Referenced by channelSimplifyVecT().

int elbeemSimulate ( void  )