Blender V2.61 - r43446
|
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) |
Definition in file elbeem.h.
#define FGI_ALLBOUNDS ( FGI_BNDNO | FGI_BNDFREE | FGI_BNDPART | FGI_MBNDINFLOW | FGI_MBNDOUTFLOW ) |
Definition at line 268 of file elbeem.h.
Referenced by LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#define FGI_BNDFREE (1<<(FGI_FLAGSTART+ 3)) |
Definition at line 260 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#define FGI_BNDNO (1<<(FGI_FLAGSTART+ 2)) |
Definition at line 259 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#define FGI_BNDPART (1<<(FGI_FLAGSTART+ 4)) |
Definition at line 261 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#define FGI_CONTROL (1<<(FGI_FLAGSTART+ 8)) |
Definition at line 265 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmFsgrSolver::initCpdata(), and ControlParticles::initFromObject().
#define FGI_FLUID (1<<(FGI_FLAGSTART+ 0)) |
Definition at line 257 of file elbeem.h.
Referenced by ntlGeometryObject::checkIsAnimated(), ControlParticles::checkPointInside(), elbeemAddMesh(), LbmSolverInterface::getGeoMaxMovementVelocity(), ControlParticles::initFromMVCMesh(), ControlParticles::initFromObject(), LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#define FGI_MBNDINFLOW (1<<(FGI_FLAGSTART+ 6)) |
Definition at line 263 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmSolverInterface::getGeoMaxMovementVelocity(), LbmFsgrSolver::initGeometryFlags(), LbmFsgrSolver::initMovingObstacles(), and ntlGeometryObject::initMovingPoints().
#define FGI_MBNDOUTFLOW (1<<(FGI_FLAGSTART+ 7)) |
Definition at line 264 of file elbeem.h.
Referenced by elbeemAddMesh(), LbmFsgrSolver::initGeometryFlags(), and LbmFsgrSolver::initMovingObstacles().
#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_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_VOLUMEINIT_BOTH (OB_VOLUMEINIT_SHELL|OB_VOLUMEINIT_VOLUME) |
#define OB_VOLUMEINIT_VOLUME 1 |
Definition at line 122 of file elbeem.h.
Referenced by elbeemResetMesh().
typedef struct elbeemMesh elbeemMesh |
typedef int(* elbeemRunSimulationCallback)(void *data, int status, int frame) |
typedef struct elbeemSimulationSettings elbeemSimulationSettings |
int elbeemAddDomain | ( | struct elbeemSimulationSettings * | ) |
Definition at line 111 of file elbeem.cpp.
References ntlWorld::addDomain(), elbeemInit(), errFatal, getElbeemState(), SIMWORLD_INITERROR, SIMWORLD_INITIALIZING, and SIMWORLD_INVALID.
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 | ) |
Definition at line 289 of file elbeem.cpp.
References debMsgStd, DM_NOTIFY, errMsg, getElbeemState(), getTime(), getTimeString(), gpWorld, NULL, ntlWorld::renderAnimation(), and SIMWORLD_STOP.
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 | ) |
Definition at line 88 of file elbeem.cpp.
References debMsgStd, DM_NOTIFY, elbeemCheckDebugEnv(), gDebugLevel, resetGlobalColorSetting(), setElbeemErrorString(), setElbeemState(), and SIMWORLD_INITIALIZING.
Referenced by elbeemAddDomain().
void elbeemResetMesh | ( | struct elbeemMesh * | ) |
Definition at line 129 of file elbeem.cpp.
References 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, FLUIDSIM_OBSTACLE_NOSLIP, elbeemMesh::localInivelCoords, elbeemMesh::name, NULL, elbeemMesh::numTriangles, elbeemMesh::numVertices, OB_VOLUMEINIT_VOLUME, elbeemMesh::obstacleImpactFactor, elbeemMesh::obstaclePartslip, elbeemMesh::obstacleType, elbeemMesh::parentDomainId, elbeemMesh::triangles, elbeemMesh::type, elbeemMesh::vertices, and elbeemMesh::volumeInitType.
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 | ) |
Definition at line 261 of file elbeem.cpp.
References debMsgStd, DM_NOTIFY, ntlWorld::finishWorldInit(), getElbeemState(), getTime(), getTimeString(), gpWorld, isSimworldOk(), NULL, ntlWorld::renderAnimation(), and SIMWORLD_STOP.