![]() |
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.