Blender V2.61 - r43446
Defines | Functions | Variables

elbeem.cpp File Reference

#include "elbeem.h"
#include "ntl_blenderdumper.h"
#include "ntl_world.h"
#include "ntl_geometrymodel.h"

Go to the source code of this file.

Defines

#define SIMPLIFY_FLOAT_EPSILON   (1e-6f)
#define SIMPLIFY_DOUBLE_EPSILON   (1e-12f)
#define SFLOATEQ(x, y)   (ABS((x)-(y)) < SIMPLIFY_FLOAT_EPSILON)
#define SDOUBLEEQ(x, y)   (ABS((x)-(y)) < SIMPLIFY_DOUBLE_EPSILON)
#define SVECFLOATEQ(x, y)

Functions

void elbeemCheckDebugEnv (void)
void elbeemResetSettings (elbeemSimulationSettings *set)
int elbeemInit ()
int elbeemFree ()
int elbeemAddDomain (elbeemSimulationSettings *settings)
void elbeemGetErrorString (char *buffer)
void elbeemResetMesh (elbeemMesh *mesh)
int elbeemAddMesh (elbeemMesh *mesh)
int elbeemSimulate (void)
int elbeemContinueSimulation (void)
int elbeemSimplifyChannelFloat (float *channel, int *size)
int elbeemSimplifyChannelVec3 (float *channel, int *size)

Variables

double guiRoiSX = 0.0
double guiRoiSY = 0.0
double guiRoiSZ = 0.0
double guiRoiEX = 1.0
double guiRoiEY = 1.0
double guiRoiEZ = 1.0
int guiRoiMaxLev = 6
int guiRoiMinLev = 0
ntlWorldgpWorld = NULL
 global raytracer pointer (=world)
int globalMeshCounter = 1
vector< int > gKeepVal

Detailed Description

Definition in file elbeem.cpp.


Define Documentation

#define SDOUBLEEQ (   x,
 
)    (ABS((x)-(y)) < SIMPLIFY_DOUBLE_EPSILON)

Definition at line 319 of file elbeem.cpp.

#define SFLOATEQ (   x,
 
)    (ABS((x)-(y)) < SIMPLIFY_FLOAT_EPSILON)

Definition at line 318 of file elbeem.cpp.

Referenced by elbeemSimplifyChannelFloat().

#define SIMPLIFY_DOUBLE_EPSILON   (1e-12f)

Definition at line 317 of file elbeem.cpp.

#define SIMPLIFY_FLOAT_EPSILON   (1e-6f)

Definition at line 316 of file elbeem.cpp.

#define SVECFLOATEQ (   x,
 
)
Value:
( \
    (ABS((x)[0]-(y)[0]) < SIMPLIFY_FLOAT_EPSILON) && \
    (ABS((x)[1]-(y)[1]) < SIMPLIFY_FLOAT_EPSILON) && \
    (ABS((x)[2]-(y)[2]) < SIMPLIFY_FLOAT_EPSILON) )

Definition at line 320 of file elbeem.cpp.

Referenced by elbeemSimplifyChannelVec3().


Function Documentation

int elbeemAddDomain ( elbeemSimulationSettings settings)
int elbeemAddMesh ( elbeemMesh mesh)

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.

void elbeemCheckDebugEnv ( void  )

Definition at line 435 of file utilities.cpp.

References debMsgStd, DM_NOTIFY, gDebugLevel, and globalFirstEnvCheck.

Referenced by elbeemDebugOut(), and elbeemInit().

int elbeemContinueSimulation ( void  )
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 ( elbeemMesh mesh)
void elbeemResetSettings ( elbeemSimulationSettings set)

Definition at line 41 of file elbeem.cpp.

References FLUIDSIM_OBSTACLE_NOSLIP, i, and NULL.

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  )

Variable Documentation

vector<int> gKeepVal

Definition at line 314 of file elbeem.cpp.

Referenced by elbeemSimplifyChannelFloat(), and elbeemSimplifyChannelVec3().

Definition at line 188 of file elbeem.cpp.

Referenced by elbeemAddMesh().

ntlWorld* gpWorld = NULL

global raytracer pointer (=world)

Definition at line 33 of file elbeem.cpp.

Referenced by elbeemContinueSimulation(), and elbeemSimulate().

double guiRoiEX = 1.0

Definition at line 27 of file elbeem.cpp.

double guiRoiEY = 1.0

Definition at line 28 of file elbeem.cpp.

double guiRoiEZ = 1.0

Definition at line 29 of file elbeem.cpp.

int guiRoiMaxLev = 6

Definition at line 30 of file elbeem.cpp.

Referenced by LbmFsgrSolver::advanceCell(), and LbmFsgrSolver::getFirstCell().

int guiRoiMinLev = 0

Definition at line 30 of file elbeem.cpp.

Referenced by LbmFsgrSolver::advanceCell().

double guiRoiSX = 0.0

Definition at line 24 of file elbeem.cpp.

double guiRoiSY = 0.0

Definition at line 25 of file elbeem.cpp.

double guiRoiSZ = 0.0

Definition at line 26 of file elbeem.cpp.