Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2020-07-03 12:51:15 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-07-03 12:52:08 +0300
commitb1d3850333adfe36c6ff94b8307fdafc9cc5148c (patch)
tree28b8bbff0a25ccb6c4ef4f98aefc36a196a25a0f
parent868d6ba1a70edd7e49bd40191547e2537ae76973 (diff)
Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' naming
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
-rw-r--r--intern/mantaflow/extern/manta_fluid_API.h64
-rw-r--r--intern/mantaflow/intern/MANTA_main.cpp736
-rw-r--r--intern/mantaflow/intern/MANTA_main.h110
-rw-r--r--intern/mantaflow/intern/manta_fluid_API.cpp174
-rw-r--r--source/blender/blenkernel/BKE_fluid.h22
-rw-r--r--source/blender/blenkernel/BKE_pointcache.h2
-rw-r--r--source/blender/blenkernel/intern/bpath.c6
-rw-r--r--source/blender/blenkernel/intern/fluid.c2450
-rw-r--r--source/blender/blenkernel/intern/object.c14
-rw-r--r--source/blender/blenkernel/intern/particle.c22
-rw-r--r--source/blender/blenkernel/intern/particle_system.c78
-rw-r--r--source/blender/blenkernel/intern/pointcache.c410
-rw-r--r--source/blender/blenloader/intern/readfile.c126
-rw-r--r--source/blender/blenloader/intern/versioning_250.c22
-rw-r--r--source/blender/blenloader/intern/versioning_260.c70
-rw-r--r--source/blender/blenloader/intern/versioning_270.c16
-rw-r--r--source/blender/blenloader/intern/writefile.c36
-rw-r--r--source/blender/draw/engines/eevee/eevee_volumes.c38
-rw-r--r--source/blender/draw/engines/overlay/overlay_extra.c54
-rw-r--r--source/blender/draw/engines/workbench/workbench_volume.c68
-rw-r--r--source/blender/editors/physics/physics_fluid.c170
-rw-r--r--source/blender/gpu/GPU_draw.h10
-rw-r--r--source/blender/gpu/intern/gpu_draw_smoke.c214
-rw-r--r--source/blender/makesdna/DNA_fluid_types.h6
-rw-r--r--source/blender/makesrna/intern/rna_fluid.c252
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c10
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c4
-rw-r--r--source/blender/modifiers/intern/MOD_fluid.c84
28 files changed, 2634 insertions, 2634 deletions
diff --git a/intern/mantaflow/extern/manta_fluid_API.h b/intern/mantaflow/extern/manta_fluid_API.h
index d78aa6732b1..1dbfc6bdd9c 100644
--- a/intern/mantaflow/extern/manta_fluid_API.h
+++ b/intern/mantaflow/extern/manta_fluid_API.h
@@ -31,52 +31,52 @@ extern "C" {
struct MANTA;
/* Fluid functions */
-struct MANTA *manta_init(int *res, struct FluidModifierData *mmd);
+struct MANTA *manta_init(int *res, struct FluidModifierData *fmd);
void manta_free(struct MANTA *fluid);
-void manta_ensure_obstacle(struct MANTA *fluid, struct FluidModifierData *mmd);
-void manta_ensure_guiding(struct MANTA *fluid, struct FluidModifierData *mmd);
-void manta_ensure_invelocity(struct MANTA *fluid, struct FluidModifierData *mmd);
-void manta_ensure_outflow(struct MANTA *fluid, struct FluidModifierData *mmd);
-int manta_write_config(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_write_data(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_write_noise(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_read_config(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
+void manta_ensure_obstacle(struct MANTA *fluid, struct FluidModifierData *fmd);
+void manta_ensure_guiding(struct MANTA *fluid, struct FluidModifierData *fmd);
+void manta_ensure_invelocity(struct MANTA *fluid, struct FluidModifierData *fmd);
+void manta_ensure_outflow(struct MANTA *fluid, struct FluidModifierData *fmd);
+int manta_write_config(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_write_data(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_write_noise(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_read_config(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
int manta_read_data(struct MANTA *fluid,
- struct FluidModifierData *mmd,
+ struct FluidModifierData *fmd,
int framenr,
bool resumable);
int manta_read_noise(struct MANTA *fluid,
- struct FluidModifierData *mmd,
+ struct FluidModifierData *fmd,
int framenr,
bool resumable);
-int manta_read_mesh(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
+int manta_read_mesh(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
int manta_read_particles(struct MANTA *fluid,
- struct FluidModifierData *mmd,
+ struct FluidModifierData *fmd,
int framenr,
bool resumable);
int manta_read_guiding(struct MANTA *fluid,
- struct FluidModifierData *mmd,
+ struct FluidModifierData *fmd,
int framenr,
bool sourceDomain);
-int manta_bake_data(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_bake_noise(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_bake_mesh(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_bake_particles(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_bake_guiding(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_has_data(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_has_noise(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_has_mesh(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
-int manta_has_particles(struct MANTA *fluid, struct FluidModifierData *mmd, int framenr);
+int manta_bake_data(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_bake_noise(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_bake_mesh(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_bake_particles(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_bake_guiding(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_has_data(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_has_noise(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_has_mesh(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
+int manta_has_particles(struct MANTA *fluid, struct FluidModifierData *fmd, int framenr);
int manta_has_guiding(struct MANTA *fluid,
- struct FluidModifierData *mmd,
+ struct FluidModifierData *fmd,
int framenr,
bool domain);
-void manta_update_variables(struct MANTA *fluid, struct FluidModifierData *mmd);
+void manta_update_variables(struct MANTA *fluid, struct FluidModifierData *fmd);
int manta_get_frame(struct MANTA *fluid);
float manta_get_timestep(struct MANTA *fluid);
void manta_adapt_timestep(struct MANTA *fluid);
-bool manta_needs_realloc(struct MANTA *fluid, struct FluidModifierData *mmd);
+bool manta_needs_realloc(struct MANTA *fluid, struct FluidModifierData *fmd);
/* Fluid accessors */
size_t manta_get_index(int x, int max_x, int y, int max_y, int z /*, int max_z */);
@@ -110,7 +110,7 @@ float *manta_get_phiout_in(struct MANTA *fluid);
float *manta_get_phioutstatic_in(struct MANTA *fluid);
/* Smoke functions */
-void manta_smoke_export_script(struct MANTA *smoke, struct FluidModifierData *mmd);
+void manta_smoke_export_script(struct MANTA *smoke, struct FluidModifierData *fmd);
void manta_smoke_export(struct MANTA *smoke,
float *dt,
float *dx,
@@ -151,9 +151,9 @@ void manta_smoke_turbulence_get_rgba_fixed_color(struct MANTA *smoke,
float color[3],
float *data,
int sequential);
-void manta_smoke_ensure_heat(struct MANTA *smoke, struct FluidModifierData *mmd);
-void manta_smoke_ensure_fire(struct MANTA *smoke, struct FluidModifierData *mmd);
-void manta_smoke_ensure_colors(struct MANTA *smoke, struct FluidModifierData *mmd);
+void manta_smoke_ensure_heat(struct MANTA *smoke, struct FluidModifierData *fmd);
+void manta_smoke_ensure_fire(struct MANTA *smoke, struct FluidModifierData *fmd);
+void manta_smoke_ensure_colors(struct MANTA *smoke, struct FluidModifierData *fmd);
/* Smoke accessors */
float *manta_smoke_get_density(struct MANTA *smoke);
@@ -190,8 +190,8 @@ void manta_smoke_turbulence_get_res(struct MANTA *smoke, int *res);
int manta_smoke_turbulence_get_cells(struct MANTA *smoke);
/* Liquid functions */
-void manta_liquid_export_script(struct MANTA *smoke, struct FluidModifierData *mmd);
-void manta_liquid_ensure_sndparts(struct MANTA *fluid, struct FluidModifierData *mmd);
+void manta_liquid_export_script(struct MANTA *smoke, struct FluidModifierData *fmd);
+void manta_liquid_ensure_sndparts(struct MANTA *fluid, struct FluidModifierData *fmd);
/* Liquid accessors */
int manta_liquid_get_particle_res_x(struct MANTA *liquid);
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp
index a008100a3e2..43121f08f2d 100644
--- a/intern/mantaflow/intern/MANTA_main.cpp
+++ b/intern/mantaflow/intern/MANTA_main.cpp
@@ -67,34 +67,34 @@ int MANTA::with_debug(0);
/* Number of mesh triangles that the cache reads at once (with zlib). */
#define TRIANGLE_CHUNK 20000
-MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
+MANTA::MANTA(int *res, FluidModifierData *fmd) : mCurrentID(++solverID)
{
if (with_debug)
cout << "FLUID: " << mCurrentID << " with res(" << res[0] << ", " << res[1] << ", " << res[2]
<< ")" << endl;
- FluidDomainSettings *mds = mmd->domain;
- mds->fluid = this;
-
- mUsingLiquid = (mds->type == FLUID_DOMAIN_TYPE_LIQUID);
- mUsingSmoke = (mds->type == FLUID_DOMAIN_TYPE_GAS);
- mUsingNoise = (mds->flags & FLUID_DOMAIN_USE_NOISE) && mUsingSmoke;
- mUsingFractions = (mds->flags & FLUID_DOMAIN_USE_FRACTIONS) && mUsingLiquid;
- mUsingMesh = (mds->flags & FLUID_DOMAIN_USE_MESH) && mUsingLiquid;
- mUsingDiffusion = (mds->flags & FLUID_DOMAIN_USE_DIFFUSION) && mUsingLiquid;
- mUsingMVel = (mds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS) && mUsingLiquid;
- mUsingGuiding = (mds->flags & FLUID_DOMAIN_USE_GUIDE);
- mUsingDrops = (mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && mUsingLiquid;
- mUsingBubbles = (mds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && mUsingLiquid;
- mUsingFloats = (mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && mUsingLiquid;
- mUsingTracers = (mds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) && mUsingLiquid;
-
- mUsingHeat = (mds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT) && mUsingSmoke;
- mUsingFire = (mds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE) && mUsingSmoke;
- mUsingColors = (mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) && mUsingSmoke;
- mUsingObstacle = (mds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE);
- mUsingInvel = (mds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL);
- mUsingOutflow = (mds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW);
+ FluidDomainSettings *fds = fmd->domain;
+ fds->fluid = this;
+
+ mUsingLiquid = (fds->type == FLUID_DOMAIN_TYPE_LIQUID);
+ mUsingSmoke = (fds->type == FLUID_DOMAIN_TYPE_GAS);
+ mUsingNoise = (fds->flags & FLUID_DOMAIN_USE_NOISE) && mUsingSmoke;
+ mUsingFractions = (fds->flags & FLUID_DOMAIN_USE_FRACTIONS) && mUsingLiquid;
+ mUsingMesh = (fds->flags & FLUID_DOMAIN_USE_MESH) && mUsingLiquid;
+ mUsingDiffusion = (fds->flags & FLUID_DOMAIN_USE_DIFFUSION) && mUsingLiquid;
+ mUsingMVel = (fds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS) && mUsingLiquid;
+ mUsingGuiding = (fds->flags & FLUID_DOMAIN_USE_GUIDE);
+ mUsingDrops = (fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && mUsingLiquid;
+ mUsingBubbles = (fds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && mUsingLiquid;
+ mUsingFloats = (fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && mUsingLiquid;
+ mUsingTracers = (fds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) && mUsingLiquid;
+
+ mUsingHeat = (fds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT) && mUsingSmoke;
+ mUsingFire = (fds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE) && mUsingSmoke;
+ mUsingColors = (fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) && mUsingSmoke;
+ mUsingObstacle = (fds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE);
+ mUsingInvel = (fds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL);
+ mUsingOutflow = (fds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW);
// Simulation constants
mTempAmb = 0; // TODO: Maybe use this later for buoyancy calculation
@@ -103,7 +103,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
mResZ = res[2];
mMaxRes = MAX3(mResX, mResY, mResZ);
mTotalCells = mResX * mResY * mResZ;
- mResGuiding = mds->res;
+ mResGuiding = fds->res;
// Smoke low res grids
mDensity = nullptr;
@@ -194,7 +194,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
initializeMantaflow();
// Initializa RNA map with values that Python will need
- initializeRNAMap(mmd);
+ initializeRNAMap(fmd);
// Initialize Mantaflow variables in Python
// Liquid
@@ -209,7 +209,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
initOutflow();
if (mUsingDrops || mUsingBubbles || mUsingFloats || mUsingTracers) {
- mUpresParticle = mds->particle_scale;
+ mUpresParticle = fds->particle_scale;
mResXParticle = mUpresParticle * mResX;
mResYParticle = mUpresParticle * mResY;
mResZParticle = mUpresParticle * mResZ;
@@ -220,7 +220,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
}
if (mUsingMesh) {
- mUpresMesh = mds->mesh_scale;
+ mUpresMesh = fds->mesh_scale;
mResXMesh = mUpresMesh * mResX;
mResYMesh = mUpresMesh * mResY;
mResZMesh = mUpresMesh * mResZ;
@@ -236,7 +236,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
}
if (mUsingGuiding) {
- mResGuiding = (mds->guide_parent) ? mds->guide_res : mds->res;
+ mResGuiding = (fds->guide_parent) ? fds->guide_res : fds->res;
initGuiding();
}
if (mUsingFractions) {
@@ -262,12 +262,12 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
initOutflow();
if (mUsingGuiding) {
- mResGuiding = (mds->guide_parent) ? mds->guide_res : mds->res;
+ mResGuiding = (fds->guide_parent) ? fds->guide_res : fds->res;
initGuiding();
}
if (mUsingNoise) {
- int amplify = mds->noise_scale;
+ int amplify = fds->noise_scale;
mResXNoise = amplify * mResX;
mResYNoise = amplify * mResY;
mResZNoise = amplify * mResZ;
@@ -285,7 +285,7 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
updatePointers();
}
-void MANTA::initDomain(FluidModifierData *mmd)
+void MANTA::initDomain(FluidModifierData *fmd)
{
// Vector will hold all python commands that are to be executed
vector<string> pythonCommands;
@@ -303,50 +303,50 @@ void MANTA::initDomain(FluidModifierData *mmd)
fluid_bake_mesh + fluid_bake_particles + fluid_bake_guiding +
fluid_file_import + fluid_file_export + fluid_pre_step + fluid_post_step +
fluid_adapt_time_step + fluid_time_stepping;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
}
-void MANTA::initNoise(FluidModifierData *mmd)
+void MANTA::initNoise(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = fluid_variables_noise + fluid_solver_noise;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
}
-void MANTA::initSmoke(FluidModifierData *mmd)
+void MANTA::initSmoke(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = smoke_variables + smoke_alloc + smoke_adaptive_step + smoke_save_data +
smoke_load_data + smoke_step;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
}
-void MANTA::initSmokeNoise(FluidModifierData *mmd)
+void MANTA::initSmokeNoise(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = smoke_variables_noise + smoke_alloc_noise + smoke_wavelet_noise +
smoke_save_noise + smoke_load_noise + smoke_step_noise;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
mUsingNoise = true;
}
-void MANTA::initHeat(FluidModifierData *mmd)
+void MANTA::initHeat(FluidModifierData *fmd)
{
if (!mHeat) {
vector<string> pythonCommands;
string tmpString = smoke_alloc_heat + smoke_with_heat;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -354,12 +354,12 @@ void MANTA::initHeat(FluidModifierData *mmd)
}
}
-void MANTA::initFire(FluidModifierData *mmd)
+void MANTA::initFire(FluidModifierData *fmd)
{
if (!mFuel) {
vector<string> pythonCommands;
string tmpString = smoke_alloc_fire + smoke_with_fire;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -367,12 +367,12 @@ void MANTA::initFire(FluidModifierData *mmd)
}
}
-void MANTA::initFireHigh(FluidModifierData *mmd)
+void MANTA::initFireHigh(FluidModifierData *fmd)
{
if (!mFuelHigh) {
vector<string> pythonCommands;
string tmpString = smoke_alloc_fire_noise + smoke_with_fire;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -380,12 +380,12 @@ void MANTA::initFireHigh(FluidModifierData *mmd)
}
}
-void MANTA::initColors(FluidModifierData *mmd)
+void MANTA::initColors(FluidModifierData *fmd)
{
if (!mColorR) {
vector<string> pythonCommands;
string tmpString = smoke_alloc_colors + smoke_init_colors + smoke_with_colors;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -393,12 +393,12 @@ void MANTA::initColors(FluidModifierData *mmd)
}
}
-void MANTA::initColorsHigh(FluidModifierData *mmd)
+void MANTA::initColorsHigh(FluidModifierData *fmd)
{
if (!mColorRHigh) {
vector<string> pythonCommands;
string tmpString = smoke_alloc_colors_noise + smoke_init_colors_noise + smoke_with_colors;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -406,13 +406,13 @@ void MANTA::initColorsHigh(FluidModifierData *mmd)
}
}
-void MANTA::initLiquid(FluidModifierData *mmd)
+void MANTA::initLiquid(FluidModifierData *fmd)
{
if (!mPhiIn) {
vector<string> pythonCommands;
string tmpString = liquid_variables + liquid_alloc + liquid_init_phi + liquid_save_data +
liquid_load_data + liquid_adaptive_step + liquid_step;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -420,44 +420,44 @@ void MANTA::initLiquid(FluidModifierData *mmd)
}
}
-void MANTA::initMesh(FluidModifierData *mmd)
+void MANTA::initMesh(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = fluid_variables_mesh + fluid_solver_mesh + liquid_load_mesh;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
mUsingMesh = true;
}
-void MANTA::initLiquidMesh(FluidModifierData *mmd)
+void MANTA::initLiquidMesh(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = liquid_alloc_mesh + liquid_step_mesh + liquid_save_mesh;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
mUsingMesh = true;
}
-void MANTA::initCurvature(FluidModifierData *mmd)
+void MANTA::initCurvature(FluidModifierData *fmd)
{
std::vector<std::string> pythonCommands;
- std::string finalString = parseScript(liquid_alloc_curvature, mmd);
+ std::string finalString = parseScript(liquid_alloc_curvature, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
mUsingDiffusion = true;
}
-void MANTA::initObstacle(FluidModifierData *mmd)
+void MANTA::initObstacle(FluidModifierData *fmd)
{
if (!mPhiObsIn) {
vector<string> pythonCommands;
string tmpString = fluid_alloc_obstacle + fluid_with_obstacle;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -465,13 +465,13 @@ void MANTA::initObstacle(FluidModifierData *mmd)
}
}
-void MANTA::initGuiding(FluidModifierData *mmd)
+void MANTA::initGuiding(FluidModifierData *fmd)
{
if (!mPhiGuideIn) {
vector<string> pythonCommands;
string tmpString = fluid_variables_guiding + fluid_solver_guiding + fluid_alloc_guiding +
fluid_save_guiding + fluid_load_vel + fluid_load_guiding;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -479,23 +479,23 @@ void MANTA::initGuiding(FluidModifierData *mmd)
}
}
-void MANTA::initFractions(FluidModifierData *mmd)
+void MANTA::initFractions(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = fluid_alloc_fractions + fluid_with_fractions;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
mUsingFractions = true;
}
-void MANTA::initInVelocity(FluidModifierData *mmd)
+void MANTA::initInVelocity(FluidModifierData *fmd)
{
if (!mInVelocityX) {
vector<string> pythonCommands;
string tmpString = fluid_alloc_invel + fluid_with_invel;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -503,12 +503,12 @@ void MANTA::initInVelocity(FluidModifierData *mmd)
}
}
-void MANTA::initOutflow(FluidModifierData *mmd)
+void MANTA::initOutflow(FluidModifierData *fmd)
{
if (!mPhiOutIn) {
vector<string> pythonCommands;
string tmpString = fluid_alloc_outflow + fluid_with_outflow;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -516,24 +516,24 @@ void MANTA::initOutflow(FluidModifierData *mmd)
}
}
-void MANTA::initSndParts(FluidModifierData *mmd)
+void MANTA::initSndParts(FluidModifierData *fmd)
{
vector<string> pythonCommands;
string tmpString = fluid_variables_particles + fluid_solver_particles;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
}
-void MANTA::initLiquidSndParts(FluidModifierData *mmd)
+void MANTA::initLiquidSndParts(FluidModifierData *fmd)
{
if (!mSndParticleData) {
vector<string> pythonCommands;
string tmpString = liquid_alloc_particles + liquid_variables_particles +
liquid_step_particles + fluid_with_sndparts + liquid_load_particles +
liquid_save_particles;
- string finalString = parseScript(tmpString, mmd);
+ string finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
runPythonString(pythonCommands);
@@ -557,7 +557,7 @@ MANTA::~MANTA()
// Initializa RNA map with values that Python will need
initializeRNAMap();
- // Leave out mmd argument in parseScript since only looking up IDs
+ // Leave out fmd argument in parseScript since only looking up IDs
string finalString = parseScript(tmpString);
pythonCommands.push_back(finalString);
result = runPythonString(pythonCommands);
@@ -664,56 +664,56 @@ static string getBooleanString(int value)
return (value) ? "True" : "False";
}
-void MANTA::initializeRNAMap(FluidModifierData *mmd)
+void MANTA::initializeRNAMap(FluidModifierData *fmd)
{
if (with_debug)
cout << "MANTA::initializeRNAMap()" << endl;
mRNAMap["ID"] = to_string(mCurrentID);
- if (!mmd) {
+ if (!fmd) {
if (with_debug)
cout << "Fluid: No modifier data given in RNA map setup - returning early" << endl;
return;
}
- FluidDomainSettings *mds = mmd->domain;
- bool is2D = (mds->solver_res == 2);
+ FluidDomainSettings *fds = fmd->domain;
+ bool is2D = (fds->solver_res == 2);
string borderCollisions = "";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_LEFT) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_LEFT) == 0)
borderCollisions += "x";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_RIGHT) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_RIGHT) == 0)
borderCollisions += "X";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_FRONT) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_FRONT) == 0)
borderCollisions += "y";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_BACK) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_BACK) == 0)
borderCollisions += "Y";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_BOTTOM) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_BOTTOM) == 0)
borderCollisions += "z";
- if ((mds->border_collisions & FLUID_DOMAIN_BORDER_TOP) == 0)
+ if ((fds->border_collisions & FLUID_DOMAIN_BORDER_TOP) == 0)
borderCollisions += "Z";
string simulationMethod = "";
- if (mds->simulation_method & FLUID_DOMAIN_METHOD_FLIP)
+ if (fds->simulation_method & FLUID_DOMAIN_METHOD_FLIP)
simulationMethod += "'FLIP'";
- else if (mds->simulation_method & FLUID_DOMAIN_METHOD_APIC)
+ else if (fds->simulation_method & FLUID_DOMAIN_METHOD_APIC)
simulationMethod += "'APIC'";
string particleTypesStr = "";
- if (mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY)
+ if (fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY)
particleTypesStr += "PtypeSpray";
- if (mds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) {
+ if (fds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) {
if (!particleTypesStr.empty())
particleTypesStr += "|";
particleTypesStr += "PtypeBubble";
}
- if (mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) {
+ if (fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) {
if (!particleTypesStr.empty())
particleTypesStr += "|";
particleTypesStr += "PtypeFoam";
}
- if (mds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) {
+ if (fds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) {
if (!particleTypesStr.empty())
particleTypesStr += "|";
particleTypesStr += "PtypeTracer";
@@ -724,73 +724,73 @@ void MANTA::initializeRNAMap(FluidModifierData *mmd)
int particleTypes = (FLUID_DOMAIN_PARTICLE_SPRAY | FLUID_DOMAIN_PARTICLE_BUBBLE |
FLUID_DOMAIN_PARTICLE_FOAM | FLUID_DOMAIN_PARTICLE_TRACER);
- string cacheDirectory(mds->cache_directory);
+ string cacheDirectory(fds->cache_directory);
- float viscosity = mds->viscosity_base * pow(10.0f, -mds->viscosity_exponent);
- float domainSize = MAX3(mds->global_size[0], mds->global_size[1], mds->global_size[2]);
+ float viscosity = fds->viscosity_base * pow(10.0f, -fds->viscosity_exponent);
+ float domainSize = MAX3(fds->global_size[0], fds->global_size[1], fds->global_size[2]);
string vdbCompressionMethod = "Compression_None";
- if (mds->openvdb_compression == VDB_COMPRESSION_NONE)
+ if (fds->openvdb_compression == VDB_COMPRESSION_NONE)
vdbCompressionMethod = "Compression_None";
- else if (mds->openvdb_compression == VDB_COMPRESSION_ZIP)
+ else if (fds->openvdb_compression == VDB_COMPRESSION_ZIP)
vdbCompressionMethod = "Compression_Zip";
- else if (mds->openvdb_compression == VDB_COMPRESSION_BLOSC)
+ else if (fds->openvdb_compression == VDB_COMPRESSION_BLOSC)
vdbCompressionMethod = "Compression_Blosc";
string vdbPrecisionHalf = "True";
- if (mds->openvdb_data_depth == VDB_PRECISION_HALF_FLOAT)
+ if (fds->openvdb_data_depth == VDB_PRECISION_HALF_FLOAT)
vdbPrecisionHalf = "True";
- else if (mds->openvdb_data_depth == VDB_PRECISION_FULL_FLOAT)
+ else if (fds->openvdb_data_depth == VDB_PRECISION_FULL_FLOAT)
vdbPrecisionHalf = "False";
- mRNAMap["USING_SMOKE"] = getBooleanString(mds->type == FLUID_DOMAIN_TYPE_GAS);
- mRNAMap["USING_LIQUID"] = getBooleanString(mds->type == FLUID_DOMAIN_TYPE_LIQUID);
- mRNAMap["USING_COLORS"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS);
- mRNAMap["USING_HEAT"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT);
- mRNAMap["USING_FIRE"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE);
- mRNAMap["USING_NOISE"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_NOISE);
- mRNAMap["USING_OBSTACLE"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE);
- mRNAMap["USING_GUIDING"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_GUIDE);
- mRNAMap["USING_INVEL"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL);
- mRNAMap["USING_OUTFLOW"] = getBooleanString(mds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW);
- mRNAMap["USING_LOG_DISSOLVE"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_DISSOLVE_LOG);
- mRNAMap["USING_DISSOLVE"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_DISSOLVE);
+ mRNAMap["USING_SMOKE"] = getBooleanString(fds->type == FLUID_DOMAIN_TYPE_GAS);
+ mRNAMap["USING_LIQUID"] = getBooleanString(fds->type == FLUID_DOMAIN_TYPE_LIQUID);
+ mRNAMap["USING_COLORS"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS);
+ mRNAMap["USING_HEAT"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT);
+ mRNAMap["USING_FIRE"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE);
+ mRNAMap["USING_NOISE"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_NOISE);
+ mRNAMap["USING_OBSTACLE"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE);
+ mRNAMap["USING_GUIDING"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_GUIDE);
+ mRNAMap["USING_INVEL"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL);
+ mRNAMap["USING_OUTFLOW"] = getBooleanString(fds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW);
+ mRNAMap["USING_LOG_DISSOLVE"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_DISSOLVE_LOG);
+ mRNAMap["USING_DISSOLVE"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_DISSOLVE);
mRNAMap["DOMAIN_CLOSED"] = getBooleanString(borderCollisions.compare("") == 0);
- mRNAMap["CACHE_RESUMABLE"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE);
- mRNAMap["USING_ADAPTIVETIME"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_TIME);
- mRNAMap["USING_SPEEDVECTORS"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS);
- mRNAMap["USING_FRACTIONS"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_FRACTIONS);
- mRNAMap["DELETE_IN_OBSTACLE"] = getBooleanString(mds->flags & FLUID_DOMAIN_DELETE_IN_OBSTACLE);
- mRNAMap["USING_DIFFUSION"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_DIFFUSION);
- mRNAMap["USING_MESH"] = getBooleanString(mds->flags & FLUID_DOMAIN_USE_MESH);
- mRNAMap["USING_IMPROVED_MESH"] = getBooleanString(mds->mesh_generator ==
+ mRNAMap["CACHE_RESUMABLE"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE);
+ mRNAMap["USING_ADAPTIVETIME"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_TIME);
+ mRNAMap["USING_SPEEDVECTORS"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS);
+ mRNAMap["USING_FRACTIONS"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_FRACTIONS);
+ mRNAMap["DELETE_IN_OBSTACLE"] = getBooleanString(fds->flags & FLUID_DOMAIN_DELETE_IN_OBSTACLE);
+ mRNAMap["USING_DIFFUSION"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_DIFFUSION);
+ mRNAMap["USING_MESH"] = getBooleanString(fds->flags & FLUID_DOMAIN_USE_MESH);
+ mRNAMap["USING_IMPROVED_MESH"] = getBooleanString(fds->mesh_generator ==
FLUID_DOMAIN_MESH_IMPROVED);
- mRNAMap["USING_SNDPARTS"] = getBooleanString(mds->particle_type & particleTypes);
- mRNAMap["SNDPARTICLE_BOUNDARY_DELETE"] = getBooleanString(mds->sndparticle_boundary ==
+ mRNAMap["USING_SNDPARTS"] = getBooleanString(fds->particle_type & particleTypes);
+ mRNAMap["SNDPARTICLE_BOUNDARY_DELETE"] = getBooleanString(fds->sndparticle_boundary ==
SNDPARTICLE_BOUNDARY_DELETE);
- mRNAMap["SNDPARTICLE_BOUNDARY_PUSHOUT"] = getBooleanString(mds->sndparticle_boundary ==
+ mRNAMap["SNDPARTICLE_BOUNDARY_PUSHOUT"] = getBooleanString(fds->sndparticle_boundary ==
SNDPARTICLE_BOUNDARY_PUSHOUT);
- mRNAMap["SOLVER_DIM"] = to_string(mds->solver_res);
+ mRNAMap["SOLVER_DIM"] = to_string(fds->solver_res);
mRNAMap["BOUND_CONDITIONS"] = borderCollisions;
- mRNAMap["BOUNDARY_WIDTH"] = to_string(mds->boundary_width);
+ mRNAMap["BOUNDARY_WIDTH"] = to_string(fds->boundary_width);
mRNAMap["RES"] = to_string(mMaxRes);
mRNAMap["RESX"] = to_string(mResX);
mRNAMap["RESY"] = (is2D) ? to_string(mResZ) : to_string(mResY);
mRNAMap["RESZ"] = (is2D) ? to_string(1) : to_string(mResZ);
- mRNAMap["TIME_SCALE"] = to_string(mds->time_scale);
- mRNAMap["FRAME_LENGTH"] = to_string(mds->frame_length);
- mRNAMap["CFL"] = to_string(mds->cfl_condition);
- mRNAMap["DT"] = to_string(mds->dt);
- mRNAMap["TIMESTEPS_MIN"] = to_string(mds->timesteps_minimum);
- mRNAMap["TIMESTEPS_MAX"] = to_string(mds->timesteps_maximum);
- mRNAMap["TIME_TOTAL"] = to_string(mds->time_total);
- mRNAMap["TIME_PER_FRAME"] = to_string(mds->time_per_frame);
- mRNAMap["VORTICITY"] = to_string(mds->vorticity);
- mRNAMap["FLAME_VORTICITY"] = to_string(mds->flame_vorticity);
- mRNAMap["NOISE_SCALE"] = to_string(mds->noise_scale);
- mRNAMap["MESH_SCALE"] = to_string(mds->mesh_scale);
- mRNAMap["PARTICLE_SCALE"] = to_string(mds->particle_scale);
+ mRNAMap["TIME_SCALE"] = to_string(fds->time_scale);
+ mRNAMap["FRAME_LENGTH"] = to_string(fds->frame_length);
+ mRNAMap["CFL"] = to_string(fds->cfl_condition);
+ mRNAMap["DT"] = to_string(fds->dt);
+ mRNAMap["TIMESTEPS_MIN"] = to_string(fds->timesteps_minimum);
+ mRNAMap["TIMESTEPS_MAX"] = to_string(fds->timesteps_maximum);
+ mRNAMap["TIME_TOTAL"] = to_string(fds->time_total);
+ mRNAMap["TIME_PER_FRAME"] = to_string(fds->time_per_frame);
+ mRNAMap["VORTICITY"] = to_string(fds->vorticity);
+ mRNAMap["FLAME_VORTICITY"] = to_string(fds->flame_vorticity);
+ mRNAMap["NOISE_SCALE"] = to_string(fds->noise_scale);
+ mRNAMap["MESH_SCALE"] = to_string(fds->mesh_scale);
+ mRNAMap["PARTICLE_SCALE"] = to_string(fds->particle_scale);
mRNAMap["NOISE_RESX"] = to_string(mResXNoise);
mRNAMap["NOISE_RESY"] = (is2D) ? to_string(mResZNoise) : to_string(mResYNoise);
mRNAMap["NOISE_RESZ"] = (is2D) ? to_string(1) : to_string(mResZNoise);
@@ -803,76 +803,76 @@ void MANTA::initializeRNAMap(FluidModifierData *mmd)
mRNAMap["GUIDING_RESX"] = to_string(mResGuiding[0]);
mRNAMap["GUIDING_RESY"] = (is2D) ? to_string(mResGuiding[2]) : to_string(mResGuiding[1]);
mRNAMap["GUIDING_RESZ"] = (is2D) ? to_string(1) : to_string(mResGuiding[2]);
- mRNAMap["MIN_RESX"] = to_string(mds->res_min[0]);
- mRNAMap["MIN_RESY"] = to_string(mds->res_min[1]);
- mRNAMap["MIN_RESZ"] = to_string(mds->res_min[2]);
- mRNAMap["BASE_RESX"] = to_string(mds->base_res[0]);
- mRNAMap["BASE_RESY"] = to_string(mds->base_res[1]);
- mRNAMap["BASE_RESZ"] = to_string(mds->base_res[2]);
- mRNAMap["WLT_STR"] = to_string(mds->noise_strength);
- mRNAMap["NOISE_POSSCALE"] = to_string(mds->noise_pos_scale);
- mRNAMap["NOISE_TIMEANIM"] = to_string(mds->noise_time_anim);
- mRNAMap["COLOR_R"] = to_string(mds->active_color[0]);
- mRNAMap["COLOR_G"] = to_string(mds->active_color[1]);
- mRNAMap["COLOR_B"] = to_string(mds->active_color[2]);
- mRNAMap["BUOYANCY_ALPHA"] = to_string(mds->alpha);
- mRNAMap["BUOYANCY_BETA"] = to_string(mds->beta);
- mRNAMap["DISSOLVE_SPEED"] = to_string(mds->diss_speed);
- mRNAMap["BURNING_RATE"] = to_string(mds->burning_rate);
- mRNAMap["FLAME_SMOKE"] = to_string(mds->flame_smoke);
- mRNAMap["IGNITION_TEMP"] = to_string(mds->flame_ignition);
- mRNAMap["MAX_TEMP"] = to_string(mds->flame_max_temp);
- mRNAMap["FLAME_SMOKE_COLOR_X"] = to_string(mds->flame_smoke_color[0]);
- mRNAMap["FLAME_SMOKE_COLOR_Y"] = to_string(mds->flame_smoke_color[1]);
- mRNAMap["FLAME_SMOKE_COLOR_Z"] = to_string(mds->flame_smoke_color[2]);
- mRNAMap["CURRENT_FRAME"] = to_string(int(mmd->time));
- mRNAMap["START_FRAME"] = to_string(mds->cache_frame_start);
- mRNAMap["END_FRAME"] = to_string(mds->cache_frame_end);
- mRNAMap["CACHE_DATA_FORMAT"] = getCacheFileEnding(mds->cache_data_format);
- mRNAMap["CACHE_MESH_FORMAT"] = getCacheFileEnding(mds->cache_mesh_format);
- mRNAMap["CACHE_NOISE_FORMAT"] = getCacheFileEnding(mds->cache_noise_format);
- mRNAMap["CACHE_PARTICLE_FORMAT"] = getCacheFileEnding(mds->cache_particle_format);
+ mRNAMap["MIN_RESX"] = to_string(fds->res_min[0]);
+ mRNAMap["MIN_RESY"] = to_string(fds->res_min[1]);
+ mRNAMap["MIN_RESZ"] = to_string(fds->res_min[2]);
+ mRNAMap["BASE_RESX"] = to_string(fds->base_res[0]);
+ mRNAMap["BASE_RESY"] = to_string(fds->base_res[1]);
+ mRNAMap["BASE_RESZ"] = to_string(fds->base_res[2]);
+ mRNAMap["WLT_STR"] = to_string(fds->noise_strength);
+ mRNAMap["NOISE_POSSCALE"] = to_string(fds->noise_pos_scale);
+ mRNAMap["NOISE_TIMEANIM"] = to_string(fds->noise_time_anim);
+ mRNAMap["COLOR_R"] = to_string(fds->active_color[0]);
+ mRNAMap["COLOR_G"] = to_string(fds->active_color[1]);
+ mRNAMap["COLOR_B"] = to_string(fds->active_color[2]);
+ mRNAMap["BUOYANCY_ALPHA"] = to_string(fds->alpha);
+ mRNAMap["BUOYANCY_BETA"] = to_string(fds->beta);
+ mRNAMap["DISSOLVE_SPEED"] = to_string(fds->diss_speed);
+ mRNAMap["BURNING_RATE"] = to_string(fds->burning_rate);
+ mRNAMap["FLAME_SMOKE"] = to_string(fds->flame_smoke);
+ mRNAMap["IGNITION_TEMP"] = to_string(fds->flame_ignition);
+ mRNAMap["MAX_TEMP"] = to_string(fds->flame_max_temp);
+ mRNAMap["FLAME_SMOKE_COLOR_X"] = to_string(fds->flame_smoke_color[0]);
+ mRNAMap["FLAME_SMOKE_COLOR_Y"] = to_string(fds->flame_smoke_color[1]);
+ mRNAMap["FLAME_SMOKE_COLOR_Z"] = to_string(fds->flame_smoke_color[2]);
+ mRNAMap["CURRENT_FRAME"] = to_string(int(fmd->time));
+ mRNAMap["START_FRAME"] = to_string(fds->cache_frame_start);
+ mRNAMap["END_FRAME"] = to_string(fds->cache_frame_end);
+ mRNAMap["CACHE_DATA_FORMAT"] = getCacheFileEnding(fds->cache_data_format);
+ mRNAMap["CACHE_MESH_FORMAT"] = getCacheFileEnding(fds->cache_mesh_format);
+ mRNAMap["CACHE_NOISE_FORMAT"] = getCacheFileEnding(fds->cache_noise_format);
+ mRNAMap["CACHE_PARTICLE_FORMAT"] = getCacheFileEnding(fds->cache_particle_format);
mRNAMap["SIMULATION_METHOD"] = simulationMethod;
- mRNAMap["FLIP_RATIO"] = to_string(mds->flip_ratio);
- mRNAMap["PARTICLE_RANDOMNESS"] = to_string(mds->particle_randomness);
- mRNAMap["PARTICLE_NUMBER"] = to_string(mds->particle_number);
- mRNAMap["PARTICLE_MINIMUM"] = to_string(mds->particle_minimum);
- mRNAMap["PARTICLE_MAXIMUM"] = to_string(mds->particle_maximum);
- mRNAMap["PARTICLE_RADIUS"] = to_string(mds->particle_radius);
- mRNAMap["FRACTIONS_THRESHOLD"] = to_string(mds->fractions_threshold);
- mRNAMap["MESH_CONCAVE_UPPER"] = to_string(mds->mesh_concave_upper);
- mRNAMap["MESH_CONCAVE_LOWER"] = to_string(mds->mesh_concave_lower);
- mRNAMap["MESH_PARTICLE_RADIUS"] = to_string(mds->mesh_particle_radius);
- mRNAMap["MESH_SMOOTHEN_POS"] = to_string(mds->mesh_smoothen_pos);
- mRNAMap["MESH_SMOOTHEN_NEG"] = to_string(mds->mesh_smoothen_neg);
- mRNAMap["PARTICLE_BAND_WIDTH"] = to_string(mds->particle_band_width);
- mRNAMap["SNDPARTICLE_TAU_MIN_WC"] = to_string(mds->sndparticle_tau_min_wc);
- mRNAMap["SNDPARTICLE_TAU_MAX_WC"] = to_string(mds->sndparticle_tau_max_wc);
- mRNAMap["SNDPARTICLE_TAU_MIN_TA"] = to_string(mds->sndparticle_tau_min_ta);
- mRNAMap["SNDPARTICLE_TAU_MAX_TA"] = to_string(mds->sndparticle_tau_max_ta);
- mRNAMap["SNDPARTICLE_TAU_MIN_K"] = to_string(mds->sndparticle_tau_min_k);
- mRNAMap["SNDPARTICLE_TAU_MAX_K"] = to_string(mds->sndparticle_tau_max_k);
- mRNAMap["SNDPARTICLE_K_WC"] = to_string(mds->sndparticle_k_wc);
- mRNAMap["SNDPARTICLE_K_TA"] = to_string(mds->sndparticle_k_ta);
- mRNAMap["SNDPARTICLE_K_B"] = to_string(mds->sndparticle_k_b);
- mRNAMap["SNDPARTICLE_K_D"] = to_string(mds->sndparticle_k_d);
- mRNAMap["SNDPARTICLE_L_MIN"] = to_string(mds->sndparticle_l_min);
- mRNAMap["SNDPARTICLE_L_MAX"] = to_string(mds->sndparticle_l_max);
- mRNAMap["SNDPARTICLE_POTENTIAL_RADIUS"] = to_string(mds->sndparticle_potential_radius);
- mRNAMap["SNDPARTICLE_UPDATE_RADIUS"] = to_string(mds->sndparticle_update_radius);
- mRNAMap["LIQUID_SURFACE_TENSION"] = to_string(mds->surface_tension);
+ mRNAMap["FLIP_RATIO"] = to_string(fds->flip_ratio);
+ mRNAMap["PARTICLE_RANDOMNESS"] = to_string(fds->particle_randomness);
+ mRNAMap["PARTICLE_NUMBER"] = to_string(fds->particle_number);
+ mRNAMap["PARTICLE_MINIMUM"] = to_string(fds->particle_minimum);
+ mRNAMap["PARTICLE_MAXIMUM"] = to_string(fds->particle_maximum);
+ mRNAMap["PARTICLE_RADIUS"] = to_string(fds->particle_radius);
+ mRNAMap["FRACTIONS_THRESHOLD"] = to_string(fds->fractions_threshold);
+ mRNAMap["MESH_CONCAVE_UPPER"] = to_string(fds->mesh_concave_upper);
+ mRNAMap["MESH_CONCAVE_LOWER"] = to_string(fds->mesh_concave_lower);
+ mRNAMap["MESH_PARTICLE_RADIUS"] = to_string(fds->mesh_particle_radius);
+ mRNAMap["MESH_SMOOTHEN_POS"] = to_string(fds->mesh_smoothen_pos);
+ mRNAMap["MESH_SMOOTHEN_NEG"] = to_string(fds->mesh_smoothen_neg);
+ mRNAMap["PARTICLE_BAND_WIDTH"] = to_string(fds->particle_band_width);
+ mRNAMap["SNDPARTICLE_TAU_MIN_WC"] = to_string(fds->sndparticle_tau_min_wc);
+ mRNAMap["SNDPARTICLE_TAU_MAX_WC"] = to_string(fds->sndparticle_tau_max_wc);
+ mRNAMap["SNDPARTICLE_TAU_MIN_TA"] = to_string(fds->sndparticle_tau_min_ta);
+ mRNAMap["SNDPARTICLE_TAU_MAX_TA"] = to_string(fds->sndparticle_tau_max_ta);
+ mRNAMap["SNDPARTICLE_TAU_MIN_K"] = to_string(fds->sndparticle_tau_min_k);
+ mRNAMap["SNDPARTICLE_TAU_MAX_K"] = to_string(fds->sndparticle_tau_max_k);
+ mRNAMap["SNDPARTICLE_K_WC"] = to_string(fds->sndparticle_k_wc);
+ mRNAMap["SNDPARTICLE_K_TA"] = to_string(fds->sndparticle_k_ta);
+ mRNAMap["SNDPARTICLE_K_B"] = to_string(fds->sndparticle_k_b);
+ mRNAMap["SNDPARTICLE_K_D"] = to_string(fds->sndparticle_k_d);
+ mRNAMap["SNDPARTICLE_L_MIN"] = to_string(fds->sndparticle_l_min);
+ mRNAMap["SNDPARTICLE_L_MAX"] = to_string(fds->sndparticle_l_max);
+ mRNAMap["SNDPARTICLE_POTENTIAL_RADIUS"] = to_string(fds->sndparticle_potential_radius);
+ mRNAMap["SNDPARTICLE_UPDATE_RADIUS"] = to_string(fds->sndparticle_update_radius);
+ mRNAMap["LIQUID_SURFACE_TENSION"] = to_string(fds->surface_tension);
mRNAMap["FLUID_VISCOSITY"] = to_string(viscosity);
mRNAMap["FLUID_DOMAIN_SIZE"] = to_string(domainSize);
- mRNAMap["FLUID_DOMAIN_SIZE_X"] = to_string(mds->global_size[0]);
- mRNAMap["FLUID_DOMAIN_SIZE_Y"] = to_string(mds->global_size[1]);
- mRNAMap["FLUID_DOMAIN_SIZE_Z"] = to_string(mds->global_size[2]);
+ mRNAMap["FLUID_DOMAIN_SIZE_X"] = to_string(fds->global_size[0]);
+ mRNAMap["FLUID_DOMAIN_SIZE_Y"] = to_string(fds->global_size[1]);
+ mRNAMap["FLUID_DOMAIN_SIZE_Z"] = to_string(fds->global_size[2]);
mRNAMap["SNDPARTICLE_TYPES"] = particleTypesStr;
- mRNAMap["GUIDING_ALPHA"] = to_string(mds->guide_alpha);
- mRNAMap["GUIDING_BETA"] = to_string(mds->guide_beta);
- mRNAMap["GUIDING_FACTOR"] = to_string(mds->guide_vel_factor);
- mRNAMap["GRAVITY_X"] = to_string(mds->gravity[0]);
- mRNAMap["GRAVITY_Y"] = to_string(mds->gravity[1]);
- mRNAMap["GRAVITY_Z"] = to_string(mds->gravity[2]);
+ mRNAMap["GUIDING_ALPHA"] = to_string(fds->guide_alpha);
+ mRNAMap["GUIDING_BETA"] = to_string(fds->guide_beta);
+ mRNAMap["GUIDING_FACTOR"] = to_string(fds->guide_vel_factor);
+ mRNAMap["GRAVITY_X"] = to_string(fds->gravity[0]);
+ mRNAMap["GRAVITY_Y"] = to_string(fds->gravity[1]);
+ mRNAMap["GRAVITY_Z"] = to_string(fds->gravity[2]);
mRNAMap["CACHE_DIR"] = cacheDirectory;
mRNAMap["COMPRESSION_OPENVDB"] = vdbCompressionMethod;
mRNAMap["PRECISION_OPENVDB"] = vdbPrecisionHalf;
@@ -1063,7 +1063,7 @@ string MANTA::parseLine(const string &line)
return res;
}
-string MANTA::parseScript(const string &setup_string, FluidModifierData *mmd)
+string MANTA::parseScript(const string &setup_string, FluidModifierData *fmd)
{
if (MANTA::with_debug)
cout << "MANTA::parseScript()" << endl;
@@ -1073,8 +1073,8 @@ string MANTA::parseScript(const string &setup_string, FluidModifierData *mmd)
string line = "";
// Update RNA map if modifier data is handed over
- if (mmd) {
- initializeRNAMap(mmd);
+ if (fmd) {
+ initializeRNAMap(fmd);
}
while (getline(f, line)) {
res << parseLine(line) << "\n";
@@ -1096,16 +1096,16 @@ static string escapeSlashes(string const &s)
return result;
}
-bool MANTA::writeConfiguration(FluidModifierData *mmd, int framenr)
+bool MANTA::writeConfiguration(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::writeConfiguration()" << endl;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_CONFIG);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_CONFIG);
string format = FLUID_DOMAIN_EXTENSION_UNI;
- string file = getFile(mmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, format, framenr);
+ string file = getFile(fmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, format, framenr);
/* Create 'config' subdir if it does not exist already. */
BLI_dir_create_recursive(directory.c_str());
@@ -1116,38 +1116,38 @@ bool MANTA::writeConfiguration(FluidModifierData *mmd, int framenr)
return false;
}
- gzwrite(gzf, &mds->active_fields, sizeof(int));
- gzwrite(gzf, &mds->res, 3 * sizeof(int));
- gzwrite(gzf, &mds->dx, sizeof(float));
- gzwrite(gzf, &mds->dt, sizeof(float));
- gzwrite(gzf, &mds->p0, 3 * sizeof(float));
- gzwrite(gzf, &mds->p1, 3 * sizeof(float));
- gzwrite(gzf, &mds->dp0, 3 * sizeof(float));
- gzwrite(gzf, &mds->shift, 3 * sizeof(int));
- gzwrite(gzf, &mds->obj_shift_f, 3 * sizeof(float));
- gzwrite(gzf, &mds->obmat, 16 * sizeof(float));
- gzwrite(gzf, &mds->base_res, 3 * sizeof(int));
- gzwrite(gzf, &mds->res_min, 3 * sizeof(int));
- gzwrite(gzf, &mds->res_max, 3 * sizeof(int));
- gzwrite(gzf, &mds->active_color, 3 * sizeof(float));
- gzwrite(gzf, &mds->time_total, sizeof(int));
+ gzwrite(gzf, &fds->active_fields, sizeof(int));
+ gzwrite(gzf, &fds->res, 3 * sizeof(int));
+ gzwrite(gzf, &fds->dx, sizeof(float));
+ gzwrite(gzf, &fds->dt, sizeof(float));
+ gzwrite(gzf, &fds->p0, 3 * sizeof(float));
+ gzwrite(gzf, &fds->p1, 3 * sizeof(float));
+ gzwrite(gzf, &fds->dp0, 3 * sizeof(float));
+ gzwrite(gzf, &fds->shift, 3 * sizeof(int));
+ gzwrite(gzf, &fds->obj_shift_f, 3 * sizeof(float));
+ gzwrite(gzf, &fds->obmat, 16 * sizeof(float));
+ gzwrite(gzf, &fds->base_res, 3 * sizeof(int));
+ gzwrite(gzf, &fds->res_min, 3 * sizeof(int));
+ gzwrite(gzf, &fds->res_max, 3 * sizeof(int));
+ gzwrite(gzf, &fds->active_color, 3 * sizeof(float));
+ gzwrite(gzf, &fds->time_total, sizeof(int));
gzwrite(gzf, &FLUID_CACHE_VERSION, 4 * sizeof(char));
return (gzclose(gzf) == Z_OK);
}
-bool MANTA::writeData(FluidModifierData *mmd, int framenr)
+bool MANTA::writeData(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::writeData()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_DATA);
- string volume_format = getCacheFileEnding(mds->cache_data_format);
- string resumable_cache = !(mds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_DATA);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
+ string resumable_cache = !(fds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
if (mUsingSmoke) {
ss.str("");
@@ -1164,18 +1164,18 @@ bool MANTA::writeData(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::writeNoise(FluidModifierData *mmd, int framenr)
+bool MANTA::writeNoise(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::writeNoise()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_NOISE);
- string volume_format = getCacheFileEnding(mds->cache_data_format);
- string resumable_cache = !(mds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_NOISE);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
+ string resumable_cache = !(fds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
if (mUsingSmoke && mUsingNoise) {
ss.str("");
@@ -1186,19 +1186,19 @@ bool MANTA::writeNoise(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::readConfiguration(FluidModifierData *mmd, int framenr)
+bool MANTA::readConfiguration(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::readConfiguration()" << endl;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
float dummy;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_CONFIG);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_CONFIG);
string format = FLUID_DOMAIN_EXTENSION_UNI;
- string file = getFile(mmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, format, framenr);
+ string file = getFile(fmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, format, framenr);
- if (!hasConfig(mmd, framenr))
+ if (!hasConfig(fmd, framenr))
return false;
gzFile gzf = (gzFile)BLI_gzopen(file.c_str(), "rb"); /* Do some compression. */
@@ -1207,29 +1207,29 @@ bool MANTA::readConfiguration(FluidModifierData *mmd, int framenr)
return false;
}
- gzread(gzf, &mds->active_fields, sizeof(int));
- gzread(gzf, &mds->res, 3 * sizeof(int));
- gzread(gzf, &mds->dx, sizeof(float));
+ gzread(gzf, &fds->active_fields, sizeof(int));
+ gzread(gzf, &fds->res, 3 * sizeof(int));
+ gzread(gzf, &fds->dx, sizeof(float));
gzread(gzf, &dummy, sizeof(float)); /* dt not needed right now. */
- gzread(gzf, &mds->p0, 3 * sizeof(float));
- gzread(gzf, &mds->p1, 3 * sizeof(float));
- gzread(gzf, &mds->dp0, 3 * sizeof(float));
- gzread(gzf, &mds->shift, 3 * sizeof(int));
- gzread(gzf, &mds->obj_shift_f, 3 * sizeof(float));
- gzread(gzf, &mds->obmat, 16 * sizeof(float));
- gzread(gzf, &mds->base_res, 3 * sizeof(int));
- gzread(gzf, &mds->res_min, 3 * sizeof(int));
- gzread(gzf, &mds->res_max, 3 * sizeof(int));
- gzread(gzf, &mds->active_color, 3 * sizeof(float));
- gzread(gzf, &mds->time_total, sizeof(int));
- gzread(gzf, &mds->cache_id, 4 * sizeof(char)); /* Older caches might have no id. */
-
- mds->total_cells = mds->res[0] * mds->res[1] * mds->res[2];
+ gzread(gzf, &fds->p0, 3 * sizeof(float));
+ gzread(gzf, &fds->p1, 3 * sizeof(float));
+ gzread(gzf, &fds->dp0, 3 * sizeof(float));
+ gzread(gzf, &fds->shift, 3 * sizeof(int));
+ gzread(gzf, &fds->obj_shift_f, 3 * sizeof(float));
+ gzread(gzf, &fds->obmat, 16 * sizeof(float));
+ gzread(gzf, &fds->base_res, 3 * sizeof(int));
+ gzread(gzf, &fds->res_min, 3 * sizeof(int));
+ gzread(gzf, &fds->res_max, 3 * sizeof(int));
+ gzread(gzf, &fds->active_color, 3 * sizeof(float));
+ gzread(gzf, &fds->time_total, sizeof(int));
+ gzread(gzf, &fds->cache_id, 4 * sizeof(char)); /* Older caches might have no id. */
+
+ fds->total_cells = fds->res[0] * fds->res[1] * fds->res[2];
return (gzclose(gzf) == Z_OK);
}
-bool MANTA::readData(FluidModifierData *mmd, int framenr, bool resumable)
+bool MANTA::readData(FluidModifierData *fmd, int framenr, bool resumable)
{
if (with_debug)
cout << "MANTA::readData()" << endl;
@@ -1239,15 +1239,15 @@ bool MANTA::readData(FluidModifierData *mmd, int framenr, bool resumable)
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
bool result = true;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_DATA);
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_DATA);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
string resumable_cache = (!resumable) ? "False" : "True";
/* Sanity check: Are cache files present? */
- if (!hasData(mmd, framenr))
+ if (!hasData(fmd, framenr))
return false;
if (mUsingSmoke) {
@@ -1267,7 +1267,7 @@ bool MANTA::readData(FluidModifierData *mmd, int framenr, bool resumable)
return result;
}
-bool MANTA::readNoise(FluidModifierData *mmd, int framenr, bool resumable)
+bool MANTA::readNoise(FluidModifierData *fmd, int framenr, bool resumable)
{
if (with_debug)
cout << "MANTA::readNoise()" << endl;
@@ -1277,18 +1277,18 @@ bool MANTA::readNoise(FluidModifierData *mmd, int framenr, bool resumable)
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_NOISE);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_NOISE);
string resumable_cache = (!resumable) ? "False" : "True";
/* Support older caches which had more granular file format control. */
- char format = (!strcmp(mds->cache_id, FLUID_CACHE_VERSION)) ? mds->cache_data_format :
- mds->cache_noise_format;
+ char format = (!strcmp(fds->cache_id, FLUID_CACHE_VERSION)) ? fds->cache_data_format :
+ fds->cache_noise_format;
string volume_format = getCacheFileEnding(format);
/* Sanity check: Are cache files present? */
- if (!hasNoise(mmd, framenr))
+ if (!hasNoise(fmd, framenr))
return false;
ss.str("");
@@ -1299,7 +1299,7 @@ bool MANTA::readNoise(FluidModifierData *mmd, int framenr, bool resumable)
return runPythonString(pythonCommands);
}
-bool MANTA::readMesh(FluidModifierData *mmd, int framenr)
+bool MANTA::readMesh(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::readMesh()" << endl;
@@ -1309,14 +1309,14 @@ bool MANTA::readMesh(FluidModifierData *mmd, int framenr)
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_MESH);
- string mesh_format = getCacheFileEnding(mds->cache_mesh_format);
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_MESH);
+ string mesh_format = getCacheFileEnding(fds->cache_mesh_format);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
/* Sanity check: Are cache files present? */
- if (!hasMesh(mmd, framenr))
+ if (!hasMesh(fmd, framenr))
return false;
ss.str("");
@@ -1334,7 +1334,7 @@ bool MANTA::readMesh(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::readParticles(FluidModifierData *mmd, int framenr, bool resumable)
+bool MANTA::readParticles(FluidModifierData *fmd, int framenr, bool resumable)
{
if (with_debug)
cout << "MANTA::readParticles()" << endl;
@@ -1346,18 +1346,18 @@ bool MANTA::readParticles(FluidModifierData *mmd, int framenr, bool resumable)
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- string directory = getDirectory(mmd, FLUID_DOMAIN_DIR_PARTICLES);
+ string directory = getDirectory(fmd, FLUID_DOMAIN_DIR_PARTICLES);
string resumable_cache = (!resumable) ? "False" : "True";
/* Support older caches which had more granular file format control. */
- char format = (!strcmp(mds->cache_id, FLUID_CACHE_VERSION)) ? mds->cache_data_format :
- mds->cache_particle_format;
+ char format = (!strcmp(fds->cache_id, FLUID_CACHE_VERSION)) ? fds->cache_data_format :
+ fds->cache_particle_format;
string volume_format = getCacheFileEnding(format);
/* Sanity check: Are cache files present? */
- if (!hasParticles(mmd, framenr))
+ if (!hasParticles(fmd, framenr))
return false;
ss.str("");
@@ -1368,27 +1368,27 @@ bool MANTA::readParticles(FluidModifierData *mmd, int framenr, bool resumable)
return runPythonString(pythonCommands);
}
-bool MANTA::readGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain)
+bool MANTA::readGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain)
{
if (with_debug)
cout << "MANTA::readGuiding()" << endl;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
if (!mUsingGuiding)
return false;
- if (!mds)
+ if (!fds)
return false;
ostringstream ss;
vector<string> pythonCommands;
- string directory = (sourceDomain) ? getDirectory(mmd, FLUID_DOMAIN_DIR_DATA) :
- getDirectory(mmd, FLUID_DOMAIN_DIR_GUIDE);
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string directory = (sourceDomain) ? getDirectory(fmd, FLUID_DOMAIN_DIR_DATA) :
+ getDirectory(fmd, FLUID_DOMAIN_DIR_GUIDE);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
/* Sanity check: Are cache files present? */
- if (!hasGuiding(mmd, framenr, sourceDomain))
+ if (!hasGuiding(fmd, framenr, sourceDomain))
return false;
if (sourceDomain) {
@@ -1406,7 +1406,7 @@ bool MANTA::readGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain)
return runPythonString(pythonCommands);
}
-bool MANTA::bakeData(FluidModifierData *mmd, int framenr)
+bool MANTA::bakeData(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::bakeData()" << endl;
@@ -1414,19 +1414,19 @@ bool MANTA::bakeData(FluidModifierData *mmd, int framenr)
string tmpString, finalString;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
char cacheDirData[FILE_MAX], cacheDirGuiding[FILE_MAX];
cacheDirData[0] = '\0';
cacheDirGuiding[0] = '\0';
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
BLI_path_join(
- cacheDirData, sizeof(cacheDirData), mds->cache_directory, FLUID_DOMAIN_DIR_DATA, nullptr);
+ cacheDirData, sizeof(cacheDirData), fds->cache_directory, FLUID_DOMAIN_DIR_DATA, nullptr);
BLI_path_join(cacheDirGuiding,
sizeof(cacheDirGuiding),
- mds->cache_directory,
+ fds->cache_directory,
FLUID_DOMAIN_DIR_GUIDE,
nullptr);
BLI_path_make_safe(cacheDirData);
@@ -1440,22 +1440,22 @@ bool MANTA::bakeData(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::bakeNoise(FluidModifierData *mmd, int framenr)
+bool MANTA::bakeNoise(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::bakeNoise()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
char cacheDirNoise[FILE_MAX];
cacheDirNoise[0] = '\0';
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
BLI_path_join(
- cacheDirNoise, sizeof(cacheDirNoise), mds->cache_directory, FLUID_DOMAIN_DIR_NOISE, nullptr);
+ cacheDirNoise, sizeof(cacheDirNoise), fds->cache_directory, FLUID_DOMAIN_DIR_NOISE, nullptr);
BLI_path_make_safe(cacheDirNoise);
ss.str("");
@@ -1466,23 +1466,23 @@ bool MANTA::bakeNoise(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::bakeMesh(FluidModifierData *mmd, int framenr)
+bool MANTA::bakeMesh(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::bakeMesh()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
char cacheDirMesh[FILE_MAX];
cacheDirMesh[0] = '\0';
- string volume_format = getCacheFileEnding(mds->cache_data_format);
- string mesh_format = getCacheFileEnding(mds->cache_mesh_format);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
+ string mesh_format = getCacheFileEnding(fds->cache_mesh_format);
BLI_path_join(
- cacheDirMesh, sizeof(cacheDirMesh), mds->cache_directory, FLUID_DOMAIN_DIR_MESH, nullptr);
+ cacheDirMesh, sizeof(cacheDirMesh), fds->cache_directory, FLUID_DOMAIN_DIR_MESH, nullptr);
BLI_path_make_safe(cacheDirMesh);
ss.str("");
@@ -1493,24 +1493,24 @@ bool MANTA::bakeMesh(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::bakeParticles(FluidModifierData *mmd, int framenr)
+bool MANTA::bakeParticles(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::bakeParticles()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
char cacheDirParticles[FILE_MAX];
cacheDirParticles[0] = '\0';
- string volume_format = getCacheFileEnding(mds->cache_data_format);
- string resumable_cache = !(mds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
+ string resumable_cache = !(fds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE) ? "False" : "True";
BLI_path_join(cacheDirParticles,
sizeof(cacheDirParticles),
- mds->cache_directory,
+ fds->cache_directory,
FLUID_DOMAIN_DIR_PARTICLES,
nullptr);
BLI_path_make_safe(cacheDirParticles);
@@ -1523,23 +1523,23 @@ bool MANTA::bakeParticles(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::bakeGuiding(FluidModifierData *mmd, int framenr)
+bool MANTA::bakeGuiding(FluidModifierData *fmd, int framenr)
{
if (with_debug)
cout << "MANTA::bakeGuiding()" << endl;
ostringstream ss;
vector<string> pythonCommands;
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
char cacheDirGuiding[FILE_MAX];
cacheDirGuiding[0] = '\0';
- string volume_format = getCacheFileEnding(mds->cache_data_format);
+ string volume_format = getCacheFileEnding(fds->cache_data_format);
BLI_path_join(cacheDirGuiding,
sizeof(cacheDirGuiding),
- mds->cache_directory,
+ fds->cache_directory,
FLUID_DOMAIN_DIR_GUIDE,
nullptr);
BLI_path_make_safe(cacheDirGuiding);
@@ -1552,7 +1552,7 @@ bool MANTA::bakeGuiding(FluidModifierData *mmd, int framenr)
return runPythonString(pythonCommands);
}
-bool MANTA::updateVariables(FluidModifierData *mmd)
+bool MANTA::updateVariables(FluidModifierData *fmd)
{
string tmpString, finalString;
vector<string> pythonCommands;
@@ -1576,13 +1576,13 @@ bool MANTA::updateVariables(FluidModifierData *mmd)
if (mUsingMesh)
tmpString += fluid_variables_mesh;
- finalString = parseScript(tmpString, mmd);
+ finalString = parseScript(tmpString, fmd);
pythonCommands.push_back(finalString);
return runPythonString(pythonCommands);
}
-void MANTA::exportSmokeScript(FluidModifierData *mmd)
+void MANTA::exportSmokeScript(FluidModifierData *fmd)
{
if (with_debug)
cout << "MANTA::exportSmokeScript()" << endl;
@@ -1590,10 +1590,10 @@ void MANTA::exportSmokeScript(FluidModifierData *mmd)
char cacheDir[FILE_MAX] = "\0";
char cacheDirScript[FILE_MAX] = "\0";
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
BLI_path_join(
- cacheDir, sizeof(cacheDir), mds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, nullptr);
+ cacheDir, sizeof(cacheDir), fds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, nullptr);
BLI_path_make_safe(cacheDir);
/* Create 'script' subdir if it does not exist already */
BLI_dir_create_recursive(cacheDir);
@@ -1601,14 +1601,14 @@ void MANTA::exportSmokeScript(FluidModifierData *mmd)
cacheDirScript, sizeof(cacheDirScript), cacheDir, FLUID_DOMAIN_SMOKE_SCRIPT, nullptr);
BLI_path_make_safe(cacheDir);
- bool noise = mds->flags & FLUID_DOMAIN_USE_NOISE;
- bool heat = mds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT;
- bool colors = mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS;
- bool fire = mds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE;
- bool obstacle = mds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE;
- bool guiding = mds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE;
- bool invel = mds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL;
- bool outflow = mds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW;
+ bool noise = fds->flags & FLUID_DOMAIN_USE_NOISE;
+ bool heat = fds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT;
+ bool colors = fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS;
+ bool fire = fds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE;
+ bool obstacle = fds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE;
+ bool guiding = fds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE;
+ bool invel = fds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL;
+ bool outflow = fds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW;
string manta_script;
@@ -1681,7 +1681,7 @@ void MANTA::exportSmokeScript(FluidModifierData *mmd)
manta_script += header_main + smoke_standalone + fluid_standalone;
// Fill in missing variables in script
- string final_script = MANTA::parseScript(manta_script, mmd);
+ string final_script = MANTA::parseScript(manta_script, fmd);
// Write script
ofstream myfile;
@@ -1690,7 +1690,7 @@ void MANTA::exportSmokeScript(FluidModifierData *mmd)
myfile.close();
}
-void MANTA::exportLiquidScript(FluidModifierData *mmd)
+void MANTA::exportLiquidScript(FluidModifierData *fmd)
{
if (with_debug)
cout << "MANTA::exportLiquidScript()" << endl;
@@ -1698,10 +1698,10 @@ void MANTA::exportLiquidScript(FluidModifierData *mmd)
char cacheDir[FILE_MAX] = "\0";
char cacheDirScript[FILE_MAX] = "\0";
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
BLI_path_join(
- cacheDir, sizeof(cacheDir), mds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, nullptr);
+ cacheDir, sizeof(cacheDir), fds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, nullptr);
BLI_path_make_safe(cacheDir);
/* Create 'script' subdir if it does not exist already */
BLI_dir_create_recursive(cacheDir);
@@ -1709,16 +1709,16 @@ void MANTA::exportLiquidScript(FluidModifierData *mmd)
cacheDirScript, sizeof(cacheDirScript), cacheDir, FLUID_DOMAIN_LIQUID_SCRIPT, nullptr);
BLI_path_make_safe(cacheDirScript);
- bool mesh = mds->flags & FLUID_DOMAIN_USE_MESH;
- bool drops = mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY;
- bool bubble = mds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE;
- bool floater = mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM;
- bool tracer = mds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER;
- bool obstacle = mds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE;
- bool fractions = mds->flags & FLUID_DOMAIN_USE_FRACTIONS;
- bool guiding = mds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE;
- bool invel = mds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL;
- bool outflow = mds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW;
+ bool mesh = fds->flags & FLUID_DOMAIN_USE_MESH;
+ bool drops = fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY;
+ bool bubble = fds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE;
+ bool floater = fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM;
+ bool tracer = fds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER;
+ bool obstacle = fds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE;
+ bool fractions = fds->flags & FLUID_DOMAIN_USE_FRACTIONS;
+ bool guiding = fds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE;
+ bool invel = fds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL;
+ bool outflow = fds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW;
string manta_script;
@@ -1789,7 +1789,7 @@ void MANTA::exportLiquidScript(FluidModifierData *mmd)
manta_script += header_main + liquid_standalone + fluid_standalone;
// Fill in missing variables in script
- string final_script = MANTA::parseScript(manta_script, mmd);
+ string final_script = MANTA::parseScript(manta_script, fmd);
// Write script
ofstream myfile;
@@ -1932,10 +1932,10 @@ float MANTA::getTimestep()
return (float)pyObjectToDouble(callPythonFunction(solver, func, true));
}
-bool MANTA::needsRealloc(FluidModifierData *mmd)
+bool MANTA::needsRealloc(FluidModifierData *fmd)
{
- FluidDomainSettings *mds = mmd->domain;
- return (mds->res[0] != mResX || mds->res[1] != mResY || mds->res[2] != mResZ);
+ FluidDomainSettings *fds = fmd->domain;
+ return (fds->res[0] != mResX || fds->res[1] != mResY || fds->res[2] != mResZ);
}
void MANTA::adaptTimestep()
@@ -2091,23 +2091,23 @@ void MANTA::updatePointers()
mNoiseFromFile = false;
}
-bool MANTA::hasConfig(FluidModifierData *mmd, int framenr)
+bool MANTA::hasConfig(FluidModifierData *fmd, int framenr)
{
string extension = FLUID_DOMAIN_EXTENSION_UNI;
return BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_CONFIG, FLUID_NAME_CONFIG, extension, framenr).c_str());
}
-bool MANTA::hasData(FluidModifierData *mmd, int framenr)
+bool MANTA::hasData(FluidModifierData *fmd, int framenr)
{
- string extension = getCacheFileEnding(mmd->domain->cache_data_format);
+ string extension = getCacheFileEnding(fmd->domain->cache_data_format);
bool exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_DATA, FLUID_NAME_DATA, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_DATA, FLUID_NAME_DATA, extension, framenr).c_str());
/* Check single file naming. */
if (!exists) {
string filename = (mUsingSmoke) ? FLUID_NAME_DENSITY : FLUID_NAME_PP;
- exists = BLI_exists(getFile(mmd, FLUID_DOMAIN_DIR_DATA, filename, extension, framenr).c_str());
+ exists = BLI_exists(getFile(fmd, FLUID_DOMAIN_DIR_DATA, filename, extension, framenr).c_str());
}
if (with_debug)
cout << "Fluid: Has Data: " << exists << endl;
@@ -2115,24 +2115,24 @@ bool MANTA::hasData(FluidModifierData *mmd, int framenr)
return exists;
}
-bool MANTA::hasNoise(FluidModifierData *mmd, int framenr)
+bool MANTA::hasNoise(FluidModifierData *fmd, int framenr)
{
- string extension = getCacheFileEnding(mmd->domain->cache_data_format);
+ string extension = getCacheFileEnding(fmd->domain->cache_data_format);
bool exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_NOISE, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_NOISE, extension, framenr).c_str());
/* Check single file naming. */
if (!exists) {
- extension = getCacheFileEnding(mmd->domain->cache_data_format);
+ extension = getCacheFileEnding(fmd->domain->cache_data_format);
exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_DENSITY_NOISE, extension, framenr)
+ getFile(fmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_DENSITY_NOISE, extension, framenr)
.c_str());
}
/* Check single file naming with deprecated extension. */
if (!exists) {
- extension = getCacheFileEnding(mmd->domain->cache_noise_format);
+ extension = getCacheFileEnding(fmd->domain->cache_noise_format);
exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_DENSITY_NOISE, extension, framenr)
+ getFile(fmd, FLUID_DOMAIN_DIR_NOISE, FLUID_NAME_DENSITY_NOISE, extension, framenr)
.c_str());
}
if (with_debug)
@@ -2141,16 +2141,16 @@ bool MANTA::hasNoise(FluidModifierData *mmd, int framenr)
return exists;
}
-bool MANTA::hasMesh(FluidModifierData *mmd, int framenr)
+bool MANTA::hasMesh(FluidModifierData *fmd, int framenr)
{
- string extension = getCacheFileEnding(mmd->domain->cache_mesh_format);
+ string extension = getCacheFileEnding(fmd->domain->cache_mesh_format);
bool exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_MESH, FLUID_NAME_MESH, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_MESH, FLUID_NAME_MESH, extension, framenr).c_str());
/* Check old file naming. */
if (!exists) {
exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_MESH, FLUID_NAME_LMESH, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_MESH, FLUID_NAME_LMESH, extension, framenr).c_str());
}
if (with_debug)
cout << "Fluid: Has Mesh: " << exists << endl;
@@ -2158,24 +2158,24 @@ bool MANTA::hasMesh(FluidModifierData *mmd, int framenr)
return exists;
}
-bool MANTA::hasParticles(FluidModifierData *mmd, int framenr)
+bool MANTA::hasParticles(FluidModifierData *fmd, int framenr)
{
- string extension = getCacheFileEnding(mmd->domain->cache_data_format);
+ string extension = getCacheFileEnding(fmd->domain->cache_data_format);
bool exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PARTICLES, extension, framenr).c_str());
+ getFile(fmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PARTICLES, extension, framenr).c_str());
/* Check single file naming. */
if (!exists) {
- extension = getCacheFileEnding(mmd->domain->cache_data_format);
+ extension = getCacheFileEnding(fmd->domain->cache_data_format);
exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PP_PARTICLES, extension, framenr)
+ getFile(fmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PP_PARTICLES, extension, framenr)
.c_str());
}
/* Check single file naming with deprecated extension. */
if (!exists) {
- extension = getCacheFileEnding(mmd->domain->cache_particle_format);
+ extension = getCacheFileEnding(fmd->domain->cache_particle_format);
exists = BLI_exists(
- getFile(mmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PP_PARTICLES, extension, framenr)
+ getFile(fmd, FLUID_DOMAIN_DIR_PARTICLES, FLUID_NAME_PP_PARTICLES, extension, framenr)
.c_str());
}
if (with_debug)
@@ -2184,32 +2184,32 @@ bool MANTA::hasParticles(FluidModifierData *mmd, int framenr)
return exists;
}
-bool MANTA::hasGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain)
+bool MANTA::hasGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain)
{
string subdirectory = (sourceDomain) ? FLUID_DOMAIN_DIR_DATA : FLUID_DOMAIN_DIR_GUIDE;
string filename = (sourceDomain) ? FLUID_NAME_VELOCITY : FLUID_NAME_GUIDEVEL;
- string extension = getCacheFileEnding(mmd->domain->cache_data_format);
- bool exists = BLI_exists(getFile(mmd, subdirectory, filename, extension, framenr).c_str());
+ string extension = getCacheFileEnding(fmd->domain->cache_data_format);
+ bool exists = BLI_exists(getFile(fmd, subdirectory, filename, extension, framenr).c_str());
if (with_debug)
cout << "Fluid: Has Guiding: " << exists << endl;
return exists;
}
-string MANTA::getDirectory(FluidModifierData *mmd, string subdirectory)
+string MANTA::getDirectory(FluidModifierData *fmd, string subdirectory)
{
char directory[FILE_MAX];
BLI_path_join(
- directory, sizeof(directory), mmd->domain->cache_directory, subdirectory.c_str(), nullptr);
+ directory, sizeof(directory), fmd->domain->cache_directory, subdirectory.c_str(), nullptr);
BLI_path_make_safe(directory);
return directory;
}
string MANTA::getFile(
- FluidModifierData *mmd, string subdirectory, string fname, string extension, int framenr)
+ FluidModifierData *fmd, string subdirectory, string fname, string extension, int framenr)
{
char targetFile[FILE_MAX];
- string path = getDirectory(mmd, subdirectory);
+ string path = getDirectory(fmd, subdirectory);
string filename = fname + "_####" + extension;
BLI_join_dirfile(targetFile, sizeof(targetFile), path.c_str(), filename.c_str());
BLI_path_frame(targetFile, framenr, 0);
diff --git a/intern/mantaflow/intern/MANTA_main.h b/intern/mantaflow/intern/MANTA_main.h
index 38cbd33ea0a..dae2aea4e08 100644
--- a/intern/mantaflow/intern/MANTA_main.h
+++ b/intern/mantaflow/intern/MANTA_main.h
@@ -37,7 +37,7 @@ using std::vector;
struct MANTA {
public:
- MANTA(int *res, struct FluidModifierData *mmd);
+ MANTA(int *res, struct FluidModifierData *fmd);
MANTA(){};
virtual ~MANTA();
@@ -61,68 +61,68 @@ struct MANTA {
} Triangle;
// Manta step, handling everything
- void step(struct FluidModifierData *mmd, int startFrame);
+ void step(struct FluidModifierData *fmd, int startFrame);
// Grid initialization functions
- void initHeat(struct FluidModifierData *mmd = NULL);
- void initFire(struct FluidModifierData *mmd = NULL);
- void initColors(struct FluidModifierData *mmd = NULL);
- void initFireHigh(struct FluidModifierData *mmd = NULL);
- void initColorsHigh(struct FluidModifierData *mmd = NULL);
- void initLiquid(FluidModifierData *mmd = NULL);
- void initLiquidMesh(FluidModifierData *mmd = NULL);
- void initObstacle(FluidModifierData *mmd = NULL);
- void initCurvature(FluidModifierData *mmd = NULL);
- void initGuiding(FluidModifierData *mmd = NULL);
- void initFractions(FluidModifierData *mmd = NULL);
- void initInVelocity(FluidModifierData *mmd = NULL);
- void initOutflow(FluidModifierData *mmd = NULL);
- void initSndParts(FluidModifierData *mmd = NULL);
- void initLiquidSndParts(FluidModifierData *mmd = NULL);
+ void initHeat(struct FluidModifierData *fmd = NULL);
+ void initFire(struct FluidModifierData *fmd = NULL);
+ void initColors(struct FluidModifierData *fmd = NULL);
+ void initFireHigh(struct FluidModifierData *fmd = NULL);
+ void initColorsHigh(struct FluidModifierData *fmd = NULL);
+ void initLiquid(FluidModifierData *fmd = NULL);
+ void initLiquidMesh(FluidModifierData *fmd = NULL);
+ void initObstacle(FluidModifierData *fmd = NULL);
+ void initCurvature(FluidModifierData *fmd = NULL);
+ void initGuiding(FluidModifierData *fmd = NULL);
+ void initFractions(FluidModifierData *fmd = NULL);
+ void initInVelocity(FluidModifierData *fmd = NULL);
+ void initOutflow(FluidModifierData *fmd = NULL);
+ void initSndParts(FluidModifierData *fmd = NULL);
+ void initLiquidSndParts(FluidModifierData *fmd = NULL);
// Pointer transfer: Mantaflow -> Blender
void updatePointers();
// Write cache
- bool writeConfiguration(FluidModifierData *mmd, int framenr);
- bool writeData(FluidModifierData *mmd, int framenr);
- bool writeNoise(FluidModifierData *mmd, int framenr);
+ bool writeConfiguration(FluidModifierData *fmd, int framenr);
+ bool writeData(FluidModifierData *fmd, int framenr);
+ bool writeNoise(FluidModifierData *fmd, int framenr);
// write calls for mesh and particles were left in bake calls for now
// Read cache (via Manta save/load)
- bool readConfiguration(FluidModifierData *mmd, int framenr);
- bool readData(FluidModifierData *mmd, int framenr, bool resumable);
- bool readNoise(FluidModifierData *mmd, int framenr, bool resumable);
- bool readMesh(FluidModifierData *mmd, int framenr);
- bool readParticles(FluidModifierData *mmd, int framenr, bool resumable);
- bool readGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain);
+ bool readConfiguration(FluidModifierData *fmd, int framenr);
+ bool readData(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readNoise(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readMesh(FluidModifierData *fmd, int framenr);
+ bool readParticles(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain);
// Read cache (via file read functions in MANTA - e.g. read .bobj.gz meshes, .uni particles)
- bool updateMeshStructures(FluidModifierData *mmd, int framenr);
- bool updateFlipStructures(FluidModifierData *mmd, int framenr);
- bool updateParticleStructures(FluidModifierData *mmd, int framenr);
- bool updateSmokeStructures(FluidModifierData *mmd, int framenr);
- bool updateNoiseStructures(FluidModifierData *mmd, int framenr);
- bool updateVariables(FluidModifierData *mmd);
+ bool updateMeshStructures(FluidModifierData *fmd, int framenr);
+ bool updateFlipStructures(FluidModifierData *fmd, int framenr);
+ bool updateParticleStructures(FluidModifierData *fmd, int framenr);
+ bool updateSmokeStructures(FluidModifierData *fmd, int framenr);
+ bool updateNoiseStructures(FluidModifierData *fmd, int framenr);
+ bool updateVariables(FluidModifierData *fmd);
// Bake cache
- bool bakeData(FluidModifierData *mmd, int framenr);
- bool bakeNoise(FluidModifierData *mmd, int framenr);
- bool bakeMesh(FluidModifierData *mmd, int framenr);
- bool bakeParticles(FluidModifierData *mmd, int framenr);
- bool bakeGuiding(FluidModifierData *mmd, int framenr);
+ bool bakeData(FluidModifierData *fmd, int framenr);
+ bool bakeNoise(FluidModifierData *fmd, int framenr);
+ bool bakeMesh(FluidModifierData *fmd, int framenr);
+ bool bakeParticles(FluidModifierData *fmd, int framenr);
+ bool bakeGuiding(FluidModifierData *fmd, int framenr);
// IO for Mantaflow scene script
- void exportSmokeScript(struct FluidModifierData *mmd);
- void exportLiquidScript(struct FluidModifierData *mmd);
+ void exportSmokeScript(struct FluidModifierData *fmd);
+ void exportLiquidScript(struct FluidModifierData *fmd);
// Check cache status by frame
- bool hasConfig(FluidModifierData *mmd, int framenr);
- bool hasData(FluidModifierData *mmd, int framenr);
- bool hasNoise(FluidModifierData *mmd, int framenr);
- bool hasMesh(FluidModifierData *mmd, int framenr);
- bool hasParticles(FluidModifierData *mmd, int framenr);
- bool hasGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain);
+ bool hasConfig(FluidModifierData *fmd, int framenr);
+ bool hasData(FluidModifierData *fmd, int framenr);
+ bool hasNoise(FluidModifierData *fmd, int framenr);
+ bool hasMesh(FluidModifierData *fmd, int framenr);
+ bool hasParticles(FluidModifierData *fmd, int framenr);
+ bool hasGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain);
inline size_t getTotalCells()
{
@@ -739,7 +739,7 @@ struct MANTA {
float getTimestep();
void adaptTimestep();
- bool needsRealloc(FluidModifierData *mmd);
+ bool needsRealloc(FluidModifierData *fmd);
private:
// simulation constants
@@ -874,20 +874,20 @@ struct MANTA {
vector<pVel> *mSndParticleVelocity;
vector<float> *mSndParticleLife;
- void initializeRNAMap(struct FluidModifierData *mmd = NULL);
- void initDomain(struct FluidModifierData *mmd = NULL);
- void initNoise(struct FluidModifierData *mmd = NULL);
- void initMesh(struct FluidModifierData *mmd = NULL);
- void initSmoke(struct FluidModifierData *mmd = NULL);
- void initSmokeNoise(struct FluidModifierData *mmd = NULL);
+ void initializeRNAMap(struct FluidModifierData *fmd = NULL);
+ void initDomain(struct FluidModifierData *fmd = NULL);
+ void initNoise(struct FluidModifierData *fmd = NULL);
+ void initMesh(struct FluidModifierData *fmd = NULL);
+ void initSmoke(struct FluidModifierData *fmd = NULL);
+ void initSmokeNoise(struct FluidModifierData *fmd = NULL);
void initializeMantaflow();
void terminateMantaflow();
bool runPythonString(vector<string> commands);
string getRealValue(const string &varName);
string parseLine(const string &line);
- string parseScript(const string &setup_string, FluidModifierData *mmd = NULL);
- string getDirectory(struct FluidModifierData *mmd, string subdirectory);
- string getFile(struct FluidModifierData *mmd,
+ string parseScript(const string &setup_string, FluidModifierData *fmd = NULL);
+ string getDirectory(struct FluidModifierData *fmd, string subdirectory);
+ string getFile(struct FluidModifierData *fmd,
string subdirectory,
string fname,
string extension,
diff --git a/intern/mantaflow/intern/manta_fluid_API.cpp b/intern/mantaflow/intern/manta_fluid_API.cpp
index f1607f1bd99..1db3da63ecc 100644
--- a/intern/mantaflow/intern/manta_fluid_API.cpp
+++ b/intern/mantaflow/intern/manta_fluid_API.cpp
@@ -27,9 +27,9 @@
#include "manta_fluid_API.h"
/* Fluid functions */
-MANTA *manta_init(int *res, struct FluidModifierData *mmd)
+MANTA *manta_init(int *res, struct FluidModifierData *fmd)
{
- return new MANTA(res, mmd);
+ return new MANTA(res, fmd);
}
void manta_free(MANTA *fluid)
{
@@ -37,173 +37,173 @@ void manta_free(MANTA *fluid)
fluid = nullptr;
}
-void manta_ensure_obstacle(MANTA *fluid, struct FluidModifierData *mmd)
+void manta_ensure_obstacle(MANTA *fluid, struct FluidModifierData *fmd)
{
if (!fluid)
return;
- fluid->initObstacle(mmd);
+ fluid->initObstacle(fmd);
fluid->updatePointers();
}
-void manta_ensure_guiding(MANTA *fluid, struct FluidModifierData *mmd)
+void manta_ensure_guiding(MANTA *fluid, struct FluidModifierData *fmd)
{
if (!fluid)
return;
- fluid->initGuiding(mmd);
+ fluid->initGuiding(fmd);
fluid->updatePointers();
}
-void manta_ensure_invelocity(MANTA *fluid, struct FluidModifierData *mmd)
+void manta_ensure_invelocity(MANTA *fluid, struct FluidModifierData *fmd)
{
if (!fluid)
return;
- fluid->initInVelocity(mmd);
+ fluid->initInVelocity(fmd);
fluid->updatePointers();
}
-void manta_ensure_outflow(MANTA *fluid, struct FluidModifierData *mmd)
+void manta_ensure_outflow(MANTA *fluid, struct FluidModifierData *fmd)
{
if (!fluid)
return;
- fluid->initOutflow(mmd);
+ fluid->initOutflow(fmd);
fluid->updatePointers();
}
-int manta_write_config(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_write_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->writeConfiguration(mmd, framenr);
+ return fluid->writeConfiguration(fmd, framenr);
}
-int manta_write_data(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_write_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->writeData(mmd, framenr);
+ return fluid->writeData(fmd, framenr);
}
-int manta_write_noise(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_write_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->writeNoise(mmd, framenr);
+ return fluid->writeNoise(fmd, framenr);
}
-int manta_read_config(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_read_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readConfiguration(mmd, framenr);
+ return fluid->readConfiguration(fmd, framenr);
}
-int manta_read_data(MANTA *fluid, FluidModifierData *mmd, int framenr, bool resumable)
+int manta_read_data(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readData(mmd, framenr, resumable);
+ return fluid->readData(fmd, framenr, resumable);
}
-int manta_read_noise(MANTA *fluid, FluidModifierData *mmd, int framenr, bool resumable)
+int manta_read_noise(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readNoise(mmd, framenr, resumable);
+ return fluid->readNoise(fmd, framenr, resumable);
}
-int manta_read_mesh(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_read_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readMesh(mmd, framenr);
+ return fluid->readMesh(fmd, framenr);
}
-int manta_read_particles(MANTA *fluid, FluidModifierData *mmd, int framenr, bool resumable)
+int manta_read_particles(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readParticles(mmd, framenr, resumable);
+ return fluid->readParticles(fmd, framenr, resumable);
}
-int manta_read_guiding(MANTA *fluid, FluidModifierData *mmd, int framenr, bool sourceDomain)
+int manta_read_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool sourceDomain)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->readGuiding(mmd, framenr, sourceDomain);
+ return fluid->readGuiding(fmd, framenr, sourceDomain);
}
-int manta_bake_data(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_bake_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->bakeData(mmd, framenr);
+ return fluid->bakeData(fmd, framenr);
}
-int manta_bake_noise(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_bake_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->bakeNoise(mmd, framenr);
+ return fluid->bakeNoise(fmd, framenr);
}
-int manta_bake_mesh(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_bake_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->bakeMesh(mmd, framenr);
+ return fluid->bakeMesh(fmd, framenr);
}
-int manta_bake_particles(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_bake_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->bakeParticles(mmd, framenr);
+ return fluid->bakeParticles(fmd, framenr);
}
-int manta_bake_guiding(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_bake_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->bakeGuiding(mmd, framenr);
+ return fluid->bakeGuiding(fmd, framenr);
}
-int manta_has_data(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_has_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->hasData(mmd, framenr);
+ return fluid->hasData(fmd, framenr);
}
-int manta_has_noise(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_has_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->hasNoise(mmd, framenr);
+ return fluid->hasNoise(fmd, framenr);
}
-int manta_has_mesh(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_has_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->hasMesh(mmd, framenr);
+ return fluid->hasMesh(fmd, framenr);
}
-int manta_has_particles(MANTA *fluid, FluidModifierData *mmd, int framenr)
+int manta_has_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->hasParticles(mmd, framenr);
+ return fluid->hasParticles(fmd, framenr);
}
-int manta_has_guiding(MANTA *fluid, FluidModifierData *mmd, int framenr, bool domain)
+int manta_has_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool domain)
{
- if (!fluid || !mmd)
+ if (!fluid || !fmd)
return 0;
- return fluid->hasGuiding(mmd, framenr, domain);
+ return fluid->hasGuiding(fmd, framenr, domain);
}
-void manta_update_variables(MANTA *fluid, FluidModifierData *mmd)
+void manta_update_variables(MANTA *fluid, FluidModifierData *fmd)
{
if (!fluid)
return;
- fluid->updateVariables(mmd);
+ fluid->updateVariables(fmd);
}
int manta_get_frame(MANTA *fluid)
@@ -227,11 +227,11 @@ void manta_adapt_timestep(MANTA *fluid)
fluid->adaptTimestep();
}
-bool manta_needs_realloc(MANTA *fluid, FluidModifierData *mmd)
+bool manta_needs_realloc(MANTA *fluid, FluidModifierData *fmd)
{
if (!fluid)
return false;
- return fluid->needsRealloc(mmd);
+ return fluid->needsRealloc(fmd);
}
/* Fluid accessors */
@@ -361,11 +361,11 @@ float *manta_get_phioutstatic_in(MANTA *fluid)
}
/* Smoke functions */
-void manta_smoke_export_script(MANTA *smoke, FluidModifierData *mmd)
+void manta_smoke_export_script(MANTA *smoke, FluidModifierData *fmd)
{
- if (!smoke || !mmd)
+ if (!smoke || !fmd)
return;
- smoke->exportSmokeScript(mmd);
+ smoke->exportSmokeScript(fmd);
}
void manta_smoke_export(MANTA *smoke,
@@ -527,31 +527,31 @@ void manta_smoke_turbulence_get_rgba_fixed_color(MANTA *smoke,
get_rgba_fixed_color(color, smoke->getTotalCellsHigh(), data, sequential);
}
-void manta_smoke_ensure_heat(MANTA *smoke, struct FluidModifierData *mmd)
+void manta_smoke_ensure_heat(MANTA *smoke, struct FluidModifierData *fmd)
{
if (smoke) {
- smoke->initHeat(mmd);
+ smoke->initHeat(fmd);
smoke->updatePointers();
}
}
-void manta_smoke_ensure_fire(MANTA *smoke, struct FluidModifierData *mmd)
+void manta_smoke_ensure_fire(MANTA *smoke, struct FluidModifierData *fmd)
{
if (smoke) {
- smoke->initFire(mmd);
+ smoke->initFire(fmd);
if (smoke->usingNoise()) {
- smoke->initFireHigh(mmd);
+ smoke->initFireHigh(fmd);
}
smoke->updatePointers();
}
}
-void manta_smoke_ensure_colors(MANTA *smoke, struct FluidModifierData *mmd)
+void manta_smoke_ensure_colors(MANTA *smoke, struct FluidModifierData *fmd)
{
if (smoke) {
- smoke->initColors(mmd);
+ smoke->initColors(fmd);
if (smoke->usingNoise()) {
- smoke->initColorsHigh(mmd);
+ smoke->initColorsHigh(fmd);
}
smoke->updatePointers();
}
@@ -700,17 +700,17 @@ int manta_smoke_turbulence_get_cells(MANTA *smoke)
}
/* Liquid functions */
-void manta_liquid_export_script(MANTA *liquid, FluidModifierData *mmd)
+void manta_liquid_export_script(MANTA *liquid, FluidModifierData *fmd)
{
- if (!liquid || !mmd)
+ if (!liquid || !fmd)
return;
- liquid->exportLiquidScript(mmd);
+ liquid->exportLiquidScript(fmd);
}
-void manta_liquid_ensure_sndparts(MANTA *liquid, struct FluidModifierData *mmd)
+void manta_liquid_ensure_sndparts(MANTA *liquid, struct FluidModifierData *fmd)
{
if (liquid) {
- liquid->initLiquidSndParts(mmd);
+ liquid->initLiquidSndParts(fmd);
liquid->updatePointers();
}
}
diff --git a/source/blender/blenkernel/BKE_fluid.h b/source/blender/blenkernel/BKE_fluid.h
index e06a1a9fb92..c958afb212e 100644
--- a/source/blender/blenkernel/BKE_fluid.h
+++ b/source/blender/blenkernel/BKE_fluid.h
@@ -39,21 +39,21 @@ struct Scene;
typedef float (*BKE_Fluid_BresenhamFn)(
float *result, float *input, int res[3], int *pixel, float *tRay, float correct);
-struct Mesh *BKE_fluid_modifier_do(struct FluidModifierData *mmd,
+struct Mesh *BKE_fluid_modifier_do(struct FluidModifierData *fmd,
struct Depsgraph *depsgraph,
struct Scene *scene,
struct Object *ob,
struct Mesh *me);
-void BKE_fluid_modifier_free(struct FluidModifierData *mmd);
-void BKE_fluid_modifier_reset(struct FluidModifierData *mmd);
-void BKE_fluid_modifier_create_type_data(struct FluidModifierData *mmd);
-void BKE_fluid_modifier_copy(const struct FluidModifierData *mmd,
- struct FluidModifierData *tmmd,
+void BKE_fluid_modifier_free(struct FluidModifierData *fmd);
+void BKE_fluid_modifier_reset(struct FluidModifierData *fmd);
+void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd);
+void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd,
+ struct FluidModifierData *tfmd,
const int flag);
-bool BKE_fluid_reallocate_fluid(struct FluidDomainSettings *mds, int res[3], int free_old);
-void BKE_fluid_reallocate_copy_fluid(struct FluidDomainSettings *mds,
+bool BKE_fluid_reallocate_fluid(struct FluidDomainSettings *fds, int res[3], int free_old);
+void BKE_fluid_reallocate_copy_fluid(struct FluidDomainSettings *fds,
int o_res[3],
int n_res[3],
int o_min[3],
@@ -61,12 +61,12 @@ void BKE_fluid_reallocate_copy_fluid(struct FluidDomainSettings *mds,
int o_max[3],
int o_shift[3],
int n_shift[3]);
-void BKE_fluid_cache_free_all(struct FluidDomainSettings *mds, struct Object *ob);
-void BKE_fluid_cache_free(struct FluidDomainSettings *mds, struct Object *ob, int cache_map);
+void BKE_fluid_cache_free_all(struct FluidDomainSettings *fds, struct Object *ob);
+void BKE_fluid_cache_free(struct FluidDomainSettings *fds, struct Object *ob, int cache_map);
void BKE_fluid_cache_new_name_for_current_session(int maxlen, char *r_name);
float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velocity[3]);
-int BKE_fluid_get_data_flags(struct FluidDomainSettings *mds);
+int BKE_fluid_get_data_flags(struct FluidDomainSettings *fds);
void BKE_fluid_particle_system_create(struct Main *bmain,
struct Object *ob,
diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h
index 8f9c53ffc05..b0973ed458c 100644
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@ -291,7 +291,7 @@ void BKE_ptcache_make_particle_key(struct ParticleKey *key, int index, void **da
void BKE_ptcache_id_from_softbody(PTCacheID *pid, struct Object *ob, struct SoftBody *sb);
void BKE_ptcache_id_from_particles(PTCacheID *pid, struct Object *ob, struct ParticleSystem *psys);
void BKE_ptcache_id_from_cloth(PTCacheID *pid, struct Object *ob, struct ClothModifierData *clmd);
-void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidModifierData *mmd);
+void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidModifierData *fmd);
void BKE_ptcache_id_from_dynamicpaint(PTCacheID *pid,
struct Object *ob,
struct DynamicPaintSurface *surface);
diff --git a/source/blender/blenkernel/intern/bpath.c b/source/blender/blenkernel/intern/bpath.c
index 10783c741b6..44873c54469 100644
--- a/source/blender/blenkernel/intern/bpath.c
+++ b/source/blender/blenkernel/intern/bpath.c
@@ -609,9 +609,9 @@ void BKE_bpath_traverse_id(
}
}
else if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN && mmd->domain) {
- rewrite_path_fixed(mmd->domain->cache_directory, visit_cb, absbase, bpath_user_data);
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
+ rewrite_path_fixed(fmd->domain->cache_directory, visit_cb, absbase, bpath_user_data);
}
}
else if (md->type == eModifierType_Cloth) {
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 946c7577ad8..1f748487841 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -93,7 +93,7 @@
/** Max value for phi initialization */
#define PHI_MAX 9999.0f
-static void BKE_fluid_modifier_reset_ex(struct FluidModifierData *mmd, bool need_lock);
+static void BKE_fluid_modifier_reset_ex(struct FluidModifierData *fmd, bool need_lock);
#ifdef WITH_FLUID
// #define DEBUG_PRINT
@@ -115,26 +115,26 @@ struct Scene;
# define ADD_IF_LOWER_NEG(a, b) (max_ff((a) + (b), min_ff((a), (b))))
# define ADD_IF_LOWER(a, b) (((b) > 0) ? ADD_IF_LOWER_POS((a), (b)) : ADD_IF_LOWER_NEG((a), (b)))
-bool BKE_fluid_reallocate_fluid(FluidDomainSettings *mds, int res[3], int free_old)
+bool BKE_fluid_reallocate_fluid(FluidDomainSettings *fds, int res[3], int free_old)
{
- if (free_old && mds->fluid) {
- manta_free(mds->fluid);
+ if (free_old && fds->fluid) {
+ manta_free(fds->fluid);
}
if (!min_iii(res[0], res[1], res[2])) {
- mds->fluid = NULL;
+ fds->fluid = NULL;
}
else {
- mds->fluid = manta_init(res, mds->mmd);
+ fds->fluid = manta_init(res, fds->fmd);
- mds->res_noise[0] = res[0] * mds->noise_scale;
- mds->res_noise[1] = res[1] * mds->noise_scale;
- mds->res_noise[2] = res[2] * mds->noise_scale;
+ fds->res_noise[0] = res[0] * fds->noise_scale;
+ fds->res_noise[1] = res[1] * fds->noise_scale;
+ fds->res_noise[2] = res[2] * fds->noise_scale;
}
- return (mds->fluid != NULL);
+ return (fds->fluid != NULL);
}
-void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
+void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *fds,
int o_res[3],
int n_res[3],
int o_min[3],
@@ -144,19 +144,19 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
int n_shift[3])
{
int x, y, z;
- struct MANTA *fluid_old = mds->fluid;
- const int block_size = mds->noise_scale;
+ struct MANTA *fluid_old = fds->fluid;
+ const int block_size = fds->noise_scale;
int new_shift[3] = {0};
sub_v3_v3v3_int(new_shift, n_shift, o_shift);
/* allocate new fluid data */
- BKE_fluid_reallocate_fluid(mds, n_res, 0);
+ BKE_fluid_reallocate_fluid(fds, n_res, 0);
int o_total_cells = o_res[0] * o_res[1] * o_res[2];
int n_total_cells = n_res[0] * n_res[1] * n_res[2];
/* boundary cells will be skipped when copying data */
- int bwidth = mds->boundary_width;
+ int bwidth = fds->boundary_width;
/* copy values from old fluid to new */
if (o_total_cells > 1 && n_total_cells > 1) {
@@ -172,7 +172,7 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
float *n_wt_dens, *n_wt_react, *n_wt_flame, *n_wt_fuel, *n_wt_tcu, *n_wt_tcv, *n_wt_tcw,
*n_wt_tcu2, *n_wt_tcv2, *n_wt_tcw2, *n_wt_r, *n_wt_g, *n_wt_b;
- if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
manta_smoke_turbulence_export(fluid_old,
&o_wt_dens,
&o_wt_react,
@@ -188,7 +188,7 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
&o_wt_tcv2,
&o_wt_tcw2);
manta_smoke_turbulence_get_res(fluid_old, wt_res_old);
- manta_smoke_turbulence_export(mds->fluid,
+ manta_smoke_turbulence_export(fds->fluid,
&n_wt_dens,
&n_wt_react,
&n_wt_flame,
@@ -220,7 +220,7 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
&o_b,
&dummy_p,
&dummy_s);
- manta_smoke_export(mds->fluid,
+ manta_smoke_export(fds->fluid,
&dummy,
&dummy,
&n_dens,
@@ -267,7 +267,7 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
}
/* copy data */
- if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
int i, j, k;
/* old grid index */
int xx_o = xo * block_size;
@@ -293,7 +293,7 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
int big_index_old = manta_get_index(
xx_o + i, wt_res_old[0], yy_o + j, wt_res_old[1], zz_o + k);
int big_index_new = manta_get_index(
- xx_n + i, mds->res_noise[0], yy_n + j, mds->res_noise[1], zz_n + k);
+ xx_n + i, fds->res_noise[0], yy_n + j, fds->res_noise[1], zz_n + k);
/* copy data */
n_wt_dens[big_index_new] = o_wt_dens[big_index_old];
if (n_wt_flame && o_wt_flame) {
@@ -338,86 +338,86 @@ void BKE_fluid_reallocate_copy_fluid(FluidDomainSettings *mds,
manta_free(fluid_old);
}
-void BKE_fluid_cache_free_all(FluidDomainSettings *mds, Object *ob)
+void BKE_fluid_cache_free_all(FluidDomainSettings *fds, Object *ob)
{
int cache_map = (FLUID_DOMAIN_OUTDATED_DATA | FLUID_DOMAIN_OUTDATED_NOISE |
FLUID_DOMAIN_OUTDATED_MESH | FLUID_DOMAIN_OUTDATED_PARTICLES |
FLUID_DOMAIN_OUTDATED_GUIDE);
- BKE_fluid_cache_free(mds, ob, cache_map);
+ BKE_fluid_cache_free(fds, ob, cache_map);
}
-void BKE_fluid_cache_free(FluidDomainSettings *mds, Object *ob, int cache_map)
+void BKE_fluid_cache_free(FluidDomainSettings *fds, Object *ob, int cache_map)
{
char temp_dir[FILE_MAX];
- int flags = mds->cache_flag;
+ int flags = fds->cache_flag;
const char *relbase = BKE_modifier_path_relbase_from_global(ob);
if (cache_map & FLUID_DOMAIN_OUTDATED_DATA) {
flags &= ~(FLUID_DOMAIN_BAKING_DATA | FLUID_DOMAIN_BAKED_DATA | FLUID_DOMAIN_OUTDATED_DATA);
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_CONFIG, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_CONFIG, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_DATA, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_DATA, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- mds->cache_frame_pause_data = 0;
+ fds->cache_frame_pause_data = 0;
}
if (cache_map & FLUID_DOMAIN_OUTDATED_NOISE) {
flags &= ~(FLUID_DOMAIN_BAKING_NOISE | FLUID_DOMAIN_BAKED_NOISE | FLUID_DOMAIN_OUTDATED_NOISE);
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_NOISE, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_NOISE, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- mds->cache_frame_pause_noise = 0;
+ fds->cache_frame_pause_noise = 0;
}
if (cache_map & FLUID_DOMAIN_OUTDATED_MESH) {
flags &= ~(FLUID_DOMAIN_BAKING_MESH | FLUID_DOMAIN_BAKED_MESH | FLUID_DOMAIN_OUTDATED_MESH);
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_MESH, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_MESH, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- mds->cache_frame_pause_mesh = 0;
+ fds->cache_frame_pause_mesh = 0;
}
if (cache_map & FLUID_DOMAIN_OUTDATED_PARTICLES) {
flags &= ~(FLUID_DOMAIN_BAKING_PARTICLES | FLUID_DOMAIN_BAKED_PARTICLES |
FLUID_DOMAIN_OUTDATED_PARTICLES);
BLI_path_join(
- temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_PARTICLES, NULL);
+ temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_PARTICLES, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- mds->cache_frame_pause_particles = 0;
+ fds->cache_frame_pause_particles = 0;
}
if (cache_map & FLUID_DOMAIN_OUTDATED_GUIDE) {
flags &= ~(FLUID_DOMAIN_BAKING_GUIDE | FLUID_DOMAIN_BAKED_GUIDE | FLUID_DOMAIN_OUTDATED_GUIDE);
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_GUIDE, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_GUIDE, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_delete(temp_dir, true, true); /* BLI_exists(filepath) is implicit */
- mds->cache_frame_pause_guide = 0;
+ fds->cache_frame_pause_guide = 0;
}
- mds->cache_flag = flags;
+ fds->cache_flag = flags;
}
/* convert global position to domain cell space */
-static void manta_pos_to_cell(FluidDomainSettings *mds, float pos[3])
+static void manta_pos_to_cell(FluidDomainSettings *fds, float pos[3])
{
- mul_m4_v3(mds->imat, pos);
- sub_v3_v3(pos, mds->p0);
- pos[0] *= 1.0f / mds->cell_size[0];
- pos[1] *= 1.0f / mds->cell_size[1];
- pos[2] *= 1.0f / mds->cell_size[2];
+ mul_m4_v3(fds->imat, pos);
+ sub_v3_v3(pos, fds->p0);
+ pos[0] *= 1.0f / fds->cell_size[0];
+ pos[1] *= 1.0f / fds->cell_size[1];
+ pos[2] *= 1.0f / fds->cell_size[2];
}
/* Set domain transformations and base resolution from object mesh. */
-static void manta_set_domain_from_mesh(FluidDomainSettings *mds,
+static void manta_set_domain_from_mesh(FluidDomainSettings *fds,
Object *ob,
Mesh *me,
bool init_resolution)
@@ -429,7 +429,7 @@ static void manta_set_domain_from_mesh(FluidDomainSettings *mds,
float scale = 0.0;
int res;
- res = mds->maxres;
+ res = fds->maxres;
/* Set minimum and maximum coordinates of BB. */
for (i = 0; i < me->totvert; i++) {
@@ -437,24 +437,24 @@ static void manta_set_domain_from_mesh(FluidDomainSettings *mds,
}
/* Set domain bounds. */
- copy_v3_v3(mds->p0, min);
- copy_v3_v3(mds->p1, max);
- mds->dx = 1.0f / res;
+ copy_v3_v3(fds->p0, min);
+ copy_v3_v3(fds->p1, max);
+ fds->dx = 1.0f / res;
/* Calculate domain dimensions. */
sub_v3_v3v3(size, max, min);
if (init_resolution) {
- zero_v3_int(mds->base_res);
- copy_v3_v3(mds->cell_size, size);
+ zero_v3_int(fds->base_res);
+ copy_v3_v3(fds->cell_size, size);
}
/* Apply object scale. */
for (i = 0; i < 3; i++) {
size[i] = fabsf(size[i] * ob->scale[i]);
}
- copy_v3_v3(mds->global_size, size);
- copy_v3_v3(mds->dp0, min);
+ copy_v3_v3(fds->global_size, size);
+ copy_v3_v3(fds->dp0, min);
- invert_m4_m4(mds->imat, ob->obmat);
+ invert_m4_m4(fds->imat, ob->obmat);
/* Prevent crash when initializing a plane as domain. */
if (!init_resolution || (size[0] < FLT_EPSILON) || (size[1] < FLT_EPSILON) ||
@@ -465,103 +465,103 @@ static void manta_set_domain_from_mesh(FluidDomainSettings *mds,
/* Define grid resolutions from longest domain side. */
if (size[0] >= MAX2(size[1], size[2])) {
scale = res / size[0];
- mds->scale = size[0] / fabsf(ob->scale[0]);
- mds->base_res[0] = res;
- mds->base_res[1] = max_ii((int)(size[1] * scale + 0.5f), 4);
- mds->base_res[2] = max_ii((int)(size[2] * scale + 0.5f), 4);
+ fds->scale = size[0] / fabsf(ob->scale[0]);
+ fds->base_res[0] = res;
+ fds->base_res[1] = max_ii((int)(size[1] * scale + 0.5f), 4);
+ fds->base_res[2] = max_ii((int)(size[2] * scale + 0.5f), 4);
}
else if (size[1] >= MAX2(size[0], size[2])) {
scale = res / size[1];
- mds->scale = size[1] / fabsf(ob->scale[1]);
- mds->base_res[0] = max_ii((int)(size[0] * scale + 0.5f), 4);
- mds->base_res[1] = res;
- mds->base_res[2] = max_ii((int)(size[2] * scale + 0.5f), 4);
+ fds->scale = size[1] / fabsf(ob->scale[1]);
+ fds->base_res[0] = max_ii((int)(size[0] * scale + 0.5f), 4);
+ fds->base_res[1] = res;
+ fds->base_res[2] = max_ii((int)(size[2] * scale + 0.5f), 4);
}
else {
scale = res / size[2];
- mds->scale = size[2] / fabsf(ob->scale[2]);
- mds->base_res[0] = max_ii((int)(size[0] * scale + 0.5f), 4);
- mds->base_res[1] = max_ii((int)(size[1] * scale + 0.5f), 4);
- mds->base_res[2] = res;
+ fds->scale = size[2] / fabsf(ob->scale[2]);
+ fds->base_res[0] = max_ii((int)(size[0] * scale + 0.5f), 4);
+ fds->base_res[1] = max_ii((int)(size[1] * scale + 0.5f), 4);
+ fds->base_res[2] = res;
}
/* Set cell size. */
- mds->cell_size[0] /= (float)mds->base_res[0];
- mds->cell_size[1] /= (float)mds->base_res[1];
- mds->cell_size[2] /= (float)mds->base_res[2];
+ fds->cell_size[0] /= (float)fds->base_res[0];
+ fds->cell_size[1] /= (float)fds->base_res[1];
+ fds->cell_size[2] /= (float)fds->base_res[2];
}
static bool BKE_fluid_modifier_init(
- FluidModifierData *mmd, Depsgraph *depsgraph, Object *ob, Scene *scene, Mesh *me)
+ FluidModifierData *fmd, Depsgraph *depsgraph, Object *ob, Scene *scene, Mesh *me)
{
int scene_framenr = (int)DEG_get_ctime(depsgraph);
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain && !mmd->domain->fluid) {
- FluidDomainSettings *mds = mmd->domain;
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain && !fmd->domain->fluid) {
+ FluidDomainSettings *fds = fmd->domain;
int res[3];
/* Set domain dimensions from mesh. */
- manta_set_domain_from_mesh(mds, ob, me, true);
+ manta_set_domain_from_mesh(fds, ob, me, true);
/* Set domain gravity, use global gravity if enabled. */
if (scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {
- copy_v3_v3(mds->gravity, scene->physics_settings.gravity);
+ copy_v3_v3(fds->gravity, scene->physics_settings.gravity);
}
- mul_v3_fl(mds->gravity, mds->effector_weights->global_gravity);
+ mul_v3_fl(fds->gravity, fds->effector_weights->global_gravity);
/* Reset domain values. */
- zero_v3_int(mds->shift);
- zero_v3(mds->shift_f);
- add_v3_fl(mds->shift_f, 0.5f);
- zero_v3(mds->prev_loc);
- mul_m4_v3(ob->obmat, mds->prev_loc);
- copy_m4_m4(mds->obmat, ob->obmat);
+ zero_v3_int(fds->shift);
+ zero_v3(fds->shift_f);
+ add_v3_fl(fds->shift_f, 0.5f);
+ zero_v3(fds->prev_loc);
+ mul_m4_v3(ob->obmat, fds->prev_loc);
+ copy_m4_m4(fds->obmat, ob->obmat);
/* Set resolutions. */
- if (mmd->domain->type == FLUID_DOMAIN_TYPE_GAS &&
- mmd->domain->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ if (fmd->domain->type == FLUID_DOMAIN_TYPE_GAS &&
+ fmd->domain->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
res[0] = res[1] = res[2] = 1; /* Use minimum res for adaptive init. */
}
else {
- copy_v3_v3_int(res, mds->base_res);
+ copy_v3_v3_int(res, fds->base_res);
}
- copy_v3_v3_int(mds->res, res);
- mds->total_cells = mds->res[0] * mds->res[1] * mds->res[2];
- mds->res_min[0] = mds->res_min[1] = mds->res_min[2] = 0;
- copy_v3_v3_int(mds->res_max, res);
+ copy_v3_v3_int(fds->res, res);
+ fds->total_cells = fds->res[0] * fds->res[1] * fds->res[2];
+ fds->res_min[0] = fds->res_min[1] = fds->res_min[2] = 0;
+ copy_v3_v3_int(fds->res_max, res);
/* Set time, frame length = 0.1 is at 25fps. */
float fps = scene->r.frs_sec / scene->r.frs_sec_base;
- mds->frame_length = DT_DEFAULT * (25.0f / fps) * mds->time_scale;
+ fds->frame_length = DT_DEFAULT * (25.0f / fps) * fds->time_scale;
/* Initially dt is equal to frame length (dt can change with adaptive-time stepping though). */
- mds->dt = mds->frame_length;
- mds->time_per_frame = 0;
+ fds->dt = fds->frame_length;
+ fds->time_per_frame = 0;
- mmd->time = scene_framenr;
+ fmd->time = scene_framenr;
/* Allocate fluid. */
- return BKE_fluid_reallocate_fluid(mds, mds->res, 0);
+ return BKE_fluid_reallocate_fluid(fds, fds->res, 0);
}
- else if (mmd->type & MOD_FLUID_TYPE_FLOW) {
- if (!mmd->flow) {
- BKE_fluid_modifier_create_type_data(mmd);
+ else if (fmd->type & MOD_FLUID_TYPE_FLOW) {
+ if (!fmd->flow) {
+ BKE_fluid_modifier_create_type_data(fmd);
}
- mmd->time = scene_framenr;
+ fmd->time = scene_framenr;
return true;
}
- else if (mmd->type & MOD_FLUID_TYPE_EFFEC) {
- if (!mmd->effector) {
- BKE_fluid_modifier_create_type_data(mmd);
+ else if (fmd->type & MOD_FLUID_TYPE_EFFEC) {
+ if (!fmd->effector) {
+ BKE_fluid_modifier_create_type_data(fmd);
}
- mmd->time = scene_framenr;
+ fmd->time = scene_framenr;
return true;
}
return false;
}
// forward declaration
-static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *view_layer);
+static void manta_smoke_calc_transparency(FluidDomainSettings *fds, ViewLayer *view_layer);
static float calc_voxel_transp(
float *result, float *input, int res[3], int *pixel, float *t_ray, float correct);
static void update_distances(int index,
- float *mesh_distances,
+ float *fesh_distances,
BVHTreeFromMesh *tree_data,
const float ray_start[3],
float surface_thickness,
@@ -591,7 +591,7 @@ static int get_light(ViewLayer *view_layer, float *light)
return found_light;
}
-static void clamp_bounds_in_domain(FluidDomainSettings *mds,
+static void clamp_bounds_in_domain(FluidDomainSettings *fds,
int min[3],
int max[3],
float *min_vel,
@@ -601,7 +601,7 @@ static void clamp_bounds_in_domain(FluidDomainSettings *mds,
{
int i;
for (i = 0; i < 3; i++) {
- int adapt = (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) ? mds->adapt_res : 0;
+ int adapt = (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) ? fds->adapt_res : 0;
/* Add some margin. */
min[i] -= margin;
max[i] += margin;
@@ -615,8 +615,8 @@ static void clamp_bounds_in_domain(FluidDomainSettings *mds,
}
/* Clamp within domain max size. */
- CLAMP(min[i], -adapt, mds->base_res[i] + adapt);
- CLAMP(max[i], -adapt, mds->base_res[i] + adapt);
+ CLAMP(min[i], -adapt, fds->base_res[i] + adapt);
+ CLAMP(max[i], -adapt, fds->base_res[i] + adapt);
}
}
@@ -821,7 +821,7 @@ static void bb_combineMaps(FluidObjectBB *output,
/** \name Effectors
* \{ */
-BLI_INLINE void apply_effector_fields(FluidEffectorSettings *UNUSED(mes),
+BLI_INLINE void apply_effector_fields(FluidEffectorSettings *UNUSED(fes),
int index,
float distance_value,
float *phi_in,
@@ -851,7 +851,7 @@ BLI_INLINE void apply_effector_fields(FluidEffectorSettings *UNUSED(mes),
}
}
-static void sample_effector(FluidEffectorSettings *mes,
+static void sample_effector(FluidEffectorSettings *fes,
const MVert *mvert,
const MLoop *mloop,
const MLoopTri *mlooptri,
@@ -890,10 +890,10 @@ static void sample_effector(FluidEffectorSettings *mes,
interp_v3_v3v3v3(hit_vel, &vert_vel[v1 * 3], &vert_vel[v2 * 3], &vert_vel[v3 * 3], weights);
/* Guiding has additional velocity multiplier */
- if (mes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
- mul_v3_fl(hit_vel, mes->vel_multi);
+ if (fes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
+ mul_v3_fl(hit_vel, fes->vel_multi);
- switch (mes->guide_mode) {
+ switch (fes->guide_mode) {
case FLUID_EFFECTOR_GUIDE_AVERAGED:
velocity_map[index * 3] = (velocity_map[index * 3] + hit_vel[0]) * 0.5f;
velocity_map[index * 3 + 1] = (velocity_map[index * 3 + 1] + hit_vel[1]) * 0.5f;
@@ -936,7 +936,7 @@ static void sample_effector(FluidEffectorSettings *mes,
}
typedef struct ObstaclesFromDMData {
- FluidEffectorSettings *mes;
+ FluidEffectorSettings *fes;
const MVert *mvert;
const MLoop *mloop;
@@ -964,7 +964,7 @@ static void obstacles_from_mesh_task_cb(void *__restrict userdata,
float ray_start[3] = {(float)x + 0.5f, (float)y + 0.5f, (float)z + 0.5f};
/* Calculate object velocities. Result in bb->velocity. */
- sample_effector(data->mes,
+ sample_effector(data->fes,
data->mvert,
data->mloop,
data->mlooptri,
@@ -980,8 +980,8 @@ static void obstacles_from_mesh_task_cb(void *__restrict userdata,
bb->distances,
data->tree,
ray_start,
- data->mes->surface_distance,
- data->mes->flags & FLUID_EFFECTOR_USE_PLANE_INIT);
+ data->fes->surface_distance,
+ data->fes->flags & FLUID_EFFECTOR_USE_PLANE_INIT);
/* Ensure that num objects are also counted inside object.
* But don't count twice (see object inc for nearest point). */
@@ -993,12 +993,12 @@ static void obstacles_from_mesh_task_cb(void *__restrict userdata,
}
static void obstacles_from_mesh(Object *coll_ob,
- FluidDomainSettings *mds,
- FluidEffectorSettings *mes,
+ FluidDomainSettings *fds,
+ FluidEffectorSettings *fes,
FluidObjectBB *bb,
float dt)
{
- if (mes->mesh) {
+ if (fes->mesh) {
Mesh *me = NULL;
MVert *mvert = NULL;
const MLoopTri *looptri;
@@ -1009,7 +1009,7 @@ static void obstacles_from_mesh(Object *coll_ob,
float *vert_vel = NULL;
bool has_velocity = false;
- me = BKE_mesh_copy_for_eval(mes->mesh, true);
+ me = BKE_mesh_copy_for_eval(fes->mesh, true);
int min[3], max[3], res[3];
@@ -1029,13 +1029,13 @@ static void obstacles_from_mesh(Object *coll_ob,
{
vert_vel = MEM_callocN(sizeof(float) * numverts * 3, "manta_obs_velocity");
- if (mes->numverts != numverts || !mes->verts_old) {
- if (mes->verts_old) {
- MEM_freeN(mes->verts_old);
+ if (fes->numverts != numverts || !fes->verts_old) {
+ if (fes->verts_old) {
+ MEM_freeN(fes->verts_old);
}
- mes->verts_old = MEM_callocN(sizeof(float) * numverts * 3, "manta_obs_verts_old");
- mes->numverts = numverts;
+ fes->verts_old = MEM_callocN(sizeof(float) * numverts * 3, "manta_obs_verts_old");
+ fes->numverts = numverts;
}
else {
has_velocity = true;
@@ -1049,22 +1049,22 @@ static void obstacles_from_mesh(Object *coll_ob,
/* Vertex position. */
mul_m4_v3(coll_ob->obmat, mvert[i].co);
- manta_pos_to_cell(mds, mvert[i].co);
+ manta_pos_to_cell(fds, mvert[i].co);
/* Vertex normal. */
normal_short_to_float_v3(n, mvert[i].no);
mul_mat3_m4_v3(coll_ob->obmat, n);
- mul_mat3_m4_v3(mds->imat, n);
+ mul_mat3_m4_v3(fds->imat, n);
normalize_v3(n);
normal_float_to_short_v3(mvert[i].no, n);
/* Vertex velocity. */
- add_v3fl_v3fl_v3i(co, mvert[i].co, mds->shift);
+ add_v3fl_v3fl_v3i(co, mvert[i].co, fds->shift);
if (has_velocity) {
- sub_v3_v3v3(&vert_vel[i * 3], co, &mes->verts_old[i * 3]);
- mul_v3_fl(&vert_vel[i * 3], mds->dx / dt);
+ sub_v3_v3v3(&vert_vel[i * 3], co, &fes->verts_old[i * 3]);
+ mul_v3_fl(&vert_vel[i * 3], fds->dx / dt);
}
- copy_v3_v3(&mes->verts_old[i * 3], co);
+ copy_v3_v3(&fes->verts_old[i * 3], co);
/* Calculate emission map bounds. */
bb_boundInsert(bb, mvert[i].co);
@@ -1073,7 +1073,7 @@ static void obstacles_from_mesh(Object *coll_ob,
/* Set emission map.
* Use 3 cell diagonals as margin (3 * 1.732 = 5.196). */
int bounds_margin = (int)ceil(5.196);
- clamp_bounds_in_domain(mds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
+ clamp_bounds_in_domain(fds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
bb_allocateData(bb, true, false);
/* Setup loop bounds. */
@@ -1086,7 +1086,7 @@ static void obstacles_from_mesh(Object *coll_ob,
if (BKE_bvhtree_from_mesh_get(&tree_data, me, BVHTREE_FROM_LOOPTRI, 4)) {
ObstaclesFromDMData data = {
- .mes = mes,
+ .fes = fes,
.mvert = mvert,
.mloop = mloop,
.mlooptri = looptri,
@@ -1117,21 +1117,21 @@ static void obstacles_from_mesh(Object *coll_ob,
}
}
-static void ensure_obstaclefields(FluidDomainSettings *mds)
+static void ensure_obstaclefields(FluidDomainSettings *fds)
{
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE) {
- manta_ensure_obstacle(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_OBSTACLE) {
+ manta_ensure_obstacle(fds->fluid, fds->fmd);
}
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE) {
- manta_ensure_guiding(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_GUIDE) {
+ manta_ensure_guiding(fds->fluid, fds->fmd);
}
}
-static void update_obstacleflags(FluidDomainSettings *mds,
+static void update_obstacleflags(FluidDomainSettings *fds,
Object **coll_ob_array,
int coll_ob_array_len)
{
- int active_fields = mds->active_fields;
+ int active_fields = fds->active_fields;
uint coll_index;
/* First, remove all flags that we want to update. */
@@ -1141,46 +1141,46 @@ static void update_obstacleflags(FluidDomainSettings *mds,
/* Monitor active fields based on flow settings */
for (coll_index = 0; coll_index < coll_ob_array_len; coll_index++) {
Object *coll_ob = coll_ob_array[coll_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(coll_ob,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(coll_ob,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
- if ((mmd2->type & MOD_FLUID_TYPE_EFFEC) && mmd2->effector) {
- FluidEffectorSettings *mes = mmd2->effector;
- if (!mes) {
+ if ((fmd2->type & MOD_FLUID_TYPE_EFFEC) && fmd2->effector) {
+ FluidEffectorSettings *fes = fmd2->effector;
+ if (!fes) {
break;
}
- if (mes->flags & FLUID_EFFECTOR_NEEDS_UPDATE) {
- mes->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
- mds->cache_flag |= FLUID_DOMAIN_OUTDATED_DATA;
+ if (fes->flags & FLUID_EFFECTOR_NEEDS_UPDATE) {
+ fes->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
+ fds->cache_flag |= FLUID_DOMAIN_OUTDATED_DATA;
}
- if (mes->type == FLUID_EFFECTOR_TYPE_COLLISION) {
+ if (fes->type == FLUID_EFFECTOR_TYPE_COLLISION) {
active_fields |= FLUID_DOMAIN_ACTIVE_OBSTACLE;
}
- if (mes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
+ if (fes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
active_fields |= FLUID_DOMAIN_ACTIVE_GUIDE;
}
}
}
- mds->active_fields = active_fields;
+ fds->active_fields = active_fields;
}
static bool escape_effectorobject(Object *flowobj,
- FluidDomainSettings *mds,
- FluidEffectorSettings *mes,
+ FluidDomainSettings *fds,
+ FluidEffectorSettings *fes,
int frame)
{
bool is_static = is_static_object(flowobj);
- bool use_effector = (mes->flags & FLUID_EFFECTOR_USE_EFFEC);
+ bool use_effector = (fes->flags & FLUID_EFFECTOR_USE_EFFEC);
- bool is_resume = (mds->cache_frame_pause_data == frame);
- bool is_adaptive = (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
- bool is_first_frame = (frame == mds->cache_frame_start);
+ bool is_resume = (fds->cache_frame_pause_data == frame);
+ bool is_adaptive = (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
+ bool is_first_frame = (frame == fds->cache_frame_start);
/* Cannot use static mode with adaptive domain.
* The adaptive domain might expand and only later discover the static object. */
@@ -1205,31 +1205,31 @@ static void compute_obstaclesemission(Scene *scene,
Object **effecobjs,
int frame,
float frame_length,
- FluidDomainSettings *mds,
+ FluidDomainSettings *fds,
uint numeffecobjs,
float time_per_frame)
{
- bool is_first_frame = (frame == mds->cache_frame_start);
+ bool is_first_frame = (frame == fds->cache_frame_start);
/* Prepare effector maps. */
for (int effec_index = 0; effec_index < numeffecobjs; effec_index++) {
Object *effecobj = effecobjs[effec_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(effecobj,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(effecobj,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
/* Check for initialized effector object. */
- if ((mmd2->type & MOD_FLUID_TYPE_EFFEC) && mmd2->effector) {
- FluidEffectorSettings *mes = mmd2->effector;
- int subframes = mes->subframes;
+ if ((fmd2->type & MOD_FLUID_TYPE_EFFEC) && fmd2->effector) {
+ FluidEffectorSettings *fes = fmd2->effector;
+ int subframes = fes->subframes;
FluidObjectBB *bb = &bb_maps[effec_index];
/* Optimization: Skip this object under certain conditions. */
- if (escape_effectorobject(effecobj, mds, mes, frame)) {
+ if (escape_effectorobject(effecobj, fds, fes, frame)) {
continue;
}
@@ -1281,10 +1281,10 @@ static void compute_obstaclesemission(Scene *scene,
depsgraph, scene, effecobj, true, 5, BKE_scene_frame_get(scene), eModifierType_Fluid);
if (subframes) {
- obstacles_from_mesh(effecobj, mds, mes, &bb_temp, subframe_dt);
+ obstacles_from_mesh(effecobj, fds, fes, &bb_temp, subframe_dt);
}
else {
- obstacles_from_mesh(effecobj, mds, mes, bb, subframe_dt);
+ obstacles_from_mesh(effecobj, fds, fes, bb, subframe_dt);
}
/* If this we emitted with temp emission map in this loop (subframe emission), we combine
@@ -1302,7 +1302,7 @@ static void compute_obstaclesemission(Scene *scene,
static void update_obstacles(Depsgraph *depsgraph,
Scene *scene,
Object *ob,
- FluidDomainSettings *mds,
+ FluidDomainSettings *fds,
float time_per_frame,
float frame_length,
int frame,
@@ -1311,15 +1311,15 @@ static void update_obstacles(Depsgraph *depsgraph,
FluidObjectBB *bb_maps = NULL;
Object **effecobjs = NULL;
uint numeffecobjs = 0;
- bool is_resume = (mds->cache_frame_pause_data == frame);
- bool is_first_frame = (frame == mds->cache_frame_start);
+ bool is_resume = (fds->cache_frame_pause_data == frame);
+ bool is_first_frame = (frame == fds->cache_frame_start);
effecobjs = BKE_collision_objects_create(
- depsgraph, ob, mds->effector_group, &numeffecobjs, eModifierType_Fluid);
+ depsgraph, ob, fds->effector_group, &numeffecobjs, eModifierType_Fluid);
/* Update all effector related flags and ensure that corresponding grids get initialized. */
- update_obstacleflags(mds, effecobjs, numeffecobjs);
- ensure_obstaclefields(mds);
+ update_obstacleflags(fds, effecobjs, numeffecobjs);
+ ensure_obstaclefields(fds);
/* Allocate effector map for each effector object. */
bb_maps = MEM_callocN(sizeof(struct FluidObjectBB) * numeffecobjs, "fluid_effector_bb_maps");
@@ -1332,27 +1332,27 @@ static void update_obstacles(Depsgraph *depsgraph,
effecobjs,
frame,
frame_length,
- mds,
+ fds,
numeffecobjs,
time_per_frame);
- float *vel_x = manta_get_ob_velocity_x(mds->fluid);
- float *vel_y = manta_get_ob_velocity_y(mds->fluid);
- float *vel_z = manta_get_ob_velocity_z(mds->fluid);
- float *vel_x_guide = manta_get_guide_velocity_x(mds->fluid);
- float *vel_y_guide = manta_get_guide_velocity_y(mds->fluid);
- float *vel_z_guide = manta_get_guide_velocity_z(mds->fluid);
- float *phi_obs_in = manta_get_phiobs_in(mds->fluid);
- float *phi_obsstatic_in = manta_get_phiobsstatic_in(mds->fluid);
- float *phi_guide_in = manta_get_phiguide_in(mds->fluid);
- float *num_obstacles = manta_get_num_obstacle(mds->fluid);
- float *num_guides = manta_get_num_guide(mds->fluid);
+ float *vel_x = manta_get_ob_velocity_x(fds->fluid);
+ float *vel_y = manta_get_ob_velocity_y(fds->fluid);
+ float *vel_z = manta_get_ob_velocity_z(fds->fluid);
+ float *vel_x_guide = manta_get_guide_velocity_x(fds->fluid);
+ float *vel_y_guide = manta_get_guide_velocity_y(fds->fluid);
+ float *vel_z_guide = manta_get_guide_velocity_z(fds->fluid);
+ float *phi_obs_in = manta_get_phiobs_in(fds->fluid);
+ float *phi_obsstatic_in = manta_get_phiobsstatic_in(fds->fluid);
+ float *phi_guide_in = manta_get_phiguide_in(fds->fluid);
+ float *num_obstacles = manta_get_num_obstacle(fds->fluid);
+ float *num_guides = manta_get_num_guide(fds->fluid);
uint z;
- bool use_adaptivedomain = (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
+ bool use_adaptivedomain = (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
/* Grid reset before writing again. */
- for (z = 0; z < mds->res[0] * mds->res[1] * mds->res[2]; z++) {
+ for (z = 0; z < fds->res[0] * fds->res[1] * fds->res[2]; z++) {
/* Use big value that's not inf to initialize levelset grids. */
if (phi_obs_in) {
@@ -1387,11 +1387,11 @@ static void update_obstacles(Depsgraph *depsgraph,
/* Prepare grids from effector objects. */
for (int effec_index = 0; effec_index < numeffecobjs; effec_index++) {
Object *effecobj = effecobjs[effec_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(effecobj,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(effecobj,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
@@ -1399,14 +1399,14 @@ static void update_obstacles(Depsgraph *depsgraph,
* The adaptive domain might expand and only later in the simulations discover the static
* object. */
bool is_static = is_static_object(effecobj) &&
- ((mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0);
+ ((fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0);
/* Check for initialized effector object. */
- if ((mmd2->type & MOD_FLUID_TYPE_EFFEC) && mmd2->effector) {
- FluidEffectorSettings *mes = mmd2->effector;
+ if ((fmd2->type & MOD_FLUID_TYPE_EFFEC) && fmd2->effector) {
+ FluidEffectorSettings *fes = fmd2->effector;
/* Optimization: Skip effector objects with disabled effec flag. */
- if ((mes->flags & FLUID_EFFECTOR_USE_EFFEC) == 0) {
+ if ((fes->flags & FLUID_EFFECTOR_USE_EFFEC) == 0) {
continue;
}
@@ -1429,20 +1429,20 @@ static void update_obstacles(Depsgraph *depsgraph,
e_index = manta_get_index(ex, bb->res[0], ey, bb->res[1], ez);
/* Get domain index. */
- dx = gx - mds->res_min[0];
- dy = gy - mds->res_min[1];
- dz = gz - mds->res_min[2];
- d_index = manta_get_index(dx, mds->res[0], dy, mds->res[1], dz);
+ dx = gx - fds->res_min[0];
+ dy = gy - fds->res_min[1];
+ dz = gz - fds->res_min[2];
+ d_index = manta_get_index(dx, fds->res[0], dy, fds->res[1], dz);
/* Make sure emission cell is inside the new domain boundary. */
- if (dx < 0 || dy < 0 || dz < 0 || dx >= mds->res[0] || dy >= mds->res[1] ||
- dz >= mds->res[2]) {
+ if (dx < 0 || dy < 0 || dz < 0 || dx >= fds->res[0] || dy >= fds->res[1] ||
+ dz >= fds->res[2]) {
continue;
}
- if (mes->type == FLUID_EFFECTOR_TYPE_COLLISION) {
+ if (fes->type == FLUID_EFFECTOR_TYPE_COLLISION) {
float *levelset = ((is_first_frame || is_resume) && is_static) ? phi_obsstatic_in :
phi_obs_in;
- apply_effector_fields(mes,
+ apply_effector_fields(fes,
d_index,
distance_map[e_index],
levelset,
@@ -1455,8 +1455,8 @@ static void update_obstacles(Depsgraph *depsgraph,
velocity_map[e_index * 3 + 2],
vel_z);
}
- if (mes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
- apply_effector_fields(mes,
+ if (fes->type == FLUID_EFFECTOR_TYPE_GUIDE) {
+ apply_effector_fields(fes,
d_index,
distance_map[e_index],
phi_guide_in,
@@ -1489,7 +1489,7 @@ static void update_obstacles(Depsgraph *depsgraph,
* \{ */
typedef struct EmitFromParticlesData {
- FluidFlowSettings *mfs;
+ FluidFlowSettings *ffs;
KDTree_3d *tree;
FluidObjectBB *bb;
@@ -1505,7 +1505,7 @@ static void emit_from_particles_task_cb(void *__restrict userdata,
const TaskParallelTLS *__restrict UNUSED(tls))
{
EmitFromParticlesData *data = userdata;
- FluidFlowSettings *mfs = data->mfs;
+ FluidFlowSettings *ffs = data->ffs;
FluidObjectBB *bb = data->bb;
for (int x = data->min[0]; x < data->max[0]; x++) {
@@ -1524,9 +1524,9 @@ static void emit_from_particles_task_cb(void *__restrict userdata,
1.0f :
(1.0f - (nearest.dist - data->solid) / data->smooth);
/* Uses particle velocity as initial velocity for smoke. */
- if (mfs->flags & FLUID_FLOW_INITVELOCITY && (mfs->psys->part->phystype != PART_PHYS_NO)) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY && (ffs->psys->part->phystype != PART_PHYS_NO)) {
madd_v3_v3fl(
- &bb->velocity[index * 3], &data->particle_vel[nearest.index * 3], mfs->vel_multi);
+ &bb->velocity[index * 3], &data->particle_vel[nearest.index * 3], ffs->vel_multi);
}
}
}
@@ -1534,18 +1534,18 @@ static void emit_from_particles_task_cb(void *__restrict userdata,
}
static void emit_from_particles(Object *flow_ob,
- FluidDomainSettings *mds,
- FluidFlowSettings *mfs,
+ FluidDomainSettings *fds,
+ FluidFlowSettings *ffs,
FluidObjectBB *bb,
Depsgraph *depsgraph,
Scene *scene,
float dt)
{
- if (mfs && mfs->psys && mfs->psys->part &&
- ELEM(mfs->psys->part->type, PART_EMITTER, PART_FLUID)) // is particle system selected
+ if (ffs && ffs->psys && ffs->psys->part &&
+ ELEM(ffs->psys->part->type, PART_EMITTER, PART_FLUID)) // is particle system selected
{
ParticleSimulationData sim;
- ParticleSystem *psys = mfs->psys;
+ ParticleSystem *psys = ffs->psys;
float *particle_pos;
float *particle_vel;
int totpart = psys->totpart, totchild;
@@ -1554,7 +1554,7 @@ static void emit_from_particles(Object *flow_ob,
int bounds_margin = 1;
/* radius based flow */
- const float solid = mfs->particle_size * 0.5f;
+ const float solid = ffs->particle_size * 0.5f;
const float smooth = 0.5f; /* add 0.5 cells of linear falloff to reduce aliasing */
KDTree_3d *tree = NULL;
@@ -1590,7 +1590,7 @@ static void emit_from_particles(Object *flow_ob,
"manta_flow_particles_vel");
/* setup particle radius emission if enabled */
- if (mfs->flags & FLUID_FLOW_USE_PART_SIZE) {
+ if (ffs->flags & FLUID_FLOW_USE_PART_SIZE) {
tree = BLI_kdtree_3d_new(psys->totpart + psys->totchild);
bounds_margin = (int)ceil(solid + smooth);
}
@@ -1621,14 +1621,14 @@ static void emit_from_particles(Object *flow_ob,
/* location */
pos = &particle_pos[valid_particles * 3];
copy_v3_v3(pos, state.co);
- manta_pos_to_cell(mds, pos);
+ manta_pos_to_cell(fds, pos);
/* velocity */
vel = &particle_vel[valid_particles * 3];
copy_v3_v3(vel, state.vel);
- mul_mat3_m4_v3(mds->imat, &particle_vel[valid_particles * 3]);
+ mul_mat3_m4_v3(fds->imat, &particle_vel[valid_particles * 3]);
- if (mfs->flags & FLUID_FLOW_USE_PART_SIZE) {
+ if (ffs->flags & FLUID_FLOW_USE_PART_SIZE) {
BLI_kdtree_3d_insert(tree, valid_particles, pos);
}
@@ -1638,10 +1638,10 @@ static void emit_from_particles(Object *flow_ob,
}
/* set emission map */
- clamp_bounds_in_domain(mds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
- bb_allocateData(bb, mfs->flags & FLUID_FLOW_INITVELOCITY, true);
+ clamp_bounds_in_domain(fds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
+ bb_allocateData(bb, ffs->flags & FLUID_FLOW_INITVELOCITY, true);
- if (!(mfs->flags & FLUID_FLOW_USE_PART_SIZE)) {
+ if (!(ffs->flags & FLUID_FLOW_USE_PART_SIZE)) {
for (p = 0; p < valid_particles; p++) {
int cell[3];
size_t i = 0;
@@ -1667,8 +1667,8 @@ static void emit_from_particles(Object *flow_ob,
/* Add influence to emission map */
bb->influence[index] = 1.0f;
/* Uses particle velocity as initial velocity for smoke */
- if (mfs->flags & FLUID_FLOW_INITVELOCITY && (psys->part->phystype != PART_PHYS_NO)) {
- madd_v3_v3fl(&bb->velocity[index * 3], &particle_vel[p * 3], mfs->vel_multi);
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY && (psys->part->phystype != PART_PHYS_NO)) {
+ madd_v3_v3fl(&bb->velocity[index * 3], &particle_vel[p * 3], ffs->vel_multi);
}
} // particles loop
}
@@ -1685,7 +1685,7 @@ static void emit_from_particles(Object *flow_ob,
BLI_kdtree_3d_balance(tree);
EmitFromParticlesData data = {
- .mfs = mfs,
+ .ffs = ffs,
.tree = tree,
.bb = bb,
.particle_vel = particle_vel,
@@ -1702,7 +1702,7 @@ static void emit_from_particles(Object *flow_ob,
BLI_task_parallel_range(min[2], max[2], &data, emit_from_particles_task_cb, &settings);
}
- if (mfs->flags & FLUID_FLOW_USE_PART_SIZE) {
+ if (ffs->flags & FLUID_FLOW_USE_PART_SIZE) {
BLI_kdtree_3d_free(tree);
}
@@ -1821,7 +1821,7 @@ static void update_distances(int index,
CLAMP(distance_map[index], -PHI_MAX, PHI_MAX);
}
-static void sample_mesh(FluidFlowSettings *mfs,
+static void sample_mesh(FluidFlowSettings *ffs,
const MVert *mvert,
const MLoop *mloop,
const MLoopTri *mlooptri,
@@ -1857,8 +1857,8 @@ static void sample_mesh(FluidFlowSettings *mfs,
const float surface_distance = 1.732;
nearest.dist_sq = surface_distance * surface_distance; /* find_nearest uses squared distance. */
- bool is_gas_flow = (mfs->type == FLUID_FLOW_TYPE_SMOKE || mfs->type == FLUID_FLOW_TYPE_FIRE ||
- mfs->type == FLUID_FLOW_TYPE_SMOKEFIRE);
+ bool is_gas_flow = (ffs->type == FLUID_FLOW_TYPE_SMOKE || ffs->type == FLUID_FLOW_TYPE_FIRE ||
+ ffs->type == FLUID_FLOW_TYPE_SMOKEFIRE);
/* Emission strength for gases will be computed below.
* For liquids it's not needed. Just set to non zero value
@@ -1866,7 +1866,7 @@ static void sample_mesh(FluidFlowSettings *mfs,
float emission_strength = (is_gas_flow) ? 0.0f : 1.0f;
/* Emission inside the flow object. */
- if (is_gas_flow && mfs->volume_density) {
+ if (is_gas_flow && ffs->volume_density) {
if (BLI_bvhtree_ray_cast(tree_data->tree,
ray_start,
ray_dir,
@@ -1891,7 +1891,7 @@ static void sample_mesh(FluidFlowSettings *mfs,
tree_data->raycast_callback,
tree_data);
if (hit.index != -1) {
- volume_factor = mfs->volume_density;
+ volume_factor = ffs->volume_density;
}
}
}
@@ -1913,8 +1913,8 @@ static void sample_mesh(FluidFlowSettings *mfs,
/* Compute emission strength for smoke flow. */
if (is_gas_flow) {
/* Emission from surface is based on UI configurable distance value. */
- if (mfs->surface_distance) {
- emission_strength = sqrtf(nearest.dist_sq) / mfs->surface_distance;
+ if (ffs->surface_distance) {
+ emission_strength = sqrtf(nearest.dist_sq) / ffs->surface_distance;
CLAMP(emission_strength, 0.0f, 1.0f);
emission_strength = pow(1.0f - emission_strength, 0.5f);
}
@@ -1931,15 +1931,15 @@ static void sample_mesh(FluidFlowSettings *mfs,
}
/* Apply emission texture. */
- if ((mfs->flags & FLUID_FLOW_TEXTUREEMIT) && mfs->noise_texture) {
+ if ((ffs->flags & FLUID_FLOW_TEXTUREEMIT) && ffs->noise_texture) {
float tex_co[3] = {0};
TexResult texres;
- if (mfs->texture_type == FLUID_FLOW_TEXTURE_MAP_AUTO) {
- tex_co[0] = ((x - flow_center[0]) / base_res[0]) / mfs->texture_size;
- tex_co[1] = ((y - flow_center[1]) / base_res[1]) / mfs->texture_size;
- tex_co[2] = ((z - flow_center[2]) / base_res[2] - mfs->texture_offset) /
- mfs->texture_size;
+ if (ffs->texture_type == FLUID_FLOW_TEXTURE_MAP_AUTO) {
+ tex_co[0] = ((x - flow_center[0]) / base_res[0]) / ffs->texture_size;
+ tex_co[1] = ((y - flow_center[1]) / base_res[1]) / ffs->texture_size;
+ tex_co[2] = ((z - flow_center[2]) / base_res[2] - ffs->texture_offset) /
+ ffs->texture_size;
}
else if (mloopuv) {
const float *uv[3];
@@ -1952,18 +1952,18 @@ static void sample_mesh(FluidFlowSettings *mfs,
/* Map texure coord between -1.0f and 1.0f. */
tex_co[0] = tex_co[0] * 2.0f - 1.0f;
tex_co[1] = tex_co[1] * 2.0f - 1.0f;
- tex_co[2] = mfs->texture_offset;
+ tex_co[2] = ffs->texture_offset;
}
texres.nor = NULL;
- BKE_texture_get_value(NULL, mfs->noise_texture, tex_co, &texres, false);
+ BKE_texture_get_value(NULL, ffs->noise_texture, tex_co, &texres, false);
emission_strength *= texres.tin;
}
}
/* Initial velocity of flow object. Only compute velocity if emission is present. */
- if (mfs->flags & FLUID_FLOW_INITVELOCITY && velocity_map && emission_strength != 0.0) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY && velocity_map && emission_strength != 0.0) {
/* Apply normal directional velocity. */
- if (mfs->vel_normal) {
+ if (ffs->vel_normal) {
/* Interpolate vertex normal vectors to get nearest point normal. */
normal_short_to_float_v3(n1, mvert[v1].no);
normal_short_to_float_v3(n2, mvert[v2].no);
@@ -1972,26 +1972,26 @@ static void sample_mesh(FluidFlowSettings *mfs,
normalize_v3(hit_normal);
/* Apply normal directional velocity. */
- velocity_map[index * 3] += hit_normal[0] * mfs->vel_normal;
- velocity_map[index * 3 + 1] += hit_normal[1] * mfs->vel_normal;
- velocity_map[index * 3 + 2] += hit_normal[2] * mfs->vel_normal;
+ velocity_map[index * 3] += hit_normal[0] * ffs->vel_normal;
+ velocity_map[index * 3 + 1] += hit_normal[1] * ffs->vel_normal;
+ velocity_map[index * 3 + 2] += hit_normal[2] * ffs->vel_normal;
}
/* Apply object velocity. */
- if (has_velocity && mfs->vel_multi) {
+ if (has_velocity && ffs->vel_multi) {
float hit_vel[3];
interp_v3_v3v3v3(
hit_vel, &vert_vel[v1 * 3], &vert_vel[v2 * 3], &vert_vel[v3 * 3], weights);
- velocity_map[index * 3] += hit_vel[0] * mfs->vel_multi;
- velocity_map[index * 3 + 1] += hit_vel[1] * mfs->vel_multi;
- velocity_map[index * 3 + 2] += hit_vel[2] * mfs->vel_multi;
+ velocity_map[index * 3] += hit_vel[0] * ffs->vel_multi;
+ velocity_map[index * 3 + 1] += hit_vel[1] * ffs->vel_multi;
+ velocity_map[index * 3 + 2] += hit_vel[2] * ffs->vel_multi;
# ifdef DEBUG_PRINT
/* Debugging: Print flow object velocities. */
printf("adding flow object vel: [%f, %f, %f]\n", hit_vel[0], hit_vel[1], hit_vel[2]);
# endif
}
- velocity_map[index * 3] += mfs->vel_coord[0];
- velocity_map[index * 3 + 1] += mfs->vel_coord[1];
- velocity_map[index * 3 + 2] += mfs->vel_coord[2];
+ velocity_map[index * 3] += ffs->vel_coord[0];
+ velocity_map[index * 3 + 1] += ffs->vel_coord[1];
+ velocity_map[index * 3 + 2] += ffs->vel_coord[2];
}
}
@@ -2000,8 +2000,8 @@ static void sample_mesh(FluidFlowSettings *mfs,
}
typedef struct EmitFromDMData {
- FluidDomainSettings *mds;
- FluidFlowSettings *mfs;
+ FluidDomainSettings *fds;
+ FluidFlowSettings *ffs;
const MVert *mvert;
const MLoop *mloop;
@@ -2034,9 +2034,9 @@ static void emit_from_mesh_task_cb(void *__restrict userdata,
/* Compute emission only for flow objects that produce fluid (i.e. skip outflow objects).
* Result in bb->influence. Also computes initial velocities. Result in bb->velocity. */
- if ((data->mfs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY) ||
- (data->mfs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW)) {
- sample_mesh(data->mfs,
+ if ((data->ffs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY) ||
+ (data->ffs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW)) {
+ sample_mesh(data->ffs,
data->mvert,
data->mloop,
data->mlooptri,
@@ -2044,7 +2044,7 @@ static void emit_from_mesh_task_cb(void *__restrict userdata,
bb->influence,
bb->velocity,
index,
- data->mds->base_res,
+ data->fds->base_res,
data->flow_center,
data->tree,
ray_start,
@@ -2062,16 +2062,16 @@ static void emit_from_mesh_task_cb(void *__restrict userdata,
bb->distances,
data->tree,
ray_start,
- data->mfs->surface_distance,
- data->mfs->flags & FLUID_FLOW_USE_PLANE_INIT);
+ data->ffs->surface_distance,
+ data->ffs->flags & FLUID_FLOW_USE_PLANE_INIT);
}
}
}
static void emit_from_mesh(
- Object *flow_ob, FluidDomainSettings *mds, FluidFlowSettings *mfs, FluidObjectBB *bb, float dt)
+ Object *flow_ob, FluidDomainSettings *fds, FluidFlowSettings *ffs, FluidObjectBB *bb, float dt)
{
- if (mfs->mesh) {
+ if (ffs->mesh) {
Mesh *me = NULL;
MVert *mvert = NULL;
const MLoopTri *mlooptri = NULL;
@@ -2084,13 +2084,13 @@ static void emit_from_mesh(
float *vert_vel = NULL;
bool has_velocity = false;
- int defgrp_index = mfs->vgroup_density - 1;
+ int defgrp_index = ffs->vgroup_density - 1;
float flow_center[3] = {0};
int min[3], max[3], res[3];
/* Copy mesh for thread safety as we modify it.
* Main issue is its VertArray being modified, then replaced and freed. */
- me = BKE_mesh_copy_for_eval(mfs->mesh, true);
+ me = BKE_mesh_copy_for_eval(ffs->mesh, true);
/* Duplicate vertices to modify. */
if (me->mvert) {
@@ -2104,17 +2104,17 @@ static void emit_from_mesh(
mlooptri = BKE_mesh_runtime_looptri_ensure(me);
numverts = me->totvert;
dvert = CustomData_get_layer(&me->vdata, CD_MDEFORMVERT);
- mloopuv = CustomData_get_layer_named(&me->ldata, CD_MLOOPUV, mfs->uvlayer_name);
+ mloopuv = CustomData_get_layer_named(&me->ldata, CD_MLOOPUV, ffs->uvlayer_name);
- if (mfs->flags & FLUID_FLOW_INITVELOCITY) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY) {
vert_vel = MEM_callocN(sizeof(float) * numverts * 3, "manta_flow_velocity");
- if (mfs->numverts != numverts || !mfs->verts_old) {
- if (mfs->verts_old) {
- MEM_freeN(mfs->verts_old);
+ if (ffs->numverts != numverts || !ffs->verts_old) {
+ if (ffs->verts_old) {
+ MEM_freeN(ffs->verts_old);
}
- mfs->verts_old = MEM_callocN(sizeof(float) * numverts * 3, "manta_flow_verts_old");
- mfs->numverts = numverts;
+ ffs->verts_old = MEM_callocN(sizeof(float) * numverts * 3, "manta_flow_verts_old");
+ ffs->numverts = numverts;
}
else {
has_velocity = true;
@@ -2127,37 +2127,37 @@ static void emit_from_mesh(
/* Vertex position. */
mul_m4_v3(flow_ob->obmat, mvert[i].co);
- manta_pos_to_cell(mds, mvert[i].co);
+ manta_pos_to_cell(fds, mvert[i].co);
/* Vertex normal. */
normal_short_to_float_v3(n, mvert[i].no);
mul_mat3_m4_v3(flow_ob->obmat, n);
- mul_mat3_m4_v3(mds->imat, n);
+ mul_mat3_m4_v3(fds->imat, n);
normalize_v3(n);
normal_float_to_short_v3(mvert[i].no, n);
/* Vertex velocity. */
- if (mfs->flags & FLUID_FLOW_INITVELOCITY) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY) {
float co[3];
- add_v3fl_v3fl_v3i(co, mvert[i].co, mds->shift);
+ add_v3fl_v3fl_v3i(co, mvert[i].co, fds->shift);
if (has_velocity) {
- sub_v3_v3v3(&vert_vel[i * 3], co, &mfs->verts_old[i * 3]);
- mul_v3_fl(&vert_vel[i * 3], mds->dx / dt);
+ sub_v3_v3v3(&vert_vel[i * 3], co, &ffs->verts_old[i * 3]);
+ mul_v3_fl(&vert_vel[i * 3], fds->dx / dt);
}
- copy_v3_v3(&mfs->verts_old[i * 3], co);
+ copy_v3_v3(&ffs->verts_old[i * 3], co);
}
/* Calculate emission map bounds. */
bb_boundInsert(bb, mvert[i].co);
}
mul_m4_v3(flow_ob->obmat, flow_center);
- manta_pos_to_cell(mds, flow_center);
+ manta_pos_to_cell(fds, flow_center);
/* Set emission map.
* Use 3 cell diagonals as margin (3 * 1.732 = 5.196). */
int bounds_margin = (int)ceil(5.196);
- clamp_bounds_in_domain(mds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
- bb_allocateData(bb, mfs->flags & FLUID_FLOW_INITVELOCITY, true);
+ clamp_bounds_in_domain(fds, bb->min, bb->max, NULL, NULL, bounds_margin, dt);
+ bb_allocateData(bb, ffs->flags & FLUID_FLOW_INITVELOCITY, true);
/* Setup loop bounds. */
for (i = 0; i < 3; i++) {
@@ -2169,8 +2169,8 @@ static void emit_from_mesh(
if (BKE_bvhtree_from_mesh_get(&tree_data, me, BVHTREE_FROM_LOOPTRI, 4)) {
EmitFromDMData data = {
- .mds = mds,
- .mfs = mfs,
+ .fds = fds,
+ .ffs = ffs,
.mvert = mvert,
.mloop = mloop,
.mlooptri = mlooptri,
@@ -2212,7 +2212,7 @@ static void emit_from_mesh(
* \{ */
static void adaptive_domain_adjust(
- FluidDomainSettings *mds, Object *ob, FluidObjectBB *bb_maps, uint numflowobj, float dt)
+ FluidDomainSettings *fds, Object *ob, FluidObjectBB *bb_maps, uint numflowobj, float dt)
{
/* calculate domain shift for current frame */
int new_shift[3] = {0};
@@ -2222,57 +2222,57 @@ static void adaptive_domain_adjust(
mul_m4_v3(ob->obmat, ob_loc);
- sub_v3_v3v3(frame_shift_f, ob_loc, mds->prev_loc);
- copy_v3_v3(mds->prev_loc, ob_loc);
+ sub_v3_v3v3(frame_shift_f, ob_loc, fds->prev_loc);
+ copy_v3_v3(fds->prev_loc, ob_loc);
/* convert global space shift to local "cell" space */
- mul_mat3_m4_v3(mds->imat, frame_shift_f);
- frame_shift_f[0] = frame_shift_f[0] / mds->cell_size[0];
- frame_shift_f[1] = frame_shift_f[1] / mds->cell_size[1];
- frame_shift_f[2] = frame_shift_f[2] / mds->cell_size[2];
+ mul_mat3_m4_v3(fds->imat, frame_shift_f);
+ frame_shift_f[0] = frame_shift_f[0] / fds->cell_size[0];
+ frame_shift_f[1] = frame_shift_f[1] / fds->cell_size[1];
+ frame_shift_f[2] = frame_shift_f[2] / fds->cell_size[2];
/* add to total shift */
- add_v3_v3(mds->shift_f, frame_shift_f);
+ add_v3_v3(fds->shift_f, frame_shift_f);
/* convert to integer */
- total_shift[0] = (int)(floorf(mds->shift_f[0]));
- total_shift[1] = (int)(floorf(mds->shift_f[1]));
- total_shift[2] = (int)(floorf(mds->shift_f[2]));
+ total_shift[0] = (int)(floorf(fds->shift_f[0]));
+ total_shift[1] = (int)(floorf(fds->shift_f[1]));
+ total_shift[2] = (int)(floorf(fds->shift_f[2]));
int temp_shift[3];
- copy_v3_v3_int(temp_shift, mds->shift);
- sub_v3_v3v3_int(new_shift, total_shift, mds->shift);
- copy_v3_v3_int(mds->shift, total_shift);
+ copy_v3_v3_int(temp_shift, fds->shift);
+ sub_v3_v3v3_int(new_shift, total_shift, fds->shift);
+ copy_v3_v3_int(fds->shift, total_shift);
/* calculate new domain boundary points so that smoke doesn't slide on sub-cell movement */
- mds->p0[0] = mds->dp0[0] - mds->cell_size[0] * (mds->shift_f[0] - total_shift[0] - 0.5f);
- mds->p0[1] = mds->dp0[1] - mds->cell_size[1] * (mds->shift_f[1] - total_shift[1] - 0.5f);
- mds->p0[2] = mds->dp0[2] - mds->cell_size[2] * (mds->shift_f[2] - total_shift[2] - 0.5f);
- mds->p1[0] = mds->p0[0] + mds->cell_size[0] * mds->base_res[0];
- mds->p1[1] = mds->p0[1] + mds->cell_size[1] * mds->base_res[1];
- mds->p1[2] = mds->p0[2] + mds->cell_size[2] * mds->base_res[2];
+ fds->p0[0] = fds->dp0[0] - fds->cell_size[0] * (fds->shift_f[0] - total_shift[0] - 0.5f);
+ fds->p0[1] = fds->dp0[1] - fds->cell_size[1] * (fds->shift_f[1] - total_shift[1] - 0.5f);
+ fds->p0[2] = fds->dp0[2] - fds->cell_size[2] * (fds->shift_f[2] - total_shift[2] - 0.5f);
+ fds->p1[0] = fds->p0[0] + fds->cell_size[0] * fds->base_res[0];
+ fds->p1[1] = fds->p0[1] + fds->cell_size[1] * fds->base_res[1];
+ fds->p1[2] = fds->p0[2] + fds->cell_size[2] * fds->base_res[2];
/* adjust domain resolution */
- const int block_size = mds->noise_scale;
+ const int block_size = fds->noise_scale;
int min[3] = {32767, 32767, 32767}, max[3] = {-32767, -32767, -32767}, res[3];
int total_cells = 1, res_changed = 0, shift_changed = 0;
float min_vel[3], max_vel[3];
int x, y, z;
- float *density = manta_smoke_get_density(mds->fluid);
- float *fuel = manta_smoke_get_fuel(mds->fluid);
- float *bigdensity = manta_smoke_turbulence_get_density(mds->fluid);
- float *bigfuel = manta_smoke_turbulence_get_fuel(mds->fluid);
- float *vx = manta_get_velocity_x(mds->fluid);
- float *vy = manta_get_velocity_y(mds->fluid);
- float *vz = manta_get_velocity_z(mds->fluid);
+ float *density = manta_smoke_get_density(fds->fluid);
+ float *fuel = manta_smoke_get_fuel(fds->fluid);
+ float *bigdensity = manta_smoke_turbulence_get_density(fds->fluid);
+ float *bigfuel = manta_smoke_turbulence_get_fuel(fds->fluid);
+ float *vx = manta_get_velocity_x(fds->fluid);
+ float *vy = manta_get_velocity_y(fds->fluid);
+ float *vz = manta_get_velocity_z(fds->fluid);
int wt_res[3];
- if (mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
- manta_smoke_turbulence_get_res(mds->fluid, wt_res);
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
+ manta_smoke_turbulence_get_res(fds->fluid, wt_res);
}
INIT_MINMAX(min_vel, max_vel);
/* Calculate bounds for current domain content */
- for (x = mds->res_min[0]; x < mds->res_max[0]; x++) {
- for (y = mds->res_min[1]; y < mds->res_max[1]; y++) {
- for (z = mds->res_min[2]; z < mds->res_max[2]; z++) {
+ for (x = fds->res_min[0]; x < fds->res_max[0]; x++) {
+ for (y = fds->res_min[1]; y < fds->res_max[1]; y++) {
+ for (z = fds->res_min[2]; z < fds->res_max[2]; z++) {
int xn = x - new_shift[0];
int yn = y - new_shift[1];
int zn = z - new_shift[2];
@@ -2285,20 +2285,20 @@ static void adaptive_domain_adjust(
continue;
}
- index = manta_get_index(x - mds->res_min[0],
- mds->res[0],
- y - mds->res_min[1],
- mds->res[1],
- z - mds->res_min[2]);
+ index = manta_get_index(x - fds->res_min[0],
+ fds->res[0],
+ y - fds->res_min[1],
+ fds->res[1],
+ z - fds->res_min[2]);
max_den = (fuel) ? MAX2(density[index], fuel[index]) : density[index];
/* check high resolution bounds if max density isnt already high enough */
- if (max_den < mds->adapt_threshold && mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
+ if (max_den < fds->adapt_threshold && fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
int i, j, k;
/* high res grid index */
- int xx = (x - mds->res_min[0]) * block_size;
- int yy = (y - mds->res_min[1]) * block_size;
- int zz = (z - mds->res_min[2]) * block_size;
+ int xx = (x - fds->res_min[0]) * block_size;
+ int yy = (y - fds->res_min[1]) * block_size;
+ int zz = (z - fds->res_min[2]) * block_size;
for (i = 0; i < block_size; i++) {
for (j = 0; j < block_size; j++) {
@@ -2315,7 +2315,7 @@ static void adaptive_domain_adjust(
}
/* content bounds (use shifted coordinates) */
- if (max_den >= mds->adapt_threshold) {
+ if (max_den >= fds->adapt_threshold) {
if (min[0] > xn) {
min[0] = xn;
}
@@ -2371,7 +2371,7 @@ static void adaptive_domain_adjust(
float max_den = bb->influence[index];
/* density bounds */
- if (max_den >= mds->adapt_threshold) {
+ if (max_den >= fds->adapt_threshold) {
if (min[0] > x) {
min[0] = x;
}
@@ -2397,7 +2397,7 @@ static void adaptive_domain_adjust(
}
/* calculate new bounds based on these values */
- clamp_bounds_in_domain(mds, min, max, min_vel, max_vel, mds->adapt_margin + 1, dt);
+ clamp_bounds_in_domain(fds, min, max, min_vel, max_vel, fds->adapt_margin + 1, dt);
for (int i = 0; i < 3; i++) {
/* calculate new resolution */
@@ -2420,37 +2420,37 @@ static void adaptive_domain_adjust(
total_cells = 1;
break;
}
- if (min[i] != mds->res_min[i] || max[i] != mds->res_max[i]) {
+ if (min[i] != fds->res_min[i] || max[i] != fds->res_max[i]) {
res_changed = 1;
}
}
if (res_changed || shift_changed) {
BKE_fluid_reallocate_copy_fluid(
- mds, mds->res, res, mds->res_min, min, mds->res_max, temp_shift, total_shift);
+ fds, fds->res, res, fds->res_min, min, fds->res_max, temp_shift, total_shift);
/* set new domain dimensions */
- copy_v3_v3_int(mds->res_min, min);
- copy_v3_v3_int(mds->res_max, max);
- copy_v3_v3_int(mds->res, res);
- mds->total_cells = total_cells;
+ copy_v3_v3_int(fds->res_min, min);
+ copy_v3_v3_int(fds->res_max, max);
+ copy_v3_v3_int(fds->res, res);
+ fds->total_cells = total_cells;
/* Redo adapt time step in manta to refresh solver state (ie time variables) */
- manta_adapt_timestep(mds->fluid);
+ manta_adapt_timestep(fds->fluid);
}
/* update global size field with new bbox size */
/* volume bounds */
float minf[3], maxf[3], size[3];
- madd_v3fl_v3fl_v3fl_v3i(minf, mds->p0, mds->cell_size, mds->res_min);
- madd_v3fl_v3fl_v3fl_v3i(maxf, mds->p0, mds->cell_size, mds->res_max);
+ madd_v3fl_v3fl_v3fl_v3i(minf, fds->p0, fds->cell_size, fds->res_min);
+ madd_v3fl_v3fl_v3fl_v3i(maxf, fds->p0, fds->cell_size, fds->res_max);
/* calculate domain dimensions */
sub_v3_v3v3(size, maxf, minf);
/* apply object scale */
for (int i = 0; i < 3; i++) {
size[i] = fabsf(size[i] * ob->scale[i]);
}
- copy_v3_v3(mds->global_size, size);
+ copy_v3_v3(fds->global_size, size);
}
BLI_INLINE void apply_outflow_fields(int index,
@@ -2488,7 +2488,7 @@ BLI_INLINE void apply_outflow_fields(int index,
}
}
-BLI_INLINE void apply_inflow_fields(FluidFlowSettings *mfs,
+BLI_INLINE void apply_inflow_fields(FluidFlowSettings *ffs,
float emission_value,
float distance_value,
int index,
@@ -2522,28 +2522,28 @@ BLI_INLINE void apply_inflow_fields(FluidFlowSettings *mfs,
}
/* Set inflow for smoke from here on. */
- int absolute_flow = (mfs->flags & FLUID_FLOW_ABSOLUTE);
+ int absolute_flow = (ffs->flags & FLUID_FLOW_ABSOLUTE);
float dens_old = (density) ? density[index] : 0.0;
// float fuel_old = (fuel) ? fuel[index] : 0.0f; /* UNUSED */
- float dens_flow = (mfs->type == FLUID_FLOW_TYPE_FIRE) ? 0.0f : emission_value * mfs->density;
- float fuel_flow = (fuel) ? emission_value * mfs->fuel_amount : 0.0f;
+ float dens_flow = (ffs->type == FLUID_FLOW_TYPE_FIRE) ? 0.0f : emission_value * ffs->density;
+ float fuel_flow = (fuel) ? emission_value * ffs->fuel_amount : 0.0f;
/* Set heat inflow. */
if (heat && heat_in) {
if (emission_value > 0.0f) {
- heat_in[index] = ADD_IF_LOWER(heat[index], mfs->temperature);
+ heat_in[index] = ADD_IF_LOWER(heat[index], ffs->temperature);
}
}
/* Set density and fuel - absolute mode. */
if (absolute_flow) {
if (density && density_in) {
- if (mfs->type != FLUID_FLOW_TYPE_FIRE && dens_flow > density[index]) {
+ if (ffs->type != FLUID_FLOW_TYPE_FIRE && dens_flow > density[index]) {
/* Use MAX2 to preserve values from other emitters at this cell. */
density_in[index] = MAX2(dens_flow, density_in[index]);
}
}
if (fuel && fuel_in) {
- if (mfs->type != FLUID_FLOW_TYPE_SMOKE && fuel_flow && fuel_flow > fuel[index]) {
+ if (ffs->type != FLUID_FLOW_TYPE_SMOKE && fuel_flow && fuel_flow > fuel[index]) {
/* Use MAX2 to preserve values from other emitters at this cell. */
fuel_in[index] = MAX2(fuel_flow, fuel_in[index]);
}
@@ -2552,13 +2552,13 @@ BLI_INLINE void apply_inflow_fields(FluidFlowSettings *mfs,
/* Set density and fuel - additive mode. */
else {
if (density && density_in) {
- if (mfs->type != FLUID_FLOW_TYPE_FIRE) {
+ if (ffs->type != FLUID_FLOW_TYPE_FIRE) {
density_in[index] += dens_flow;
CLAMP(density_in[index], 0.0f, 1.0f);
}
}
if (fuel && fuel_in) {
- if (mfs->type != FLUID_FLOW_TYPE_SMOKE && mfs->fuel_amount) {
+ if (ffs->type != FLUID_FLOW_TYPE_SMOKE && ffs->fuel_amount) {
fuel_in[index] += fuel_flow;
CLAMP(fuel_in[index], 0.0f, 10.0f);
}
@@ -2569,9 +2569,9 @@ BLI_INLINE void apply_inflow_fields(FluidFlowSettings *mfs,
if (color_r && color_r_in) {
if (dens_flow) {
float total_dens = density[index] / (dens_old + dens_flow);
- color_r_in[index] = (color_r[index] + mfs->color[0] * dens_flow) * total_dens;
- color_g_in[index] = (color_g[index] + mfs->color[1] * dens_flow) * total_dens;
- color_b_in[index] = (color_b[index] + mfs->color[2] * dens_flow) * total_dens;
+ color_r_in[index] = (color_r[index] + ffs->color[0] * dens_flow) * total_dens;
+ color_g_in[index] = (color_g[index] + ffs->color[1] * dens_flow) * total_dens;
+ color_b_in[index] = (color_b[index] + ffs->color[2] * dens_flow) * total_dens;
}
}
@@ -2588,35 +2588,35 @@ BLI_INLINE void apply_inflow_fields(FluidFlowSettings *mfs,
}
}
-static void ensure_flowsfields(FluidDomainSettings *mds)
+static void ensure_flowsfields(FluidDomainSettings *fds)
{
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL) {
- manta_ensure_invelocity(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_INVEL) {
+ manta_ensure_invelocity(fds->fluid, fds->fmd);
}
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW) {
- manta_ensure_outflow(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_OUTFLOW) {
+ manta_ensure_outflow(fds->fluid, fds->fmd);
}
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
- manta_smoke_ensure_heat(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
+ manta_smoke_ensure_heat(fds->fluid, fds->fmd);
}
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
- manta_smoke_ensure_fire(mds->fluid, mds->mmd);
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
+ manta_smoke_ensure_fire(fds->fluid, fds->fmd);
}
- if (mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
+ if (fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
/* initialize all smoke with "active_color" */
- manta_smoke_ensure_colors(mds->fluid, mds->mmd);
+ manta_smoke_ensure_colors(fds->fluid, fds->fmd);
}
- if (mds->type == FLUID_DOMAIN_TYPE_LIQUID &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY ||
- mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM ||
- mds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER)) {
- manta_liquid_ensure_sndparts(mds->fluid, mds->mmd);
+ if (fds->type == FLUID_DOMAIN_TYPE_LIQUID &&
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY ||
+ fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM ||
+ fds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER)) {
+ manta_liquid_ensure_sndparts(fds->fluid, fds->fmd);
}
}
-static void update_flowsflags(FluidDomainSettings *mds, Object **flowobjs, int numflowobj)
+static void update_flowsflags(FluidDomainSettings *fds, Object **flowobjs, int numflowobj)
{
- int active_fields = mds->active_fields;
+ int active_fields = fds->active_fields;
uint flow_index;
/* First, remove all flags that we want to update. */
@@ -2627,95 +2627,95 @@ static void update_flowsflags(FluidDomainSettings *mds, Object **flowobjs, int n
/* Monitor active fields based on flow settings */
for (flow_index = 0; flow_index < numflowobj; flow_index++) {
Object *flow_ob = flowobjs[flow_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flow_ob,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flow_ob,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
- if ((mmd2->type & MOD_FLUID_TYPE_FLOW) && mmd2->flow) {
- FluidFlowSettings *mfs = mmd2->flow;
- if (!mfs) {
+ if ((fmd2->type & MOD_FLUID_TYPE_FLOW) && fmd2->flow) {
+ FluidFlowSettings *ffs = fmd2->flow;
+ if (!ffs) {
break;
}
- if (mfs->flags & FLUID_FLOW_NEEDS_UPDATE) {
- mfs->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
- mds->cache_flag |= FLUID_DOMAIN_OUTDATED_DATA;
+ if (ffs->flags & FLUID_FLOW_NEEDS_UPDATE) {
+ ffs->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
+ fds->cache_flag |= FLUID_DOMAIN_OUTDATED_DATA;
}
- if (mfs->flags & FLUID_FLOW_INITVELOCITY) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY) {
active_fields |= FLUID_DOMAIN_ACTIVE_INVEL;
}
- if (mfs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW) {
+ if (ffs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW) {
active_fields |= FLUID_DOMAIN_ACTIVE_OUTFLOW;
}
/* liquids done from here */
- if (mds->type == FLUID_DOMAIN_TYPE_LIQUID) {
+ if (fds->type == FLUID_DOMAIN_TYPE_LIQUID) {
continue;
}
/* activate heat field if flow produces any heat */
- if (mfs->temperature) {
+ if (ffs->temperature) {
active_fields |= FLUID_DOMAIN_ACTIVE_HEAT;
}
/* activate fuel field if flow adds any fuel */
- if (mfs->fuel_amount &&
- (mfs->type == FLUID_FLOW_TYPE_FIRE || mfs->type == FLUID_FLOW_TYPE_SMOKEFIRE)) {
+ if (ffs->fuel_amount &&
+ (ffs->type == FLUID_FLOW_TYPE_FIRE || ffs->type == FLUID_FLOW_TYPE_SMOKEFIRE)) {
active_fields |= FLUID_DOMAIN_ACTIVE_FIRE;
}
/* activate color field if flows add smoke with varying colors */
- if (mfs->density &&
- (mfs->type == FLUID_FLOW_TYPE_SMOKE || mfs->type == FLUID_FLOW_TYPE_SMOKEFIRE)) {
+ if (ffs->density &&
+ (ffs->type == FLUID_FLOW_TYPE_SMOKE || ffs->type == FLUID_FLOW_TYPE_SMOKEFIRE)) {
if (!(active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET)) {
- copy_v3_v3(mds->active_color, mfs->color);
+ copy_v3_v3(fds->active_color, ffs->color);
active_fields |= FLUID_DOMAIN_ACTIVE_COLOR_SET;
}
- else if (!equals_v3v3(mds->active_color, mfs->color)) {
- copy_v3_v3(mds->active_color, mfs->color);
+ else if (!equals_v3v3(fds->active_color, ffs->color)) {
+ copy_v3_v3(fds->active_color, ffs->color);
active_fields |= FLUID_DOMAIN_ACTIVE_COLORS;
}
}
}
}
/* Monitor active fields based on domain settings */
- if (mds->type == FLUID_DOMAIN_TYPE_GAS && active_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
+ if (fds->type == FLUID_DOMAIN_TYPE_GAS && active_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
/* heat is always needed for fire */
active_fields |= FLUID_DOMAIN_ACTIVE_HEAT;
/* also activate colors if domain smoke color differs from active color */
if (!(active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET)) {
- copy_v3_v3(mds->active_color, mds->flame_smoke_color);
+ copy_v3_v3(fds->active_color, fds->flame_smoke_color);
active_fields |= FLUID_DOMAIN_ACTIVE_COLOR_SET;
}
- else if (!equals_v3v3(mds->active_color, mds->flame_smoke_color)) {
- copy_v3_v3(mds->active_color, mds->flame_smoke_color);
+ else if (!equals_v3v3(fds->active_color, fds->flame_smoke_color)) {
+ copy_v3_v3(fds->active_color, fds->flame_smoke_color);
active_fields |= FLUID_DOMAIN_ACTIVE_COLORS;
}
}
- mds->active_fields = active_fields;
+ fds->active_fields = active_fields;
}
static bool escape_flowsobject(Object *flowobj,
- FluidDomainSettings *mds,
- FluidFlowSettings *mfs,
+ FluidDomainSettings *fds,
+ FluidFlowSettings *ffs,
int frame)
{
- bool use_velocity = (mfs->flags & FLUID_FLOW_INITVELOCITY);
+ bool use_velocity = (ffs->flags & FLUID_FLOW_INITVELOCITY);
bool is_static = is_static_object(flowobj);
- bool liquid_flow = mfs->type == FLUID_FLOW_TYPE_LIQUID;
- bool gas_flow = (mfs->type == FLUID_FLOW_TYPE_SMOKE || mfs->type == FLUID_FLOW_TYPE_FIRE ||
- mfs->type == FLUID_FLOW_TYPE_SMOKEFIRE);
- bool is_geometry = (mfs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY);
- bool is_inflow = (mfs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW);
- bool is_outflow = (mfs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW);
- bool use_flow = (mfs->flags & FLUID_FLOW_USE_INFLOW);
+ bool liquid_flow = ffs->type == FLUID_FLOW_TYPE_LIQUID;
+ bool gas_flow = (ffs->type == FLUID_FLOW_TYPE_SMOKE || ffs->type == FLUID_FLOW_TYPE_FIRE ||
+ ffs->type == FLUID_FLOW_TYPE_SMOKEFIRE);
+ bool is_geometry = (ffs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY);
+ bool is_inflow = (ffs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW);
+ bool is_outflow = (ffs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW);
+ bool use_flow = (ffs->flags & FLUID_FLOW_USE_INFLOW);
- bool liquid_domain = mds->type == FLUID_DOMAIN_TYPE_LIQUID;
- bool gas_domain = mds->type == FLUID_DOMAIN_TYPE_GAS;
- bool is_adaptive = (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
- bool is_resume = (mds->cache_frame_pause_data == frame);
- bool is_first_frame = (mds->cache_frame_start == frame);
+ bool liquid_domain = fds->type == FLUID_DOMAIN_TYPE_LIQUID;
+ bool gas_domain = fds->type == FLUID_DOMAIN_TYPE_GAS;
+ bool is_adaptive = (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN);
+ bool is_resume = (fds->cache_frame_pause_data == frame);
+ bool is_first_frame = (fds->cache_frame_start == frame);
/* Cannot use static mode with adaptive domain.
* The adaptive domain might expand and only later discover the static object. */
@@ -2749,31 +2749,31 @@ static void compute_flowsemission(Scene *scene,
Object **flowobjs,
int frame,
float frame_length,
- FluidDomainSettings *mds,
+ FluidDomainSettings *fds,
uint numflowobjs,
float time_per_frame)
{
- bool is_first_frame = (frame == mds->cache_frame_start);
+ bool is_first_frame = (frame == fds->cache_frame_start);
/* Prepare flow emission maps. */
for (int flow_index = 0; flow_index < numflowobjs; flow_index++) {
Object *flowobj = flowobjs[flow_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flowobj,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flowobj,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
/* Check for initialized flow object. */
- if ((mmd2->type & MOD_FLUID_TYPE_FLOW) && mmd2->flow) {
- FluidFlowSettings *mfs = mmd2->flow;
- int subframes = mfs->subframes;
+ if ((fmd2->type & MOD_FLUID_TYPE_FLOW) && fmd2->flow) {
+ FluidFlowSettings *ffs = fmd2->flow;
+ int subframes = ffs->subframes;
FluidObjectBB *bb = &bb_maps[flow_index];
/* Optimization: Skip this object under certain conditions. */
- if (escape_flowsobject(flowobj, mds, mfs, frame)) {
+ if (escape_flowsobject(flowobj, fds, ffs, frame)) {
continue;
}
@@ -2823,21 +2823,21 @@ static void compute_flowsemission(Scene *scene,
depsgraph, scene, flowobj, true, 5, BKE_scene_frame_get(scene), eModifierType_Fluid);
/* Emission from particles. */
- if (mfs->source == FLUID_FLOW_SOURCE_PARTICLES) {
+ if (ffs->source == FLUID_FLOW_SOURCE_PARTICLES) {
if (subframes) {
- emit_from_particles(flowobj, mds, mfs, &bb_temp, depsgraph, scene, subframe_dt);
+ emit_from_particles(flowobj, fds, ffs, &bb_temp, depsgraph, scene, subframe_dt);
}
else {
- emit_from_particles(flowobj, mds, mfs, bb, depsgraph, scene, subframe_dt);
+ emit_from_particles(flowobj, fds, ffs, bb, depsgraph, scene, subframe_dt);
}
}
/* Emission from mesh. */
- else if (mfs->source == FLUID_FLOW_SOURCE_MESH) {
+ else if (ffs->source == FLUID_FLOW_SOURCE_MESH) {
if (subframes) {
- emit_from_mesh(flowobj, mds, mfs, &bb_temp, subframe_dt);
+ emit_from_mesh(flowobj, fds, ffs, &bb_temp, subframe_dt);
}
else {
- emit_from_mesh(flowobj, mds, mfs, bb, subframe_dt);
+ emit_from_mesh(flowobj, fds, ffs, bb, subframe_dt);
}
}
else {
@@ -2848,7 +2848,7 @@ static void compute_flowsemission(Scene *scene,
* the temp map with the original emission map. */
if (subframes) {
/* Combine emission maps. */
- bb_combineMaps(bb, &bb_temp, !(mfs->flags & FLUID_FLOW_ABSOLUTE), sample_size);
+ bb_combineMaps(bb, &bb_temp, !(ffs->flags & FLUID_FLOW_ABSOLUTE), sample_size);
bb_freeData(&bb_temp);
}
}
@@ -2867,7 +2867,7 @@ static void compute_flowsemission(Scene *scene,
static void update_flowsfluids(struct Depsgraph *depsgraph,
Scene *scene,
Object *ob,
- FluidDomainSettings *mds,
+ FluidDomainSettings *fds,
float time_per_frame,
float frame_length,
int frame,
@@ -2876,15 +2876,15 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
FluidObjectBB *bb_maps = NULL;
Object **flowobjs = NULL;
uint numflowobjs = 0;
- bool is_resume = (mds->cache_frame_pause_data == frame);
- bool is_first_frame = (mds->cache_frame_start == frame);
+ bool is_resume = (fds->cache_frame_pause_data == frame);
+ bool is_first_frame = (fds->cache_frame_start == frame);
flowobjs = BKE_collision_objects_create(
- depsgraph, ob, mds->fluid_group, &numflowobjs, eModifierType_Fluid);
+ depsgraph, ob, fds->fluid_group, &numflowobjs, eModifierType_Fluid);
/* Update all flow related flags and ensure that corresponding grids get initialized. */
- update_flowsflags(mds, flowobjs, numflowobjs);
- ensure_flowsfields(mds);
+ update_flowsflags(fds, flowobjs, numflowobjs);
+ ensure_flowsfields(fds);
/* Allocate emission map for each flow object. */
bb_maps = MEM_callocN(sizeof(struct FluidObjectBB) * numflowobjs, "fluid_flow_bb_maps");
@@ -2897,44 +2897,44 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
flowobjs,
frame,
frame_length,
- mds,
+ fds,
numflowobjs,
time_per_frame);
/* Adjust domain size if needed. Only do this once for every frame. */
- if (mds->type == FLUID_DOMAIN_TYPE_GAS && mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
- adaptive_domain_adjust(mds, ob, bb_maps, numflowobjs, dt);
- }
-
- float *phi_in = manta_get_phi_in(mds->fluid);
- float *phistatic_in = manta_get_phistatic_in(mds->fluid);
- float *phiout_in = manta_get_phiout_in(mds->fluid);
- float *phioutstatic_in = manta_get_phioutstatic_in(mds->fluid);
-
- float *density = manta_smoke_get_density(mds->fluid);
- float *color_r = manta_smoke_get_color_r(mds->fluid);
- float *color_g = manta_smoke_get_color_g(mds->fluid);
- float *color_b = manta_smoke_get_color_b(mds->fluid);
- float *fuel = manta_smoke_get_fuel(mds->fluid);
- float *heat = manta_smoke_get_heat(mds->fluid);
- float *react = manta_smoke_get_react(mds->fluid);
-
- float *density_in = manta_smoke_get_density_in(mds->fluid);
- float *heat_in = manta_smoke_get_heat_in(mds->fluid);
- float *color_r_in = manta_smoke_get_color_r_in(mds->fluid);
- float *color_g_in = manta_smoke_get_color_g_in(mds->fluid);
- float *color_b_in = manta_smoke_get_color_b_in(mds->fluid);
- float *fuel_in = manta_smoke_get_fuel_in(mds->fluid);
- float *react_in = manta_smoke_get_react_in(mds->fluid);
- float *emission_in = manta_smoke_get_emission_in(mds->fluid);
-
- float *velx_initial = manta_get_in_velocity_x(mds->fluid);
- float *vely_initial = manta_get_in_velocity_y(mds->fluid);
- float *velz_initial = manta_get_in_velocity_z(mds->fluid);
+ if (fds->type == FLUID_DOMAIN_TYPE_GAS && fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ adaptive_domain_adjust(fds, ob, bb_maps, numflowobjs, dt);
+ }
+
+ float *phi_in = manta_get_phi_in(fds->fluid);
+ float *phistatic_in = manta_get_phistatic_in(fds->fluid);
+ float *phiout_in = manta_get_phiout_in(fds->fluid);
+ float *phioutstatic_in = manta_get_phioutstatic_in(fds->fluid);
+
+ float *density = manta_smoke_get_density(fds->fluid);
+ float *color_r = manta_smoke_get_color_r(fds->fluid);
+ float *color_g = manta_smoke_get_color_g(fds->fluid);
+ float *color_b = manta_smoke_get_color_b(fds->fluid);
+ float *fuel = manta_smoke_get_fuel(fds->fluid);
+ float *heat = manta_smoke_get_heat(fds->fluid);
+ float *react = manta_smoke_get_react(fds->fluid);
+
+ float *density_in = manta_smoke_get_density_in(fds->fluid);
+ float *heat_in = manta_smoke_get_heat_in(fds->fluid);
+ float *color_r_in = manta_smoke_get_color_r_in(fds->fluid);
+ float *color_g_in = manta_smoke_get_color_g_in(fds->fluid);
+ float *color_b_in = manta_smoke_get_color_b_in(fds->fluid);
+ float *fuel_in = manta_smoke_get_fuel_in(fds->fluid);
+ float *react_in = manta_smoke_get_react_in(fds->fluid);
+ float *emission_in = manta_smoke_get_emission_in(fds->fluid);
+
+ float *velx_initial = manta_get_in_velocity_x(fds->fluid);
+ float *vely_initial = manta_get_in_velocity_y(fds->fluid);
+ float *velz_initial = manta_get_in_velocity_z(fds->fluid);
uint z;
/* Grid reset before writing again. */
- for (z = 0; z < mds->res[0] * mds->res[1] * mds->res[2]; z++) {
+ for (z = 0; z < fds->res[0] * fds->res[1] * fds->res[2]; z++) {
/* Only reset static phi on first frame, dynamic phi gets reset every time. */
if (phistatic_in && is_first_frame) {
phistatic_in[z] = PHI_MAX;
@@ -2978,23 +2978,23 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
/* Apply emission data for every flow object. */
for (int flow_index = 0; flow_index < numflowobjs; flow_index++) {
Object *flowobj = flowobjs[flow_index];
- FluidModifierData *mmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flowobj,
+ FluidModifierData *fmd2 = (FluidModifierData *)BKE_modifiers_findby_type(flowobj,
eModifierType_Fluid);
/* Sanity check. */
- if (!mmd2) {
+ if (!fmd2) {
continue;
}
/* Check for initialized flow object. */
- if ((mmd2->type & MOD_FLUID_TYPE_FLOW) && mmd2->flow) {
- FluidFlowSettings *mfs = mmd2->flow;
+ if ((fmd2->type & MOD_FLUID_TYPE_FLOW) && fmd2->flow) {
+ FluidFlowSettings *ffs = fmd2->flow;
- bool is_inflow = (mfs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW);
- bool is_geometry = (mfs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY);
- bool is_outflow = (mfs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW);
+ bool is_inflow = (ffs->behavior == FLUID_FLOW_BEHAVIOR_INFLOW);
+ bool is_geometry = (ffs->behavior == FLUID_FLOW_BEHAVIOR_GEOMETRY);
+ bool is_outflow = (ffs->behavior == FLUID_FLOW_BEHAVIOR_OUTFLOW);
bool is_static = is_static_object(flowobj) &&
- ((mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0);
+ ((fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0);
FluidObjectBB *bb = &bb_maps[flow_index];
float *velocity_map = bb->velocity;
@@ -3015,13 +3015,13 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
e_index = manta_get_index(ex, bb->res[0], ey, bb->res[1], ez);
/* Get domain index. */
- dx = gx - mds->res_min[0];
- dy = gy - mds->res_min[1];
- dz = gz - mds->res_min[2];
- d_index = manta_get_index(dx, mds->res[0], dy, mds->res[1], dz);
+ dx = gx - fds->res_min[0];
+ dy = gy - fds->res_min[1];
+ dz = gz - fds->res_min[2];
+ d_index = manta_get_index(dx, fds->res[0], dy, fds->res[1], dz);
/* Make sure emission cell is inside the new domain boundary. */
- if (dx < 0 || dy < 0 || dz < 0 || dx >= mds->res[0] || dy >= mds->res[1] ||
- dz >= mds->res[2]) {
+ if (dx < 0 || dy < 0 || dz < 0 || dx >= fds->res[0] || dy >= fds->res[1] ||
+ dz >= fds->res[2]) {
continue;
}
@@ -3042,7 +3042,7 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
}
/* Do not apply inflow after the first frame when in geometry mode. */
else if (is_geometry && !is_first_frame) {
- apply_inflow_fields(mfs,
+ apply_inflow_fields(ffs,
0.0f,
PHI_MAX,
d_index,
@@ -3068,7 +3068,7 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
float *levelset = ((is_first_frame || is_resume) && is_static && !is_geometry) ?
phistatic_in :
phi_in;
- apply_inflow_fields(mfs,
+ apply_inflow_fields(ffs,
emission_map[e_index],
distance_map[e_index],
d_index,
@@ -3088,7 +3088,7 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
color_b,
levelset,
emission_in);
- if (mfs->flags & FLUID_FLOW_INITVELOCITY) {
+ if (ffs->flags & FLUID_FLOW_INITVELOCITY) {
/* Use the initial velocity from the inflow object with the highest velocity for
* now. */
float vel_initial[3];
@@ -3119,7 +3119,7 @@ static void update_flowsfluids(struct Depsgraph *depsgraph,
typedef struct UpdateEffectorsData {
Scene *scene;
- FluidDomainSettings *mds;
+ FluidDomainSettings *fds;
ListBase *effectors;
float *density;
@@ -3139,14 +3139,14 @@ static void update_effectors_task_cb(void *__restrict userdata,
const TaskParallelTLS *__restrict UNUSED(tls))
{
UpdateEffectorsData *data = userdata;
- FluidDomainSettings *mds = data->mds;
+ FluidDomainSettings *fds = data->fds;
- for (int y = 0; y < mds->res[1]; y++) {
- for (int z = 0; z < mds->res[2]; z++) {
+ for (int y = 0; y < fds->res[1]; y++) {
+ for (int z = 0; z < fds->res[2]; z++) {
EffectedPoint epoint;
float mag;
float voxel_center[3] = {0, 0, 0}, vel[3] = {0, 0, 0}, retvel[3] = {0, 0, 0};
- const uint index = manta_get_index(x, mds->res[0], y, mds->res[1], z);
+ const uint index = manta_get_index(x, fds->res[0], y, fds->res[1], z);
if ((data->fuel && MAX2(data->density[index], data->fuel[index]) < FLT_EPSILON) ||
(data->density && data->density[index] < FLT_EPSILON) ||
@@ -3160,27 +3160,27 @@ static void update_effectors_task_cb(void *__restrict userdata,
vel[0] = data->velocity_x[index];
vel[1] = data->velocity_y[index];
vel[2] = data->velocity_z[index];
- mul_v3_fl(vel, mds->dx);
+ mul_v3_fl(vel, fds->dx);
/* convert vel to global space */
mag = len_v3(vel);
- mul_mat3_m4_v3(mds->obmat, vel);
+ mul_mat3_m4_v3(fds->obmat, vel);
normalize_v3(vel);
mul_v3_fl(vel, mag);
- voxel_center[0] = mds->p0[0] + mds->cell_size[0] * ((float)(x + mds->res_min[0]) + 0.5f);
- voxel_center[1] = mds->p0[1] + mds->cell_size[1] * ((float)(y + mds->res_min[1]) + 0.5f);
- voxel_center[2] = mds->p0[2] + mds->cell_size[2] * ((float)(z + mds->res_min[2]) + 0.5f);
- mul_m4_v3(mds->obmat, voxel_center);
+ voxel_center[0] = fds->p0[0] + fds->cell_size[0] * ((float)(x + fds->res_min[0]) + 0.5f);
+ voxel_center[1] = fds->p0[1] + fds->cell_size[1] * ((float)(y + fds->res_min[1]) + 0.5f);
+ voxel_center[2] = fds->p0[2] + fds->cell_size[2] * ((float)(z + fds->res_min[2]) + 0.5f);
+ mul_m4_v3(fds->obmat, voxel_center);
/* do effectors */
pd_point_from_loc(data->scene, voxel_center, vel, index, &epoint);
BKE_effectors_apply(
- data->effectors, NULL, mds->effector_weights, &epoint, retvel, NULL, NULL);
+ data->effectors, NULL, fds->effector_weights, &epoint, retvel, NULL, NULL);
/* convert retvel to local space */
mag = len_v3(retvel);
- mul_mat3_m4_v3(mds->imat, retvel);
+ mul_mat3_m4_v3(fds->imat, retvel);
normalize_v3(retvel);
mul_v3_fl(retvel, mag);
@@ -3193,40 +3193,40 @@ static void update_effectors_task_cb(void *__restrict userdata,
}
static void update_effectors(
- Depsgraph *depsgraph, Scene *scene, Object *ob, FluidDomainSettings *mds, float UNUSED(dt))
+ Depsgraph *depsgraph, Scene *scene, Object *ob, FluidDomainSettings *fds, float UNUSED(dt))
{
ListBase *effectors;
/* make sure smoke flow influence is 0.0f */
- mds->effector_weights->weight[PFIELD_FLUIDFLOW] = 0.0f;
- effectors = BKE_effectors_create(depsgraph, ob, NULL, mds->effector_weights);
+ fds->effector_weights->weight[PFIELD_FLUIDFLOW] = 0.0f;
+ effectors = BKE_effectors_create(depsgraph, ob, NULL, fds->effector_weights);
if (effectors) {
// precalculate wind forces
UpdateEffectorsData data;
data.scene = scene;
- data.mds = mds;
+ data.fds = fds;
data.effectors = effectors;
- data.density = manta_smoke_get_density(mds->fluid);
- data.fuel = manta_smoke_get_fuel(mds->fluid);
- data.force_x = manta_get_force_x(mds->fluid);
- data.force_y = manta_get_force_y(mds->fluid);
- data.force_z = manta_get_force_z(mds->fluid);
- data.velocity_x = manta_get_velocity_x(mds->fluid);
- data.velocity_y = manta_get_velocity_y(mds->fluid);
- data.velocity_z = manta_get_velocity_z(mds->fluid);
- data.flags = manta_smoke_get_flags(mds->fluid);
- data.phi_obs_in = manta_get_phiobs_in(mds->fluid);
+ data.density = manta_smoke_get_density(fds->fluid);
+ data.fuel = manta_smoke_get_fuel(fds->fluid);
+ data.force_x = manta_get_force_x(fds->fluid);
+ data.force_y = manta_get_force_y(fds->fluid);
+ data.force_z = manta_get_force_z(fds->fluid);
+ data.velocity_x = manta_get_velocity_x(fds->fluid);
+ data.velocity_y = manta_get_velocity_y(fds->fluid);
+ data.velocity_z = manta_get_velocity_z(fds->fluid);
+ data.flags = manta_smoke_get_flags(fds->fluid);
+ data.phi_obs_in = manta_get_phiobs_in(fds->fluid);
TaskParallelSettings settings;
BLI_parallel_range_settings_defaults(&settings);
settings.min_iter_per_thread = 2;
- BLI_task_parallel_range(0, mds->res[0], &data, update_effectors_task_cb, &settings);
+ BLI_task_parallel_range(0, fds->res[0], &data, update_effectors_task_cb, &settings);
}
BKE_effectors_free(effectors);
}
-static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Object *ob)
+static Mesh *create_liquid_geometry(FluidDomainSettings *fds, Mesh *orgmesh, Object *ob)
{
Mesh *me;
MVert *mverts;
@@ -3254,13 +3254,13 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
int i;
int num_verts, num_normals, num_faces;
- if (!mds->fluid) {
+ if (!fds->fluid) {
return NULL;
}
- num_verts = manta_liquid_get_num_verts(mds->fluid);
- num_normals = manta_liquid_get_num_normals(mds->fluid);
- num_faces = manta_liquid_get_num_triangles(mds->fluid);
+ num_verts = manta_liquid_get_num_verts(fds->fluid);
+ num_normals = manta_liquid_get_num_normals(fds->fluid);
+ num_faces = manta_liquid_get_num_triangles(fds->fluid);
# ifdef DEBUG_PRINT
/* Debugging: Print number of vertices, normals, and faces. */
@@ -3274,19 +3274,19 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
BLI_assert(num_verts == num_normals);
/* If needed, vertex velocities will be read too. */
- bool use_speedvectors = mds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS;
+ bool use_speedvectors = fds->flags & FLUID_DOMAIN_USE_SPEED_VECTORS;
FluidDomainVertexVelocity *velarray = NULL;
float time_mult = 25.f * DT_DEFAULT;
if (use_speedvectors) {
- if (mds->mesh_velocities) {
- MEM_freeN(mds->mesh_velocities);
+ if (fds->mesh_velocities) {
+ MEM_freeN(fds->mesh_velocities);
}
- mds->mesh_velocities = MEM_calloc_arrayN(
+ fds->mesh_velocities = MEM_calloc_arrayN(
num_verts, sizeof(FluidDomainVertexVelocity), "fluid_mesh_vertvelocities");
- mds->totvert = num_verts;
- velarray = mds->mesh_velocities;
+ fds->totvert = num_verts;
+ velarray = fds->mesh_velocities;
}
me = BKE_mesh_new_nomain(num_verts, 0, 0, num_faces * 3, num_faces);
@@ -3298,10 +3298,10 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
mloops = me->mloop;
/* Get size (dimension) but considering scaling scaling. */
- copy_v3_v3(cell_size_scaled, mds->cell_size);
+ copy_v3_v3(cell_size_scaled, fds->cell_size);
mul_v3_v3(cell_size_scaled, ob->scale);
- madd_v3fl_v3fl_v3fl_v3i(min, mds->p0, cell_size_scaled, mds->res_min);
- madd_v3fl_v3fl_v3fl_v3i(max, mds->p0, cell_size_scaled, mds->res_max);
+ madd_v3fl_v3fl_v3fl_v3i(min, fds->p0, cell_size_scaled, fds->res_min);
+ madd_v3fl_v3fl_v3fl_v3i(max, fds->p0, cell_size_scaled, fds->res_max);
sub_v3_v3v3(size, max, min);
/* Biggest dimension will be used for upscaling. */
@@ -3313,9 +3313,9 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
co_scale[2] = max_size / ob->scale[2];
float co_offset[3];
- co_offset[0] = (mds->p0[0] + mds->p1[0]) / 2.0f;
- co_offset[1] = (mds->p0[1] + mds->p1[1]) / 2.0f;
- co_offset[2] = (mds->p0[2] + mds->p1[2]) / 2.0f;
+ co_offset[0] = (fds->p0[0] + fds->p1[0]) / 2.0f;
+ co_offset[1] = (fds->p0[1] + fds->p1[1]) / 2.0f;
+ co_offset[2] = (fds->p0[2] + fds->p1[2]) / 2.0f;
/* Normals. */
normals = MEM_callocN(sizeof(short) * num_normals * 3, "Fluidmesh_tmp_normals");
@@ -3324,20 +3324,20 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
for (i = 0, no_s = normals; i < num_verts && i < num_normals; i++, mverts++, no_s += 3) {
/* Vertices (data is normalized cube around domain origin). */
- mverts->co[0] = manta_liquid_get_vertex_x_at(mds->fluid, i);
- mverts->co[1] = manta_liquid_get_vertex_y_at(mds->fluid, i);
- mverts->co[2] = manta_liquid_get_vertex_z_at(mds->fluid, i);
+ mverts->co[0] = manta_liquid_get_vertex_x_at(fds->fluid, i);
+ mverts->co[1] = manta_liquid_get_vertex_y_at(fds->fluid, i);
+ mverts->co[2] = manta_liquid_get_vertex_z_at(fds->fluid, i);
/* If reading raw data directly from manta, normalize now (e.g. during replay mode).
* If reading data from files from disk, omit this normalization. */
- if (!manta_liquid_mesh_from_file(mds->fluid)) {
+ if (!manta_liquid_mesh_from_file(fds->fluid)) {
// normalize to unit cube around 0
- mverts->co[0] -= ((float)mds->res[0] * mds->mesh_scale) * 0.5f;
- mverts->co[1] -= ((float)mds->res[1] * mds->mesh_scale) * 0.5f;
- mverts->co[2] -= ((float)mds->res[2] * mds->mesh_scale) * 0.5f;
- mverts->co[0] *= mds->dx / mds->mesh_scale;
- mverts->co[1] *= mds->dx / mds->mesh_scale;
- mverts->co[2] *= mds->dx / mds->mesh_scale;
+ mverts->co[0] -= ((float)fds->res[0] * fds->mesh_scale) * 0.5f;
+ mverts->co[1] -= ((float)fds->res[1] * fds->mesh_scale) * 0.5f;
+ mverts->co[2] -= ((float)fds->res[2] * fds->mesh_scale) * 0.5f;
+ mverts->co[0] *= fds->dx / fds->mesh_scale;
+ mverts->co[1] *= fds->dx / fds->mesh_scale;
+ mverts->co[2] *= fds->dx / fds->mesh_scale;
}
mul_v3_v3(mverts->co, co_scale);
@@ -3352,9 +3352,9 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
# endif
/* Normals (data is normalized cube around domain origin). */
- no[0] = manta_liquid_get_normal_x_at(mds->fluid, i);
- no[1] = manta_liquid_get_normal_y_at(mds->fluid, i);
- no[2] = manta_liquid_get_normal_z_at(mds->fluid, i);
+ no[0] = manta_liquid_get_normal_x_at(fds->fluid, i);
+ no[1] = manta_liquid_get_normal_y_at(fds->fluid, i);
+ no[2] = manta_liquid_get_normal_z_at(fds->fluid, i);
normal_float_to_short_v3(no_s, no);
# ifdef DEBUG_PRINT
@@ -3363,9 +3363,9 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
# endif
if (use_speedvectors) {
- velarray[i].vel[0] = manta_liquid_get_vertvel_x_at(mds->fluid, i) * (mds->dx / time_mult);
- velarray[i].vel[1] = manta_liquid_get_vertvel_y_at(mds->fluid, i) * (mds->dx / time_mult);
- velarray[i].vel[2] = manta_liquid_get_vertvel_z_at(mds->fluid, i) * (mds->dx / time_mult);
+ velarray[i].vel[0] = manta_liquid_get_vertvel_x_at(fds->fluid, i) * (fds->dx / time_mult);
+ velarray[i].vel[1] = manta_liquid_get_vertvel_y_at(fds->fluid, i) * (fds->dx / time_mult);
+ velarray[i].vel[2] = manta_liquid_get_vertvel_z_at(fds->fluid, i) * (fds->dx / time_mult);
# ifdef DEBUG_PRINT
/* Debugging: Print velocities of vertices. */
printf("velarray[%d].vel[0]: %f, velarray[%d].vel[1]: %f, velarray[%d].vel[2]: %f\n",
@@ -3388,9 +3388,9 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
mpolys->loopstart = i * 3;
mpolys->totloop = 3;
- mloops[0].v = manta_liquid_get_triangle_x_at(mds->fluid, i);
- mloops[1].v = manta_liquid_get_triangle_y_at(mds->fluid, i);
- mloops[2].v = manta_liquid_get_triangle_z_at(mds->fluid, i);
+ mloops[0].v = manta_liquid_get_triangle_x_at(fds->fluid, i);
+ mloops[1].v = manta_liquid_get_triangle_y_at(fds->fluid, i);
+ mloops[2].v = manta_liquid_get_triangle_z_at(fds->fluid, i);
# ifdef DEBUG_PRINT
/* Debugging: Print mesh faces. */
printf("mloops[0].v: %d, mloops[1].v: %d, mloops[2].v: %d\n",
@@ -3409,7 +3409,7 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
return me;
}
-static Mesh *create_smoke_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Object *ob)
+static Mesh *create_smoke_geometry(FluidDomainSettings *fds, Mesh *orgmesh, Object *ob)
{
Mesh *result;
MVert *mverts;
@@ -3428,7 +3428,7 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obje
float ob_cache_loc[3] = {0};
/* Just copy existing mesh if there is no content or if the adaptive domain is not being used. */
- if (mds->total_cells <= 1 || (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0) {
+ if (fds->total_cells <= 1 || (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) == 0) {
return BKE_mesh_copy_for_eval(orgmesh, false);
}
@@ -3439,8 +3439,8 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obje
if (num_verts) {
/* Volume bounds. */
- madd_v3fl_v3fl_v3fl_v3i(min, mds->p0, mds->cell_size, mds->res_min);
- madd_v3fl_v3fl_v3fl_v3i(max, mds->p0, mds->cell_size, mds->res_max);
+ madd_v3fl_v3fl_v3fl_v3i(min, fds->p0, fds->cell_size, fds->res_min);
+ madd_v3fl_v3fl_v3fl_v3i(max, fds->p0, fds->cell_size, fds->res_max);
/* Set vertices of smoke BB. Especially important, when BB changes (adaptive domain). */
/* Top slab */
@@ -3538,13 +3538,13 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obje
* it was originally simulated at (if object moves without manta step). */
invert_m4_m4(ob->imat, ob->obmat);
mul_m4_v3(ob->obmat, ob_loc);
- mul_m4_v3(mds->obmat, ob_cache_loc);
- sub_v3_v3v3(mds->obj_shift_f, ob_cache_loc, ob_loc);
+ mul_m4_v3(fds->obmat, ob_cache_loc);
+ sub_v3_v3v3(fds->obj_shift_f, ob_cache_loc, ob_loc);
/* Convert shift to local space and apply to vertices. */
- mul_mat3_m4_v3(ob->imat, mds->obj_shift_f);
+ mul_mat3_m4_v3(ob->imat, fds->obj_shift_f);
/* Apply shift to vertices. */
for (i = 0; i < num_verts; i++) {
- add_v3_v3(mverts[i].co, mds->obj_shift_f);
+ add_v3_v3(mverts[i].co, fds->obj_shift_f);
}
}
@@ -3554,49 +3554,49 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obje
}
static int manta_step(
- Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me, FluidModifierData *mmd, int frame)
+ Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me, FluidModifierData *fmd, int frame)
{
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
float dt, frame_length, time_total, time_total_old;
float time_per_frame;
bool init_resolution = true;
/* Store baking success - bake might be aborted anytime by user. */
int result = 1;
- int mode = mds->cache_type;
+ int mode = fds->cache_type;
bool mode_replay = (mode == FLUID_DOMAIN_CACHE_REPLAY);
/* Update object state. */
- invert_m4_m4(mds->imat, ob->obmat);
- copy_m4_m4(mds->obmat, ob->obmat);
+ invert_m4_m4(fds->imat, ob->obmat);
+ copy_m4_m4(fds->obmat, ob->obmat);
/* Gas domain might use adaptive domain. */
- if (mds->type == FLUID_DOMAIN_TYPE_GAS) {
- init_resolution = (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) != 0;
+ if (fds->type == FLUID_DOMAIN_TYPE_GAS) {
+ init_resolution = (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) != 0;
}
- manta_set_domain_from_mesh(mds, ob, me, init_resolution);
+ manta_set_domain_from_mesh(fds, ob, me, init_resolution);
/* Use local variables for adaptive loop, dt can change. */
- frame_length = mds->frame_length;
- dt = mds->dt;
+ frame_length = fds->frame_length;
+ dt = fds->dt;
time_per_frame = 0;
- time_total = mds->time_total;
+ time_total = fds->time_total;
/* Keep track of original total time to correct small errors at end of step. */
- time_total_old = mds->time_total;
+ time_total_old = fds->time_total;
BLI_mutex_lock(&object_update_lock);
/* Loop as long as time_per_frame (sum of sub dt's) does not exceed actual framelength. */
while (time_per_frame + FLT_EPSILON < frame_length) {
- manta_adapt_timestep(mds->fluid);
- dt = manta_get_timestep(mds->fluid);
+ manta_adapt_timestep(fds->fluid);
+ dt = manta_get_timestep(fds->fluid);
/* Save adapted dt so that MANTA object can access it (important when adaptive domain creates
* new MANTA object). */
- mds->dt = dt;
+ fds->dt = dt;
/* Calculate inflow geometry. */
- update_flowsfluids(depsgraph, scene, ob, mds, time_per_frame, frame_length, frame, dt);
+ update_flowsfluids(depsgraph, scene, ob, fds, time_per_frame, frame_length, frame, dt);
/* If user requested stop, quit baking */
if (G.is_break && !mode_replay) {
@@ -3604,10 +3604,10 @@ static int manta_step(
break;
}
- manta_update_variables(mds->fluid, mmd);
+ manta_update_variables(fds->fluid, fmd);
/* Calculate obstacle geometry. */
- update_obstacles(depsgraph, scene, ob, mds, time_per_frame, frame_length, frame, dt);
+ update_obstacles(depsgraph, scene, ob, fds, time_per_frame, frame_length, frame, dt);
/* If user requested stop, quit baking */
if (G.is_break && !mode_replay) {
@@ -3616,23 +3616,23 @@ static int manta_step(
}
/* Only bake if the domain is bigger than one cell (important for adaptive domain). */
- if (mds->total_cells > 1) {
- update_effectors(depsgraph, scene, ob, mds, dt);
- manta_bake_data(mds->fluid, mmd, frame);
+ if (fds->total_cells > 1) {
+ update_effectors(depsgraph, scene, ob, fds, dt);
+ manta_bake_data(fds->fluid, fmd, frame);
}
/* Count for how long this while loop is running. */
time_per_frame += dt;
time_total += dt;
- mds->time_per_frame = time_per_frame;
- mds->time_total = time_total;
+ fds->time_per_frame = time_per_frame;
+ fds->time_total = time_total;
}
/* Total time must not exceed framecount times framelength. Correct tiny errors here. */
- CLAMP(mds->time_total, mds->time_total, time_total_old + mds->frame_length);
+ CLAMP(fds->time_total, fds->time_total, time_total_old + fds->frame_length);
- if (mds->type == FLUID_DOMAIN_TYPE_GAS && result) {
- manta_smoke_calc_transparency(mds, DEG_get_evaluated_view_layer(depsgraph));
+ if (fds->type == FLUID_DOMAIN_TYPE_GAS && result) {
+ manta_smoke_calc_transparency(fds, DEG_get_evaluated_view_layer(depsgraph));
}
BLI_mutex_unlock(&object_update_lock);
@@ -3640,136 +3640,136 @@ static int manta_step(
}
static void manta_guiding(
- Depsgraph *depsgraph, Scene *scene, Object *ob, FluidModifierData *mmd, int frame)
+ Depsgraph *depsgraph, Scene *scene, Object *ob, FluidModifierData *fmd, int frame)
{
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
float fps = scene->r.frs_sec / scene->r.frs_sec_base;
- float dt = DT_DEFAULT * (25.0f / fps) * mds->time_scale;
+ float dt = DT_DEFAULT * (25.0f / fps) * fds->time_scale;
BLI_mutex_lock(&object_update_lock);
- update_obstacles(depsgraph, scene, ob, mds, dt, dt, frame, dt);
- manta_bake_guiding(mds->fluid, mmd, frame);
+ update_obstacles(depsgraph, scene, ob, fds, dt, dt, frame, dt);
+ manta_bake_guiding(fds->fluid, fmd, frame);
BLI_mutex_unlock(&object_update_lock);
}
-static void BKE_fluid_modifier_processFlow(FluidModifierData *mmd,
+static void BKE_fluid_modifier_processFlow(FluidModifierData *fmd,
Depsgraph *depsgraph,
Scene *scene,
Object *ob,
Mesh *me,
const int scene_framenr)
{
- if (scene_framenr >= mmd->time) {
- BKE_fluid_modifier_init(mmd, depsgraph, ob, scene, me);
+ if (scene_framenr >= fmd->time) {
+ BKE_fluid_modifier_init(fmd, depsgraph, ob, scene, me);
}
- if (mmd->flow) {
- if (mmd->flow->mesh) {
- BKE_id_free(NULL, mmd->flow->mesh);
+ if (fmd->flow) {
+ if (fmd->flow->mesh) {
+ BKE_id_free(NULL, fmd->flow->mesh);
}
- mmd->flow->mesh = BKE_mesh_copy_for_eval(me, false);
+ fmd->flow->mesh = BKE_mesh_copy_for_eval(me, false);
}
- if (scene_framenr > mmd->time) {
- mmd->time = scene_framenr;
+ if (scene_framenr > fmd->time) {
+ fmd->time = scene_framenr;
}
- else if (scene_framenr < mmd->time) {
- mmd->time = scene_framenr;
- BKE_fluid_modifier_reset_ex(mmd, false);
+ else if (scene_framenr < fmd->time) {
+ fmd->time = scene_framenr;
+ BKE_fluid_modifier_reset_ex(fmd, false);
}
}
-static void BKE_fluid_modifier_processEffector(FluidModifierData *mmd,
+static void BKE_fluid_modifier_processEffector(FluidModifierData *fmd,
Depsgraph *depsgraph,
Scene *scene,
Object *ob,
Mesh *me,
const int scene_framenr)
{
- if (scene_framenr >= mmd->time) {
- BKE_fluid_modifier_init(mmd, depsgraph, ob, scene, me);
+ if (scene_framenr >= fmd->time) {
+ BKE_fluid_modifier_init(fmd, depsgraph, ob, scene, me);
}
- if (mmd->effector) {
- if (mmd->effector->mesh) {
- BKE_id_free(NULL, mmd->effector->mesh);
+ if (fmd->effector) {
+ if (fmd->effector->mesh) {
+ BKE_id_free(NULL, fmd->effector->mesh);
}
- mmd->effector->mesh = BKE_mesh_copy_for_eval(me, false);
+ fmd->effector->mesh = BKE_mesh_copy_for_eval(me, false);
}
- if (scene_framenr > mmd->time) {
- mmd->time = scene_framenr;
+ if (scene_framenr > fmd->time) {
+ fmd->time = scene_framenr;
}
- else if (scene_framenr < mmd->time) {
- mmd->time = scene_framenr;
- BKE_fluid_modifier_reset_ex(mmd, false);
+ else if (scene_framenr < fmd->time) {
+ fmd->time = scene_framenr;
+ BKE_fluid_modifier_reset_ex(fmd, false);
}
}
-static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
+static void BKE_fluid_modifier_processDomain(FluidModifierData *fmd,
Depsgraph *depsgraph,
Scene *scene,
Object *ob,
Mesh *me,
const int scene_framenr)
{
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
Object *guide_parent = NULL;
Object **objs = NULL;
uint numobj = 0;
- FluidModifierData *mmd_parent = NULL;
+ FluidModifierData *fmd_parent = NULL;
bool is_startframe, has_advanced;
- is_startframe = (scene_framenr == mds->cache_frame_start);
- has_advanced = (scene_framenr == mmd->time + 1);
- int mode = mds->cache_type;
+ is_startframe = (scene_framenr == fds->cache_frame_start);
+ has_advanced = (scene_framenr == fmd->time + 1);
+ int mode = fds->cache_type;
/* Do not process modifier if current frame is out of cache range. */
switch (mode) {
case FLUID_DOMAIN_CACHE_ALL:
case FLUID_DOMAIN_CACHE_MODULAR:
- if (mds->cache_frame_offset > 0) {
- if (scene_framenr < mds->cache_frame_start ||
- scene_framenr > mds->cache_frame_end + mds->cache_frame_offset) {
+ if (fds->cache_frame_offset > 0) {
+ if (scene_framenr < fds->cache_frame_start ||
+ scene_framenr > fds->cache_frame_end + fds->cache_frame_offset) {
return;
}
}
else {
- if (scene_framenr < mds->cache_frame_start + mds->cache_frame_offset ||
- scene_framenr > mds->cache_frame_end) {
+ if (scene_framenr < fds->cache_frame_start + fds->cache_frame_offset ||
+ scene_framenr > fds->cache_frame_end) {
return;
}
}
break;
case FLUID_DOMAIN_CACHE_REPLAY:
default:
- if (scene_framenr < mds->cache_frame_start || scene_framenr > mds->cache_frame_end) {
+ if (scene_framenr < fds->cache_frame_start || scene_framenr > fds->cache_frame_end) {
return;
}
break;
}
/* Reset fluid if no fluid present. Also resets active fields. */
- if (!mds->fluid) {
- BKE_fluid_modifier_reset_ex(mmd, false);
+ if (!fds->fluid) {
+ BKE_fluid_modifier_reset_ex(fmd, false);
}
/* Ensure cache directory is not relative. */
const char *relbase = BKE_modifier_path_relbase_from_global(ob);
- BLI_path_abs(mds->cache_directory, relbase);
+ BLI_path_abs(fds->cache_directory, relbase);
/* Ensure that all flags are up to date before doing any baking and/or cache reading. */
objs = BKE_collision_objects_create(
- depsgraph, ob, mds->fluid_group, &numobj, eModifierType_Fluid);
- update_flowsflags(mds, objs, numobj);
+ depsgraph, ob, fds->fluid_group, &numobj, eModifierType_Fluid);
+ update_flowsflags(fds, objs, numobj);
if (objs) {
MEM_freeN(objs);
}
objs = BKE_collision_objects_create(
- depsgraph, ob, mds->effector_group, &numobj, eModifierType_Fluid);
- update_obstacleflags(mds, objs, numobj);
+ depsgraph, ob, fds->effector_group, &numobj, eModifierType_Fluid);
+ update_obstacleflags(fds, objs, numobj);
if (objs) {
MEM_freeN(objs);
}
@@ -3778,112 +3778,112 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
# if 0
/* If the just updated flags now carry the 'outdated' flag, reset the cache here!
* Plus sanity check: Do not clear cache on file load. */
- if (mds->cache_flag & FLUID_DOMAIN_OUTDATED_DATA &&
- ((mds->flags & FLUID_DOMAIN_FILE_LOAD) == 0)) {
- BKE_fluid_cache_free_all(mds, ob);
- BKE_fluid_modifier_reset_ex(mmd, false);
+ if (fds->cache_flag & FLUID_DOMAIN_OUTDATED_DATA &&
+ ((fds->flags & FLUID_DOMAIN_FILE_LOAD) == 0)) {
+ BKE_fluid_cache_free_all(fds, ob);
+ BKE_fluid_modifier_reset_ex(fmd, false);
}
# endif
/* Fluid domain init must not fail in order to continue modifier evaluation. */
- if (!mds->fluid && !BKE_fluid_modifier_init(mmd, depsgraph, ob, scene, me)) {
+ if (!fds->fluid && !BKE_fluid_modifier_init(fmd, depsgraph, ob, scene, me)) {
CLOG_ERROR(&LOG, "Fluid initialization failed. Should not happen!");
return;
}
- BLI_assert(mds->fluid);
+ BLI_assert(fds->fluid);
/* Guiding parent res pointer needs initialization. */
- guide_parent = mds->guide_parent;
+ guide_parent = fds->guide_parent;
if (guide_parent) {
- mmd_parent = (FluidModifierData *)BKE_modifiers_findby_type(guide_parent, eModifierType_Fluid);
- if (mmd_parent && mmd_parent->domain) {
- copy_v3_v3_int(mds->guide_res, mmd_parent->domain->res);
+ fmd_parent = (FluidModifierData *)BKE_modifiers_findby_type(guide_parent, eModifierType_Fluid);
+ if (fmd_parent && fmd_parent->domain) {
+ copy_v3_v3_int(fds->guide_res, fmd_parent->domain->res);
}
}
/* Ensure that time parameters are initialized correctly before every step. */
float fps = scene->r.frs_sec / scene->r.frs_sec_base;
- mds->frame_length = DT_DEFAULT * (25.0f / fps) * mds->time_scale;
- mds->dt = mds->frame_length;
- mds->time_per_frame = 0;
+ fds->frame_length = DT_DEFAULT * (25.0f / fps) * fds->time_scale;
+ fds->dt = fds->frame_length;
+ fds->time_per_frame = 0;
/* Ensure that gravity is copied over every frame (could be keyframed). */
if (scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {
- copy_v3_v3(mds->gravity, scene->physics_settings.gravity);
- mul_v3_fl(mds->gravity, mds->effector_weights->global_gravity);
+ copy_v3_v3(fds->gravity, scene->physics_settings.gravity);
+ mul_v3_fl(fds->gravity, fds->effector_weights->global_gravity);
}
int next_frame = scene_framenr + 1;
int prev_frame = scene_framenr - 1;
/* Ensure positive of previous frame. */
- CLAMP_MIN(prev_frame, mds->cache_frame_start);
+ CLAMP_MIN(prev_frame, fds->cache_frame_start);
int data_frame = scene_framenr, noise_frame = scene_framenr;
int mesh_frame = scene_framenr, particles_frame = scene_framenr, guide_frame = scene_framenr;
bool with_smoke, with_liquid;
- with_smoke = mds->type == FLUID_DOMAIN_TYPE_GAS;
- with_liquid = mds->type == FLUID_DOMAIN_TYPE_LIQUID;
+ with_smoke = fds->type == FLUID_DOMAIN_TYPE_GAS;
+ with_liquid = fds->type == FLUID_DOMAIN_TYPE_LIQUID;
bool drops, bubble, floater;
- drops = mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY;
- bubble = mds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE;
- floater = mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM;
+ drops = fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY;
+ bubble = fds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE;
+ floater = fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM;
- bool with_resumable_cache = mds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE;
+ bool with_resumable_cache = fds->flags & FLUID_DOMAIN_USE_RESUMABLE_CACHE;
bool with_script, with_adaptive, with_noise, with_mesh, with_particles, with_guide;
- with_script = mds->flags & FLUID_DOMAIN_EXPORT_MANTA_SCRIPT;
- with_adaptive = mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN;
- with_noise = mds->flags & FLUID_DOMAIN_USE_NOISE;
- with_mesh = mds->flags & FLUID_DOMAIN_USE_MESH;
- with_guide = mds->flags & FLUID_DOMAIN_USE_GUIDE;
+ with_script = fds->flags & FLUID_DOMAIN_EXPORT_MANTA_SCRIPT;
+ with_adaptive = fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN;
+ with_noise = fds->flags & FLUID_DOMAIN_USE_NOISE;
+ with_mesh = fds->flags & FLUID_DOMAIN_USE_MESH;
+ with_guide = fds->flags & FLUID_DOMAIN_USE_GUIDE;
with_particles = drops || bubble || floater;
bool has_data, has_noise, has_mesh, has_particles, has_guide, has_config;
- has_data = manta_has_data(mds->fluid, mmd, scene_framenr);
- has_noise = manta_has_noise(mds->fluid, mmd, scene_framenr);
- has_mesh = manta_has_mesh(mds->fluid, mmd, scene_framenr);
- has_particles = manta_has_particles(mds->fluid, mmd, scene_framenr);
- has_guide = manta_has_guiding(mds->fluid, mmd, scene_framenr, guide_parent);
+ has_data = manta_has_data(fds->fluid, fmd, scene_framenr);
+ has_noise = manta_has_noise(fds->fluid, fmd, scene_framenr);
+ has_mesh = manta_has_mesh(fds->fluid, fmd, scene_framenr);
+ has_particles = manta_has_particles(fds->fluid, fmd, scene_framenr);
+ has_guide = manta_has_guiding(fds->fluid, fmd, scene_framenr, guide_parent);
has_config = false;
bool baking_data, baking_noise, baking_mesh, baking_particles, baking_guide;
- baking_data = mds->cache_flag & FLUID_DOMAIN_BAKING_DATA;
- baking_noise = mds->cache_flag & FLUID_DOMAIN_BAKING_NOISE;
- baking_mesh = mds->cache_flag & FLUID_DOMAIN_BAKING_MESH;
- baking_particles = mds->cache_flag & FLUID_DOMAIN_BAKING_PARTICLES;
- baking_guide = mds->cache_flag & FLUID_DOMAIN_BAKING_GUIDE;
+ baking_data = fds->cache_flag & FLUID_DOMAIN_BAKING_DATA;
+ baking_noise = fds->cache_flag & FLUID_DOMAIN_BAKING_NOISE;
+ baking_mesh = fds->cache_flag & FLUID_DOMAIN_BAKING_MESH;
+ baking_particles = fds->cache_flag & FLUID_DOMAIN_BAKING_PARTICLES;
+ baking_guide = fds->cache_flag & FLUID_DOMAIN_BAKING_GUIDE;
bool resume_data, resume_noise, resume_mesh, resume_particles, resume_guide;
- resume_data = (!is_startframe) && (mds->cache_frame_pause_data == scene_framenr);
- resume_noise = (!is_startframe) && (mds->cache_frame_pause_noise == scene_framenr);
- resume_mesh = (!is_startframe) && (mds->cache_frame_pause_mesh == scene_framenr);
- resume_particles = (!is_startframe) && (mds->cache_frame_pause_particles == scene_framenr);
- resume_guide = (!is_startframe) && (mds->cache_frame_pause_guide == scene_framenr);
+ resume_data = (!is_startframe) && (fds->cache_frame_pause_data == scene_framenr);
+ resume_noise = (!is_startframe) && (fds->cache_frame_pause_noise == scene_framenr);
+ resume_mesh = (!is_startframe) && (fds->cache_frame_pause_mesh == scene_framenr);
+ resume_particles = (!is_startframe) && (fds->cache_frame_pause_particles == scene_framenr);
+ resume_guide = (!is_startframe) && (fds->cache_frame_pause_guide == scene_framenr);
bool read_cache, bake_cache;
read_cache = false;
bake_cache = baking_data || baking_noise || baking_mesh || baking_particles || baking_guide;
bool next_data, next_noise, next_mesh, next_particles, next_guide;
- next_data = manta_has_data(mds->fluid, mmd, next_frame);
- next_noise = manta_has_noise(mds->fluid, mmd, next_frame);
- next_mesh = manta_has_mesh(mds->fluid, mmd, next_frame);
- next_particles = manta_has_particles(mds->fluid, mmd, next_frame);
- next_guide = manta_has_guiding(mds->fluid, mmd, next_frame, guide_parent);
+ next_data = manta_has_data(fds->fluid, fmd, next_frame);
+ next_noise = manta_has_noise(fds->fluid, fmd, next_frame);
+ next_mesh = manta_has_mesh(fds->fluid, fmd, next_frame);
+ next_particles = manta_has_particles(fds->fluid, fmd, next_frame);
+ next_guide = manta_has_guiding(fds->fluid, fmd, next_frame, guide_parent);
bool prev_data, prev_noise, prev_mesh, prev_particles, prev_guide;
- prev_data = manta_has_data(mds->fluid, mmd, prev_frame);
- prev_noise = manta_has_noise(mds->fluid, mmd, prev_frame);
- prev_mesh = manta_has_mesh(mds->fluid, mmd, prev_frame);
- prev_particles = manta_has_particles(mds->fluid, mmd, prev_frame);
- prev_guide = manta_has_guiding(mds->fluid, mmd, prev_frame, guide_parent);
+ prev_data = manta_has_data(fds->fluid, fmd, prev_frame);
+ prev_noise = manta_has_noise(fds->fluid, fmd, prev_frame);
+ prev_mesh = manta_has_mesh(fds->fluid, fmd, prev_frame);
+ prev_particles = manta_has_particles(fds->fluid, fmd, prev_frame);
+ prev_guide = manta_has_guiding(fds->fluid, fmd, prev_frame, guide_parent);
/* Unused for now. */
UNUSED_VARS(has_guide, prev_guide, next_mesh, next_guide);
bool with_gdomain;
- with_gdomain = (mds->guide_source == FLUID_DOMAIN_GUIDE_SRC_DOMAIN);
+ with_gdomain = (fds->guide_source == FLUID_DOMAIN_GUIDE_SRC_DOMAIN);
int o_res[3], o_min[3], o_max[3], o_shift[3];
@@ -3897,10 +3897,10 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
bake_cache = false;
/* Apply frame offset. */
- data_frame -= mmd->domain->cache_frame_offset;
- noise_frame -= mmd->domain->cache_frame_offset;
- mesh_frame -= mmd->domain->cache_frame_offset;
- particles_frame -= mmd->domain->cache_frame_offset;
+ data_frame -= fmd->domain->cache_frame_offset;
+ noise_frame -= fmd->domain->cache_frame_offset;
+ mesh_frame -= fmd->domain->cache_frame_offset;
+ particles_frame -= fmd->domain->cache_frame_offset;
break;
}
@@ -3926,7 +3926,7 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
CLAMP_MAX(noise_frame, data_frame);
CLAMP_MAX(mesh_frame, data_frame);
CLAMP_MAX(particles_frame, data_frame);
- CLAMP_MAX(guide_frame, mds->cache_frame_end);
+ CLAMP_MAX(guide_frame, fds->cache_frame_end);
/* Force to read cache as we're resuming the bake */
read_cache = true;
@@ -3956,72 +3956,72 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
/* Read mesh cache. */
if (with_liquid && with_mesh) {
- has_config = manta_read_config(mds->fluid, mmd, mesh_frame);
+ has_config = manta_read_config(fds->fluid, fmd, mesh_frame);
/* Update mesh data from file is faster than via Python (manta_read_mesh()). */
- has_mesh = manta_read_mesh(mds->fluid, mmd, mesh_frame);
+ has_mesh = manta_read_mesh(fds->fluid, fmd, mesh_frame);
}
/* Read particles cache. */
if (with_liquid && with_particles) {
- has_config = manta_read_config(mds->fluid, mmd, particles_frame);
+ has_config = manta_read_config(fds->fluid, fmd, particles_frame);
read_partial = !baking_data && !baking_particles && next_particles;
read_all = !read_partial && with_resumable_cache;
- has_particles = manta_read_particles(mds->fluid, mmd, particles_frame, read_all);
+ has_particles = manta_read_particles(fds->fluid, fmd, particles_frame, read_all);
}
/* Read guide cache. */
if (with_guide) {
- FluidModifierData *mmd2 = (with_gdomain) ? mmd_parent : mmd;
- has_guide = manta_read_guiding(mds->fluid, mmd2, scene_framenr, with_gdomain);
+ FluidModifierData *fmd2 = (with_gdomain) ? fmd_parent : fmd;
+ has_guide = manta_read_guiding(fds->fluid, fmd2, scene_framenr, with_gdomain);
}
/* Read noise and data cache */
if (with_smoke && with_noise) {
- has_config = manta_read_config(mds->fluid, mmd, noise_frame);
+ has_config = manta_read_config(fds->fluid, fmd, noise_frame);
/* Only reallocate when just reading cache or when resuming during bake. */
if ((!baking_noise || (baking_noise && resume_noise)) && has_config &&
- manta_needs_realloc(mds->fluid, mmd)) {
- BKE_fluid_reallocate_fluid(mds, mds->res, 1);
+ manta_needs_realloc(fds->fluid, fmd)) {
+ BKE_fluid_reallocate_fluid(fds, fds->res, 1);
}
read_partial = !baking_data && !baking_noise && next_noise;
read_all = !read_partial && with_resumable_cache;
- has_noise = manta_read_noise(mds->fluid, mmd, noise_frame, read_all);
+ has_noise = manta_read_noise(fds->fluid, fmd, noise_frame, read_all);
/* When using the adaptive domain, copy all data that was read to a new fluid object. */
if (with_adaptive && baking_noise) {
/* Adaptive domain needs to know about current state, so save it, then copy. */
- copy_v3_v3_int(o_res, mds->res);
- copy_v3_v3_int(o_min, mds->res_min);
- copy_v3_v3_int(o_max, mds->res_max);
- copy_v3_v3_int(o_shift, mds->shift);
- if (has_config && manta_needs_realloc(mds->fluid, mmd)) {
+ copy_v3_v3_int(o_res, fds->res);
+ copy_v3_v3_int(o_min, fds->res_min);
+ copy_v3_v3_int(o_max, fds->res_max);
+ copy_v3_v3_int(o_shift, fds->shift);
+ if (has_config && manta_needs_realloc(fds->fluid, fmd)) {
BKE_fluid_reallocate_copy_fluid(
- mds, o_res, mds->res, o_min, mds->res_min, o_max, o_shift, mds->shift);
+ fds, o_res, fds->res, o_min, fds->res_min, o_max, o_shift, fds->shift);
}
}
read_partial = !baking_data && !baking_noise && next_data && next_noise;
read_all = !read_partial && with_resumable_cache;
- has_data = manta_read_data(mds->fluid, mmd, data_frame, read_all);
+ has_data = manta_read_data(fds->fluid, fmd, data_frame, read_all);
}
/* Read data cache only */
else {
- has_config = manta_read_config(mds->fluid, mmd, data_frame);
+ has_config = manta_read_config(fds->fluid, fmd, data_frame);
if (with_smoke) {
/* Read config and realloc fluid object if needed. */
- if (has_config && manta_needs_realloc(mds->fluid, mmd)) {
- BKE_fluid_reallocate_fluid(mds, mds->res, 1);
+ if (has_config && manta_needs_realloc(fds->fluid, fmd)) {
+ BKE_fluid_reallocate_fluid(fds, fds->res, 1);
}
}
read_partial = !baking_data && !baking_particles && !baking_mesh && next_data;
read_all = !read_partial && with_resumable_cache;
- has_data = manta_read_data(mds->fluid, mmd, data_frame, read_all);
+ has_data = manta_read_data(fds->fluid, fmd, data_frame, read_all);
}
}
@@ -4056,100 +4056,100 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
/* Trigger bake calls individually */
if (bake_cache) {
/* Ensure fresh variables at every animation step */
- manta_update_variables(mds->fluid, mmd);
+ manta_update_variables(fds->fluid, fmd);
/* Export mantaflow python script on first frame (once only) and for any bake type */
if (with_script && is_startframe) {
if (with_smoke) {
- manta_smoke_export_script(mmd->domain->fluid, mmd);
+ manta_smoke_export_script(fmd->domain->fluid, fmd);
}
if (with_liquid) {
- manta_liquid_export_script(mmd->domain->fluid, mmd);
+ manta_liquid_export_script(fmd->domain->fluid, fmd);
}
}
if (baking_guide && with_guide) {
- manta_guiding(depsgraph, scene, ob, mmd, scene_framenr);
+ manta_guiding(depsgraph, scene, ob, fmd, scene_framenr);
}
if (baking_data) {
/* Only save baked data if all of it completed successfully. */
- if (manta_step(depsgraph, scene, ob, me, mmd, scene_framenr)) {
- manta_write_config(mds->fluid, mmd, scene_framenr);
- manta_write_data(mds->fluid, mmd, scene_framenr);
+ if (manta_step(depsgraph, scene, ob, me, fmd, scene_framenr)) {
+ manta_write_config(fds->fluid, fmd, scene_framenr);
+ manta_write_data(fds->fluid, fmd, scene_framenr);
}
}
if (has_data || baking_data) {
if (baking_noise && with_smoke && with_noise) {
/* Ensure that no bake occurs if domain was minimized by adaptive domain. */
- if (mds->total_cells > 1) {
- manta_bake_noise(mds->fluid, mmd, scene_framenr);
+ if (fds->total_cells > 1) {
+ manta_bake_noise(fds->fluid, fmd, scene_framenr);
}
- manta_write_noise(mds->fluid, mmd, scene_framenr);
+ manta_write_noise(fds->fluid, fmd, scene_framenr);
}
if (baking_mesh && with_liquid && with_mesh) {
- manta_bake_mesh(mds->fluid, mmd, scene_framenr);
+ manta_bake_mesh(fds->fluid, fmd, scene_framenr);
}
if (baking_particles && with_liquid && with_particles) {
- manta_bake_particles(mds->fluid, mmd, scene_framenr);
+ manta_bake_particles(fds->fluid, fmd, scene_framenr);
}
}
}
- mds->flags &= ~FLUID_DOMAIN_FILE_LOAD;
- mmd->time = scene_framenr;
+ fds->flags &= ~FLUID_DOMAIN_FILE_LOAD;
+ fmd->time = scene_framenr;
}
static void BKE_fluid_modifier_process(
- FluidModifierData *mmd, Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me)
+ FluidModifierData *fmd, Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me)
{
const int scene_framenr = (int)DEG_get_ctime(depsgraph);
- if ((mmd->type & MOD_FLUID_TYPE_FLOW)) {
- BKE_fluid_modifier_processFlow(mmd, depsgraph, scene, ob, me, scene_framenr);
+ if ((fmd->type & MOD_FLUID_TYPE_FLOW)) {
+ BKE_fluid_modifier_processFlow(fmd, depsgraph, scene, ob, me, scene_framenr);
}
- else if (mmd->type & MOD_FLUID_TYPE_EFFEC) {
- BKE_fluid_modifier_processEffector(mmd, depsgraph, scene, ob, me, scene_framenr);
+ else if (fmd->type & MOD_FLUID_TYPE_EFFEC) {
+ BKE_fluid_modifier_processEffector(fmd, depsgraph, scene, ob, me, scene_framenr);
}
- else if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- BKE_fluid_modifier_processDomain(mmd, depsgraph, scene, ob, me, scene_framenr);
+ else if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ BKE_fluid_modifier_processDomain(fmd, depsgraph, scene, ob, me, scene_framenr);
}
}
struct Mesh *BKE_fluid_modifier_do(
- FluidModifierData *mmd, Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me)
+ FluidModifierData *fmd, Depsgraph *depsgraph, Scene *scene, Object *ob, Mesh *me)
{
/* Lock so preview render does not read smoke data while it gets modified. */
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
- BLI_rw_mutex_lock(mmd->domain->fluid_mutex, THREAD_LOCK_WRITE);
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
+ BLI_rw_mutex_lock(fmd->domain->fluid_mutex, THREAD_LOCK_WRITE);
}
- BKE_fluid_modifier_process(mmd, depsgraph, scene, ob, me);
+ BKE_fluid_modifier_process(fmd, depsgraph, scene, ob, me);
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
- BLI_rw_mutex_unlock(mmd->domain->fluid_mutex);
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
+ BLI_rw_mutex_unlock(fmd->domain->fluid_mutex);
}
/* Optimization: Do not update viewport during bakes (except in replay mode)
* Reason: UI is locked and updated liquid / smoke geometry is not visible anyways. */
bool needs_viewport_update = false;
- if (mmd->domain) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd->domain) {
+ FluidDomainSettings *fds = fmd->domain;
/* Always update viewport in cache replay mode. */
- if (mds->cache_type == FLUID_DOMAIN_CACHE_REPLAY ||
- mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ if (fds->cache_type == FLUID_DOMAIN_CACHE_REPLAY ||
+ fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
needs_viewport_update = true;
}
/* In other cache modes, only update the viewport when no bake is going on. */
else {
bool with_mesh;
- with_mesh = mds->flags & FLUID_DOMAIN_USE_MESH;
+ with_mesh = fds->flags & FLUID_DOMAIN_USE_MESH;
bool baking_data, baking_noise, baking_mesh, baking_particles, baking_guide;
- baking_data = mds->cache_flag & FLUID_DOMAIN_BAKING_DATA;
- baking_noise = mds->cache_flag & FLUID_DOMAIN_BAKING_NOISE;
- baking_mesh = mds->cache_flag & FLUID_DOMAIN_BAKING_MESH;
- baking_particles = mds->cache_flag & FLUID_DOMAIN_BAKING_PARTICLES;
- baking_guide = mds->cache_flag & FLUID_DOMAIN_BAKING_GUIDE;
+ baking_data = fds->cache_flag & FLUID_DOMAIN_BAKING_DATA;
+ baking_noise = fds->cache_flag & FLUID_DOMAIN_BAKING_NOISE;
+ baking_mesh = fds->cache_flag & FLUID_DOMAIN_BAKING_MESH;
+ baking_particles = fds->cache_flag & FLUID_DOMAIN_BAKING_PARTICLES;
+ baking_guide = fds->cache_flag & FLUID_DOMAIN_BAKING_GUIDE;
if (with_mesh && !baking_data && !baking_noise && !baking_mesh && !baking_particles &&
!baking_guide) {
@@ -4159,23 +4159,23 @@ struct Mesh *BKE_fluid_modifier_do(
}
Mesh *result = NULL;
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN && mmd->domain) {
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
if (needs_viewport_update) {
/* Return generated geometry depending on domain type. */
- if (mmd->domain->type == FLUID_DOMAIN_TYPE_LIQUID) {
- result = create_liquid_geometry(mmd->domain, me, ob);
+ if (fmd->domain->type == FLUID_DOMAIN_TYPE_LIQUID) {
+ result = create_liquid_geometry(fmd->domain, me, ob);
}
- if (mmd->domain->type == FLUID_DOMAIN_TYPE_GAS) {
- result = create_smoke_geometry(mmd->domain, me, ob);
+ if (fmd->domain->type == FLUID_DOMAIN_TYPE_GAS) {
+ result = create_smoke_geometry(fmd->domain, me, ob);
}
}
/* Clear flag outside of locked block (above). */
- mmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_DATA;
- mmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_NOISE;
- mmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_MESH;
- mmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_PARTICLES;
- mmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_GUIDE;
+ fmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_DATA;
+ fmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_NOISE;
+ fmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_MESH;
+ fmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_PARTICLES;
+ fmd->domain->cache_flag &= ~FLUID_DOMAIN_OUTDATED_GUIDE;
}
if (!result) {
@@ -4307,24 +4307,24 @@ static void bresenham_linie_3D(int x1,
cb(result, input, res, pixel, t_ray, correct);
}
-static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *view_layer)
+static void manta_smoke_calc_transparency(FluidDomainSettings *fds, ViewLayer *view_layer)
{
float bv[6] = {0};
float light[3];
- int a, z, slabsize = mds->res[0] * mds->res[1], size = mds->res[0] * mds->res[1] * mds->res[2];
- float *density = manta_smoke_get_density(mds->fluid);
- float *shadow = manta_smoke_get_shadow(mds->fluid);
- float correct = -7.0f * mds->dx;
+ int a, z, slabsize = fds->res[0] * fds->res[1], size = fds->res[0] * fds->res[1] * fds->res[2];
+ float *density = manta_smoke_get_density(fds->fluid);
+ float *shadow = manta_smoke_get_shadow(fds->fluid);
+ float correct = -7.0f * fds->dx;
if (!get_light(view_layer, light)) {
return;
}
/* convert light pos to sim cell space */
- mul_m4_v3(mds->imat, light);
- light[0] = (light[0] - mds->p0[0]) / mds->cell_size[0] - 0.5f - (float)mds->res_min[0];
- light[1] = (light[1] - mds->p0[1]) / mds->cell_size[1] - 0.5f - (float)mds->res_min[1];
- light[2] = (light[2] - mds->p0[2]) / mds->cell_size[2] - 0.5f - (float)mds->res_min[2];
+ mul_m4_v3(fds->imat, light);
+ light[0] = (light[0] - fds->p0[0]) / fds->cell_size[0] - 0.5f - (float)fds->res_min[0];
+ light[1] = (light[1] - fds->p0[1]) / fds->cell_size[1] - 0.5f - (float)fds->res_min[1];
+ light[2] = (light[2] - fds->p0[2]) / fds->cell_size[2] - 0.5f - (float)fds->res_min[2];
for (a = 0; a < size; a++) {
shadow[a] = -1.0f;
@@ -4332,16 +4332,16 @@ static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *v
/* calculate domain bounds in sim cell space */
// 0,2,4 = 0.0f
- bv[1] = (float)mds->res[0]; // x
- bv[3] = (float)mds->res[1]; // y
- bv[5] = (float)mds->res[2]; // z
+ bv[1] = (float)fds->res[0]; // x
+ bv[3] = (float)fds->res[1]; // y
+ bv[5] = (float)fds->res[2]; // z
- for (z = 0; z < mds->res[2]; z++) {
+ for (z = 0; z < fds->res[2]; z++) {
size_t index = z * slabsize;
int x, y;
- for (y = 0; y < mds->res[1]; y++) {
- for (x = 0; x < mds->res[0]; x++, index++) {
+ for (y = 0; y < fds->res[1]; y++) {
+ for (x = 0; x < fds->res[0]; x++, index++) {
float voxel_center[3];
float pos[3];
int cell[3];
@@ -4368,9 +4368,9 @@ static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *v
cell[2] = (int)floor(light[2]);
}
/* clamp within grid bounds */
- CLAMP(cell[0], 0, mds->res[0] - 1);
- CLAMP(cell[1], 0, mds->res[1] - 1);
- CLAMP(cell[2], 0, mds->res[2] - 1);
+ CLAMP(cell[0], 0, fds->res[0] - 1);
+ CLAMP(cell[1], 0, fds->res[1] - 1);
+ CLAMP(cell[2], 0, fds->res[2] - 1);
bresenham_linie_3D(cell[0],
cell[1],
@@ -4382,7 +4382,7 @@ static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *v
calc_voxel_transp,
shadow,
density,
- mds->res,
+ fds->res,
correct);
// convention -> from a RGBA float array, use G value for t_ray
@@ -4396,35 +4396,35 @@ static void manta_smoke_calc_transparency(FluidDomainSettings *mds, ViewLayer *v
* Returns fluid density or -1.0f if outside domain. */
float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velocity[3])
{
- FluidModifierData *mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
zero_v3(velocity);
- if (mmd && (mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain && mmd->domain->fluid) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd && (fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain && fmd->domain->fluid) {
+ FluidDomainSettings *fds = fmd->domain;
float time_mult = 25.f * DT_DEFAULT;
- float size_mult = MAX3(mds->global_size[0], mds->global_size[1], mds->global_size[2]) /
- mds->maxres;
+ float size_mult = MAX3(fds->global_size[0], fds->global_size[1], fds->global_size[2]) /
+ fds->maxres;
float vel_mag;
float density = 0.0f, fuel = 0.0f;
float pos[3];
copy_v3_v3(pos, position);
- manta_pos_to_cell(mds, pos);
+ manta_pos_to_cell(fds, pos);
/* Check if position is outside domain max bounds. */
- if (pos[0] < mds->res_min[0] || pos[1] < mds->res_min[1] || pos[2] < mds->res_min[2]) {
+ if (pos[0] < fds->res_min[0] || pos[1] < fds->res_min[1] || pos[2] < fds->res_min[2]) {
return -1.0f;
}
- if (pos[0] > mds->res_max[0] || pos[1] > mds->res_max[1] || pos[2] > mds->res_max[2]) {
+ if (pos[0] > fds->res_max[0] || pos[1] > fds->res_max[1] || pos[2] > fds->res_max[2]) {
return -1.0f;
}
/* map pos between 0.0 - 1.0 */
- pos[0] = (pos[0] - mds->res_min[0]) / ((float)mds->res[0]);
- pos[1] = (pos[1] - mds->res_min[1]) / ((float)mds->res[1]);
- pos[2] = (pos[2] - mds->res_min[2]) / ((float)mds->res[2]);
+ pos[0] = (pos[0] - fds->res_min[0]) / ((float)fds->res[0]);
+ pos[1] = (pos[1] - fds->res_min[1]) / ((float)fds->res[1]);
+ pos[2] = (pos[2] - fds->res_min[2]) / ((float)fds->res[2]);
/* Check if position is outside active area. */
- if (mds->type == FLUID_DOMAIN_TYPE_GAS && mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ if (fds->type == FLUID_DOMAIN_TYPE_GAS && fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
if (pos[0] < 0.0f || pos[1] < 0.0f || pos[2] < 0.0f) {
return 0.0f;
}
@@ -4434,9 +4434,9 @@ float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velo
}
/* Get interpolated velocity at given position. */
- velocity[0] = BLI_voxel_sample_trilinear(manta_get_velocity_x(mds->fluid), mds->res, pos);
- velocity[1] = BLI_voxel_sample_trilinear(manta_get_velocity_y(mds->fluid), mds->res, pos);
- velocity[2] = BLI_voxel_sample_trilinear(manta_get_velocity_z(mds->fluid), mds->res, pos);
+ velocity[0] = BLI_voxel_sample_trilinear(manta_get_velocity_x(fds->fluid), fds->res, pos);
+ velocity[1] = BLI_voxel_sample_trilinear(manta_get_velocity_y(fds->fluid), fds->res, pos);
+ velocity[2] = BLI_voxel_sample_trilinear(manta_get_velocity_z(fds->fluid), fds->res, pos);
/* Convert simulation units to Blender units. */
mul_v3_fl(velocity, size_mult);
@@ -4444,32 +4444,32 @@ float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velo
/* Convert velocity direction to global space. */
vel_mag = len_v3(velocity);
- mul_mat3_m4_v3(mds->obmat, velocity);
+ mul_mat3_m4_v3(fds->obmat, velocity);
normalize_v3(velocity);
mul_v3_fl(velocity, vel_mag);
/* Use max value of fuel or smoke density. */
- density = BLI_voxel_sample_trilinear(manta_smoke_get_density(mds->fluid), mds->res, pos);
- if (manta_smoke_has_fuel(mds->fluid)) {
- fuel = BLI_voxel_sample_trilinear(manta_smoke_get_fuel(mds->fluid), mds->res, pos);
+ density = BLI_voxel_sample_trilinear(manta_smoke_get_density(fds->fluid), fds->res, pos);
+ if (manta_smoke_has_fuel(fds->fluid)) {
+ fuel = BLI_voxel_sample_trilinear(manta_smoke_get_fuel(fds->fluid), fds->res, pos);
}
return MAX2(density, fuel);
}
return -1.0f;
}
-int BKE_fluid_get_data_flags(FluidDomainSettings *mds)
+int BKE_fluid_get_data_flags(FluidDomainSettings *fds)
{
int flags = 0;
- if (mds->fluid) {
- if (manta_smoke_has_heat(mds->fluid)) {
+ if (fds->fluid) {
+ if (manta_smoke_has_heat(fds->fluid)) {
flags |= FLUID_DOMAIN_ACTIVE_HEAT;
}
- if (manta_smoke_has_fuel(mds->fluid)) {
+ if (manta_smoke_has_fuel(fds->fluid)) {
flags |= FLUID_DOMAIN_ACTIVE_FIRE;
}
- if (manta_smoke_has_colors(mds->fluid)) {
+ if (manta_smoke_has_colors(fds->fluid)) {
flags |= FLUID_DOMAIN_ACTIVE_COLORS;
}
}
@@ -4486,7 +4486,7 @@ void BKE_fluid_particle_system_create(struct Main *bmain,
{
ParticleSystem *psys;
ParticleSettings *part;
- ParticleSystemModifierData *pmmd;
+ ParticleSystemModifierData *pfmd;
/* add particle system */
part = BKE_particlesettings_add(bmain, pset_name);
@@ -4502,25 +4502,25 @@ void BKE_fluid_particle_system_create(struct Main *bmain,
BLI_addtail(&ob->particlesystem, psys);
/* add modifier */
- pmmd = (ParticleSystemModifierData *)BKE_modifier_new(eModifierType_ParticleSystem);
- BLI_strncpy(pmmd->modifier.name, psys_name, sizeof(pmmd->modifier.name));
- pmmd->psys = psys;
- BLI_addtail(&ob->modifiers, pmmd);
- BKE_modifier_unique_name(&ob->modifiers, (ModifierData *)pmmd);
+ pfmd = (ParticleSystemModifierData *)BKE_modifier_new(eModifierType_ParticleSystem);
+ BLI_strncpy(pfmd->modifier.name, psys_name, sizeof(pfmd->modifier.name));
+ pfmd->psys = psys;
+ BLI_addtail(&ob->modifiers, pfmd);
+ BKE_modifier_unique_name(&ob->modifiers, (ModifierData *)pfmd);
}
void BKE_fluid_particle_system_destroy(struct Object *ob, const int particle_type)
{
- ParticleSystemModifierData *pmmd;
+ ParticleSystemModifierData *pfmd;
ParticleSystem *psys, *next_psys;
for (psys = ob->particlesystem.first; psys; psys = next_psys) {
next_psys = psys->next;
if (psys->part->type == particle_type) {
/* clear modifier */
- pmmd = psys_get_modifier(ob, psys);
- BLI_remlink(&ob->modifiers, pmmd);
- BKE_modifier_free((ModifierData *)pmmd);
+ pfmd = psys_get_modifier(ob, psys);
+ BLI_remlink(&ob->modifiers, pfmd);
+ BKE_modifier_free((ModifierData *)pfmd);
/* clear particle system */
BLI_remlink(&ob->particlesystem, psys);
@@ -4667,618 +4667,618 @@ void BKE_fluid_effector_type_set(Object *UNUSED(object), FluidEffectorSettings *
* Use for versioning, even when fluids are disabled.
* \{ */
-static void BKE_fluid_modifier_freeDomain(FluidModifierData *mmd)
+static void BKE_fluid_modifier_freeDomain(FluidModifierData *fmd)
{
- if (mmd->domain) {
- if (mmd->domain->fluid) {
+ if (fmd->domain) {
+ if (fmd->domain->fluid) {
#ifdef WITH_FLUID
- manta_free(mmd->domain->fluid);
+ manta_free(fmd->domain->fluid);
#endif
}
- if (mmd->domain->fluid_mutex) {
- BLI_rw_mutex_free(mmd->domain->fluid_mutex);
+ if (fmd->domain->fluid_mutex) {
+ BLI_rw_mutex_free(fmd->domain->fluid_mutex);
}
- if (mmd->domain->effector_weights) {
- MEM_freeN(mmd->domain->effector_weights);
+ if (fmd->domain->effector_weights) {
+ MEM_freeN(fmd->domain->effector_weights);
}
- mmd->domain->effector_weights = NULL;
+ fmd->domain->effector_weights = NULL;
- if (!(mmd->modifier.flag & eModifierFlag_SharedCaches)) {
- BKE_ptcache_free_list(&(mmd->domain->ptcaches[0]));
- mmd->domain->point_cache[0] = NULL;
+ if (!(fmd->modifier.flag & eModifierFlag_SharedCaches)) {
+ BKE_ptcache_free_list(&(fmd->domain->ptcaches[0]));
+ fmd->domain->point_cache[0] = NULL;
}
- if (mmd->domain->mesh_velocities) {
- MEM_freeN(mmd->domain->mesh_velocities);
+ if (fmd->domain->mesh_velocities) {
+ MEM_freeN(fmd->domain->mesh_velocities);
}
- mmd->domain->mesh_velocities = NULL;
+ fmd->domain->mesh_velocities = NULL;
- if (mmd->domain->coba) {
- MEM_freeN(mmd->domain->coba);
+ if (fmd->domain->coba) {
+ MEM_freeN(fmd->domain->coba);
}
- MEM_freeN(mmd->domain);
- mmd->domain = NULL;
+ MEM_freeN(fmd->domain);
+ fmd->domain = NULL;
}
}
-static void BKE_fluid_modifier_freeFlow(FluidModifierData *mmd)
+static void BKE_fluid_modifier_freeFlow(FluidModifierData *fmd)
{
- if (mmd->flow) {
- if (mmd->flow->mesh) {
- BKE_id_free(NULL, mmd->flow->mesh);
+ if (fmd->flow) {
+ if (fmd->flow->mesh) {
+ BKE_id_free(NULL, fmd->flow->mesh);
}
- mmd->flow->mesh = NULL;
+ fmd->flow->mesh = NULL;
- if (mmd->flow->verts_old) {
- MEM_freeN(mmd->flow->verts_old);
+ if (fmd->flow->verts_old) {
+ MEM_freeN(fmd->flow->verts_old);
}
- mmd->flow->verts_old = NULL;
- mmd->flow->numverts = 0;
- mmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
+ fmd->flow->verts_old = NULL;
+ fmd->flow->numverts = 0;
+ fmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
- MEM_freeN(mmd->flow);
- mmd->flow = NULL;
+ MEM_freeN(fmd->flow);
+ fmd->flow = NULL;
}
}
-static void BKE_fluid_modifier_freeEffector(FluidModifierData *mmd)
+static void BKE_fluid_modifier_freeEffector(FluidModifierData *fmd)
{
- if (mmd->effector) {
- if (mmd->effector->mesh) {
- BKE_id_free(NULL, mmd->effector->mesh);
+ if (fmd->effector) {
+ if (fmd->effector->mesh) {
+ BKE_id_free(NULL, fmd->effector->mesh);
}
- mmd->effector->mesh = NULL;
+ fmd->effector->mesh = NULL;
- if (mmd->effector->verts_old) {
- MEM_freeN(mmd->effector->verts_old);
+ if (fmd->effector->verts_old) {
+ MEM_freeN(fmd->effector->verts_old);
}
- mmd->effector->verts_old = NULL;
- mmd->effector->numverts = 0;
- mmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
+ fmd->effector->verts_old = NULL;
+ fmd->effector->numverts = 0;
+ fmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
- MEM_freeN(mmd->effector);
- mmd->effector = NULL;
+ MEM_freeN(fmd->effector);
+ fmd->effector = NULL;
}
}
-static void BKE_fluid_modifier_reset_ex(struct FluidModifierData *mmd, bool need_lock)
+static void BKE_fluid_modifier_reset_ex(struct FluidModifierData *fmd, bool need_lock)
{
- if (!mmd) {
+ if (!fmd) {
return;
}
- if (mmd->domain) {
- if (mmd->domain->fluid) {
+ if (fmd->domain) {
+ if (fmd->domain->fluid) {
if (need_lock) {
- BLI_rw_mutex_lock(mmd->domain->fluid_mutex, THREAD_LOCK_WRITE);
+ BLI_rw_mutex_lock(fmd->domain->fluid_mutex, THREAD_LOCK_WRITE);
}
#ifdef WITH_FLUID
- manta_free(mmd->domain->fluid);
+ manta_free(fmd->domain->fluid);
#endif
- mmd->domain->fluid = NULL;
+ fmd->domain->fluid = NULL;
if (need_lock) {
- BLI_rw_mutex_unlock(mmd->domain->fluid_mutex);
+ BLI_rw_mutex_unlock(fmd->domain->fluid_mutex);
}
}
- mmd->time = -1;
- mmd->domain->total_cells = 0;
- mmd->domain->active_fields = 0;
+ fmd->time = -1;
+ fmd->domain->total_cells = 0;
+ fmd->domain->active_fields = 0;
}
- else if (mmd->flow) {
- if (mmd->flow->verts_old) {
- MEM_freeN(mmd->flow->verts_old);
+ else if (fmd->flow) {
+ if (fmd->flow->verts_old) {
+ MEM_freeN(fmd->flow->verts_old);
}
- mmd->flow->verts_old = NULL;
- mmd->flow->numverts = 0;
- mmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
+ fmd->flow->verts_old = NULL;
+ fmd->flow->numverts = 0;
+ fmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
}
- else if (mmd->effector) {
- if (mmd->effector->verts_old) {
- MEM_freeN(mmd->effector->verts_old);
+ else if (fmd->effector) {
+ if (fmd->effector->verts_old) {
+ MEM_freeN(fmd->effector->verts_old);
}
- mmd->effector->verts_old = NULL;
- mmd->effector->numverts = 0;
- mmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
+ fmd->effector->verts_old = NULL;
+ fmd->effector->numverts = 0;
+ fmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
}
}
-void BKE_fluid_modifier_reset(struct FluidModifierData *mmd)
+void BKE_fluid_modifier_reset(struct FluidModifierData *fmd)
{
- BKE_fluid_modifier_reset_ex(mmd, true);
+ BKE_fluid_modifier_reset_ex(fmd, true);
}
-void BKE_fluid_modifier_free(FluidModifierData *mmd)
+void BKE_fluid_modifier_free(FluidModifierData *fmd)
{
- if (!mmd) {
+ if (!fmd) {
return;
}
- BKE_fluid_modifier_freeDomain(mmd);
- BKE_fluid_modifier_freeFlow(mmd);
- BKE_fluid_modifier_freeEffector(mmd);
+ BKE_fluid_modifier_freeDomain(fmd);
+ BKE_fluid_modifier_freeFlow(fmd);
+ BKE_fluid_modifier_freeEffector(fmd);
}
-void BKE_fluid_modifier_create_type_data(struct FluidModifierData *mmd)
+void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
{
- if (!mmd) {
+ if (!fmd) {
return;
}
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- if (mmd->domain) {
- BKE_fluid_modifier_freeDomain(mmd);
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ if (fmd->domain) {
+ BKE_fluid_modifier_freeDomain(fmd);
}
/* domain object data */
- mmd->domain = MEM_callocN(sizeof(FluidDomainSettings), "FluidDomain");
- mmd->domain->mmd = mmd;
- mmd->domain->effector_weights = BKE_effector_add_weights(NULL);
- mmd->domain->fluid = NULL;
- mmd->domain->fluid_mutex = BLI_rw_mutex_alloc();
- mmd->domain->force_group = NULL;
- mmd->domain->fluid_group = NULL;
- mmd->domain->effector_group = NULL;
+ fmd->domain = MEM_callocN(sizeof(FluidDomainSettings), "FluidDomain");
+ fmd->domain->fmd = fmd;
+ fmd->domain->effector_weights = BKE_effector_add_weights(NULL);
+ fmd->domain->fluid = NULL;
+ fmd->domain->fluid_mutex = BLI_rw_mutex_alloc();
+ fmd->domain->force_group = NULL;
+ fmd->domain->fluid_group = NULL;
+ fmd->domain->effector_group = NULL;
/* adaptive domain options */
- mmd->domain->adapt_margin = 4;
- mmd->domain->adapt_res = 0;
- mmd->domain->adapt_threshold = 0.02f;
+ fmd->domain->adapt_margin = 4;
+ fmd->domain->adapt_res = 0;
+ fmd->domain->adapt_threshold = 0.02f;
/* fluid domain options */
- mmd->domain->maxres = 32;
- mmd->domain->solver_res = 3;
- mmd->domain->border_collisions = 0; // open domain
- mmd->domain->flags = FLUID_DOMAIN_USE_DISSOLVE_LOG | FLUID_DOMAIN_USE_ADAPTIVE_TIME;
- mmd->domain->gravity[0] = 0.0f;
- mmd->domain->gravity[1] = 0.0f;
- mmd->domain->gravity[2] = -9.81f;
- mmd->domain->active_fields = 0;
- mmd->domain->type = FLUID_DOMAIN_TYPE_GAS;
- mmd->domain->boundary_width = 1;
+ fmd->domain->maxres = 32;
+ fmd->domain->solver_res = 3;
+ fmd->domain->border_collisions = 0; // open domain
+ fmd->domain->flags = FLUID_DOMAIN_USE_DISSOLVE_LOG | FLUID_DOMAIN_USE_ADAPTIVE_TIME;
+ fmd->domain->gravity[0] = 0.0f;
+ fmd->domain->gravity[1] = 0.0f;
+ fmd->domain->gravity[2] = -9.81f;
+ fmd->domain->active_fields = 0;
+ fmd->domain->type = FLUID_DOMAIN_TYPE_GAS;
+ fmd->domain->boundary_width = 1;
/* smoke domain options */
- mmd->domain->alpha = 1.0f;
- mmd->domain->beta = 1.0f;
- mmd->domain->diss_speed = 5;
- mmd->domain->vorticity = 0;
- mmd->domain->active_color[0] = 0.0f;
- mmd->domain->active_color[1] = 0.0f;
- mmd->domain->active_color[2] = 0.0f;
- mmd->domain->highres_sampling = SM_HRES_FULLSAMPLE;
+ fmd->domain->alpha = 1.0f;
+ fmd->domain->beta = 1.0f;
+ fmd->domain->diss_speed = 5;
+ fmd->domain->vorticity = 0;
+ fmd->domain->active_color[0] = 0.0f;
+ fmd->domain->active_color[1] = 0.0f;
+ fmd->domain->active_color[2] = 0.0f;
+ fmd->domain->highres_sampling = SM_HRES_FULLSAMPLE;
/* flame options */
- mmd->domain->burning_rate = 0.75f;
- mmd->domain->flame_smoke = 1.0f;
- mmd->domain->flame_vorticity = 0.5f;
- mmd->domain->flame_ignition = 1.5f;
- mmd->domain->flame_max_temp = 3.0f;
- mmd->domain->flame_smoke_color[0] = 0.7f;
- mmd->domain->flame_smoke_color[1] = 0.7f;
- mmd->domain->flame_smoke_color[2] = 0.7f;
+ fmd->domain->burning_rate = 0.75f;
+ fmd->domain->flame_smoke = 1.0f;
+ fmd->domain->flame_vorticity = 0.5f;
+ fmd->domain->flame_ignition = 1.5f;
+ fmd->domain->flame_max_temp = 3.0f;
+ fmd->domain->flame_smoke_color[0] = 0.7f;
+ fmd->domain->flame_smoke_color[1] = 0.7f;
+ fmd->domain->flame_smoke_color[2] = 0.7f;
/* noise options */
- mmd->domain->noise_strength = 1.0;
- mmd->domain->noise_pos_scale = 2.0f;
- mmd->domain->noise_time_anim = 0.1f;
- mmd->domain->noise_scale = 2;
- mmd->domain->noise_type = FLUID_NOISE_TYPE_WAVELET;
+ fmd->domain->noise_strength = 1.0;
+ fmd->domain->noise_pos_scale = 2.0f;
+ fmd->domain->noise_time_anim = 0.1f;
+ fmd->domain->noise_scale = 2;
+ fmd->domain->noise_type = FLUID_NOISE_TYPE_WAVELET;
/* liquid domain options */
- mmd->domain->simulation_method = FLUID_DOMAIN_METHOD_FLIP;
- mmd->domain->flip_ratio = 0.97f;
- mmd->domain->particle_randomness = 0.1f;
- mmd->domain->particle_number = 2;
- mmd->domain->particle_minimum = 8;
- mmd->domain->particle_maximum = 16;
- mmd->domain->particle_radius = 1.0f;
- mmd->domain->particle_band_width = 3.0f;
- mmd->domain->fractions_threshold = 0.05f;
+ fmd->domain->simulation_method = FLUID_DOMAIN_METHOD_FLIP;
+ fmd->domain->flip_ratio = 0.97f;
+ fmd->domain->particle_randomness = 0.1f;
+ fmd->domain->particle_number = 2;
+ fmd->domain->particle_minimum = 8;
+ fmd->domain->particle_maximum = 16;
+ fmd->domain->particle_radius = 1.0f;
+ fmd->domain->particle_band_width = 3.0f;
+ fmd->domain->fractions_threshold = 0.05f;
/* diffusion options*/
- mmd->domain->surface_tension = 0.0f;
- mmd->domain->viscosity_base = 1.0f;
- mmd->domain->viscosity_exponent = 6.0f;
+ fmd->domain->surface_tension = 0.0f;
+ fmd->domain->viscosity_base = 1.0f;
+ fmd->domain->viscosity_exponent = 6.0f;
/* mesh options */
- mmd->domain->mesh_velocities = NULL;
- mmd->domain->mesh_concave_upper = 3.5f;
- mmd->domain->mesh_concave_lower = 0.4f;
- mmd->domain->mesh_particle_radius = 2.0;
- mmd->domain->mesh_smoothen_pos = 1;
- mmd->domain->mesh_smoothen_neg = 1;
- mmd->domain->mesh_scale = 2;
- mmd->domain->totvert = 0;
- mmd->domain->mesh_generator = FLUID_DOMAIN_MESH_IMPROVED;
+ fmd->domain->mesh_velocities = NULL;
+ fmd->domain->mesh_concave_upper = 3.5f;
+ fmd->domain->mesh_concave_lower = 0.4f;
+ fmd->domain->mesh_particle_radius = 2.0;
+ fmd->domain->mesh_smoothen_pos = 1;
+ fmd->domain->mesh_smoothen_neg = 1;
+ fmd->domain->mesh_scale = 2;
+ fmd->domain->totvert = 0;
+ fmd->domain->mesh_generator = FLUID_DOMAIN_MESH_IMPROVED;
/* secondary particle options */
- mmd->domain->sndparticle_tau_min_wc = 2.0;
- mmd->domain->sndparticle_tau_max_wc = 8.0;
- mmd->domain->sndparticle_tau_min_ta = 5.0;
- mmd->domain->sndparticle_tau_max_ta = 20.0;
- mmd->domain->sndparticle_tau_min_k = 1.0;
- mmd->domain->sndparticle_tau_max_k = 5.0;
- mmd->domain->sndparticle_k_wc = 200;
- mmd->domain->sndparticle_k_ta = 40;
- mmd->domain->sndparticle_k_b = 0.5;
- mmd->domain->sndparticle_k_d = 0.6;
- mmd->domain->sndparticle_l_min = 10.0;
- mmd->domain->sndparticle_l_max = 25.0;
- mmd->domain->sndparticle_boundary = SNDPARTICLE_BOUNDARY_DELETE;
- mmd->domain->sndparticle_combined_export = SNDPARTICLE_COMBINED_EXPORT_OFF;
- mmd->domain->sndparticle_potential_radius = 2;
- mmd->domain->sndparticle_update_radius = 2;
- mmd->domain->particle_type = 0;
- mmd->domain->particle_scale = 1;
+ fmd->domain->sndparticle_tau_min_wc = 2.0;
+ fmd->domain->sndparticle_tau_max_wc = 8.0;
+ fmd->domain->sndparticle_tau_min_ta = 5.0;
+ fmd->domain->sndparticle_tau_max_ta = 20.0;
+ fmd->domain->sndparticle_tau_min_k = 1.0;
+ fmd->domain->sndparticle_tau_max_k = 5.0;
+ fmd->domain->sndparticle_k_wc = 200;
+ fmd->domain->sndparticle_k_ta = 40;
+ fmd->domain->sndparticle_k_b = 0.5;
+ fmd->domain->sndparticle_k_d = 0.6;
+ fmd->domain->sndparticle_l_min = 10.0;
+ fmd->domain->sndparticle_l_max = 25.0;
+ fmd->domain->sndparticle_boundary = SNDPARTICLE_BOUNDARY_DELETE;
+ fmd->domain->sndparticle_combined_export = SNDPARTICLE_COMBINED_EXPORT_OFF;
+ fmd->domain->sndparticle_potential_radius = 2;
+ fmd->domain->sndparticle_update_radius = 2;
+ fmd->domain->particle_type = 0;
+ fmd->domain->particle_scale = 1;
/* fluid guide options */
- mmd->domain->guide_parent = NULL;
- mmd->domain->guide_alpha = 2.0f;
- mmd->domain->guide_beta = 5;
- mmd->domain->guide_vel_factor = 2.0f;
- mmd->domain->guide_source = FLUID_DOMAIN_GUIDE_SRC_DOMAIN;
+ fmd->domain->guide_parent = NULL;
+ fmd->domain->guide_alpha = 2.0f;
+ fmd->domain->guide_beta = 5;
+ fmd->domain->guide_vel_factor = 2.0f;
+ fmd->domain->guide_source = FLUID_DOMAIN_GUIDE_SRC_DOMAIN;
/* cache options */
- mmd->domain->cache_frame_start = 1;
- mmd->domain->cache_frame_end = 250;
- mmd->domain->cache_frame_pause_data = 0;
- mmd->domain->cache_frame_pause_noise = 0;
- mmd->domain->cache_frame_pause_mesh = 0;
- mmd->domain->cache_frame_pause_particles = 0;
- mmd->domain->cache_frame_pause_guide = 0;
- mmd->domain->cache_frame_offset = 0;
- mmd->domain->cache_flag = 0;
- mmd->domain->cache_type = FLUID_DOMAIN_CACHE_REPLAY;
- mmd->domain->cache_mesh_format = FLUID_DOMAIN_FILE_BIN_OBJECT;
+ fmd->domain->cache_frame_start = 1;
+ fmd->domain->cache_frame_end = 250;
+ fmd->domain->cache_frame_pause_data = 0;
+ fmd->domain->cache_frame_pause_noise = 0;
+ fmd->domain->cache_frame_pause_mesh = 0;
+ fmd->domain->cache_frame_pause_particles = 0;
+ fmd->domain->cache_frame_pause_guide = 0;
+ fmd->domain->cache_frame_offset = 0;
+ fmd->domain->cache_flag = 0;
+ fmd->domain->cache_type = FLUID_DOMAIN_CACHE_REPLAY;
+ fmd->domain->cache_mesh_format = FLUID_DOMAIN_FILE_BIN_OBJECT;
#ifdef WITH_OPENVDB
- mmd->domain->cache_data_format = FLUID_DOMAIN_FILE_OPENVDB;
- mmd->domain->cache_particle_format = FLUID_DOMAIN_FILE_OPENVDB;
- mmd->domain->cache_noise_format = FLUID_DOMAIN_FILE_OPENVDB;
+ fmd->domain->cache_data_format = FLUID_DOMAIN_FILE_OPENVDB;
+ fmd->domain->cache_particle_format = FLUID_DOMAIN_FILE_OPENVDB;
+ fmd->domain->cache_noise_format = FLUID_DOMAIN_FILE_OPENVDB;
#else
- mmd->domain->cache_data_format = FLUID_DOMAIN_FILE_UNI;
- mmd->domain->cache_particle_format = FLUID_DOMAIN_FILE_UNI;
- mmd->domain->cache_noise_format = FLUID_DOMAIN_FILE_UNI;
+ fmd->domain->cache_data_format = FLUID_DOMAIN_FILE_UNI;
+ fmd->domain->cache_particle_format = FLUID_DOMAIN_FILE_UNI;
+ fmd->domain->cache_noise_format = FLUID_DOMAIN_FILE_UNI;
#endif
char cache_name[64];
BKE_fluid_cache_new_name_for_current_session(sizeof(cache_name), cache_name);
BKE_modifier_path_init(
- mmd->domain->cache_directory, sizeof(mmd->domain->cache_directory), cache_name);
+ fmd->domain->cache_directory, sizeof(fmd->domain->cache_directory), cache_name);
/* time options */
- mmd->domain->time_scale = 1.0;
- mmd->domain->cfl_condition = 4.0;
- mmd->domain->timesteps_minimum = 1;
- mmd->domain->timesteps_maximum = 4;
+ fmd->domain->time_scale = 1.0;
+ fmd->domain->cfl_condition = 4.0;
+ fmd->domain->timesteps_minimum = 1;
+ fmd->domain->timesteps_maximum = 4;
/* display options */
- mmd->domain->slice_method = FLUID_DOMAIN_SLICE_VIEW_ALIGNED;
- mmd->domain->axis_slice_method = AXIS_SLICE_FULL;
- mmd->domain->slice_axis = 0;
- mmd->domain->interp_method = 0;
- mmd->domain->draw_velocity = false;
- mmd->domain->slice_per_voxel = 5.0f;
- mmd->domain->slice_depth = 0.5f;
- mmd->domain->display_thickness = 1.0f;
- mmd->domain->coba = NULL;
- mmd->domain->vector_scale = 1.0f;
- mmd->domain->vector_draw_type = VECTOR_DRAW_NEEDLE;
- mmd->domain->use_coba = false;
- mmd->domain->coba_field = FLUID_DOMAIN_FIELD_DENSITY;
+ fmd->domain->slice_method = FLUID_DOMAIN_SLICE_VIEW_ALIGNED;
+ fmd->domain->axis_slice_method = AXIS_SLICE_FULL;
+ fmd->domain->slice_axis = 0;
+ fmd->domain->interp_method = 0;
+ fmd->domain->draw_velocity = false;
+ fmd->domain->slice_per_voxel = 5.0f;
+ fmd->domain->slice_depth = 0.5f;
+ fmd->domain->display_thickness = 1.0f;
+ fmd->domain->coba = NULL;
+ fmd->domain->vector_scale = 1.0f;
+ fmd->domain->vector_draw_type = VECTOR_DRAW_NEEDLE;
+ fmd->domain->use_coba = false;
+ fmd->domain->coba_field = FLUID_DOMAIN_FIELD_DENSITY;
/* -- Deprecated / unsed options (below)-- */
/* pointcache options */
- BLI_listbase_clear(&mmd->domain->ptcaches[1]);
- mmd->domain->point_cache[0] = BKE_ptcache_add(&(mmd->domain->ptcaches[0]));
- mmd->domain->point_cache[0]->flag |= PTCACHE_DISK_CACHE;
- mmd->domain->point_cache[0]->step = 1;
- mmd->domain->point_cache[1] = NULL; /* Deprecated */
- mmd->domain->cache_comp = SM_CACHE_LIGHT;
- mmd->domain->cache_high_comp = SM_CACHE_LIGHT;
+ BLI_listbase_clear(&fmd->domain->ptcaches[1]);
+ fmd->domain->point_cache[0] = BKE_ptcache_add(&(fmd->domain->ptcaches[0]));
+ fmd->domain->point_cache[0]->flag |= PTCACHE_DISK_CACHE;
+ fmd->domain->point_cache[0]->step = 1;
+ fmd->domain->point_cache[1] = NULL; /* Deprecated */
+ fmd->domain->cache_comp = SM_CACHE_LIGHT;
+ fmd->domain->cache_high_comp = SM_CACHE_LIGHT;
/* OpenVDB cache options */
#ifdef WITH_OPENVDB_BLOSC
- mmd->domain->openvdb_compression = VDB_COMPRESSION_BLOSC;
+ fmd->domain->openvdb_compression = VDB_COMPRESSION_BLOSC;
#else
- mmd->domain->openvdb_compression = VDB_COMPRESSION_ZIP;
+ fmd->domain->openvdb_compression = VDB_COMPRESSION_ZIP;
#endif
- mmd->domain->clipping = 1e-6f;
- mmd->domain->openvdb_data_depth = 0;
+ fmd->domain->clipping = 1e-6f;
+ fmd->domain->openvdb_data_depth = 0;
}
- else if (mmd->type & MOD_FLUID_TYPE_FLOW) {
- if (mmd->flow) {
- BKE_fluid_modifier_freeFlow(mmd);
+ else if (fmd->type & MOD_FLUID_TYPE_FLOW) {
+ if (fmd->flow) {
+ BKE_fluid_modifier_freeFlow(fmd);
}
/* flow object data */
- mmd->flow = MEM_callocN(sizeof(FluidFlowSettings), "MantaFlow");
- mmd->flow->mmd = mmd;
- mmd->flow->mesh = NULL;
- mmd->flow->psys = NULL;
- mmd->flow->noise_texture = NULL;
+ fmd->flow = MEM_callocN(sizeof(FluidFlowSettings), "MantaFlow");
+ fmd->flow->fmd = fmd;
+ fmd->flow->mesh = NULL;
+ fmd->flow->psys = NULL;
+ fmd->flow->noise_texture = NULL;
/* initial velocity */
- mmd->flow->verts_old = NULL;
- mmd->flow->numverts = 0;
- mmd->flow->vel_multi = 1.0f;
- mmd->flow->vel_normal = 0.0f;
- mmd->flow->vel_random = 0.0f;
- mmd->flow->vel_coord[0] = 0.0f;
- mmd->flow->vel_coord[1] = 0.0f;
- mmd->flow->vel_coord[2] = 0.0f;
+ fmd->flow->verts_old = NULL;
+ fmd->flow->numverts = 0;
+ fmd->flow->vel_multi = 1.0f;
+ fmd->flow->vel_normal = 0.0f;
+ fmd->flow->vel_random = 0.0f;
+ fmd->flow->vel_coord[0] = 0.0f;
+ fmd->flow->vel_coord[1] = 0.0f;
+ fmd->flow->vel_coord[2] = 0.0f;
/* emission */
- mmd->flow->density = 1.0f;
- mmd->flow->color[0] = 0.7f;
- mmd->flow->color[1] = 0.7f;
- mmd->flow->color[2] = 0.7f;
- mmd->flow->fuel_amount = 1.0f;
- mmd->flow->temperature = 1.0f;
- mmd->flow->volume_density = 0.0f;
- mmd->flow->surface_distance = 1.5f;
- mmd->flow->particle_size = 1.0f;
- mmd->flow->subframes = 0;
+ fmd->flow->density = 1.0f;
+ fmd->flow->color[0] = 0.7f;
+ fmd->flow->color[1] = 0.7f;
+ fmd->flow->color[2] = 0.7f;
+ fmd->flow->fuel_amount = 1.0f;
+ fmd->flow->temperature = 1.0f;
+ fmd->flow->volume_density = 0.0f;
+ fmd->flow->surface_distance = 1.5f;
+ fmd->flow->particle_size = 1.0f;
+ fmd->flow->subframes = 0;
/* texture control */
- mmd->flow->source = FLUID_FLOW_SOURCE_MESH;
- mmd->flow->texture_size = 1.0f;
+ fmd->flow->source = FLUID_FLOW_SOURCE_MESH;
+ fmd->flow->texture_size = 1.0f;
- mmd->flow->type = FLUID_FLOW_TYPE_SMOKE;
- mmd->flow->behavior = FLUID_FLOW_BEHAVIOR_GEOMETRY;
- mmd->flow->flags = FLUID_FLOW_ABSOLUTE | FLUID_FLOW_USE_PART_SIZE | FLUID_FLOW_USE_INFLOW;
+ fmd->flow->type = FLUID_FLOW_TYPE_SMOKE;
+ fmd->flow->behavior = FLUID_FLOW_BEHAVIOR_GEOMETRY;
+ fmd->flow->flags = FLUID_FLOW_ABSOLUTE | FLUID_FLOW_USE_PART_SIZE | FLUID_FLOW_USE_INFLOW;
}
- else if (mmd->type & MOD_FLUID_TYPE_EFFEC) {
- if (mmd->effector) {
- BKE_fluid_modifier_freeEffector(mmd);
+ else if (fmd->type & MOD_FLUID_TYPE_EFFEC) {
+ if (fmd->effector) {
+ BKE_fluid_modifier_freeEffector(fmd);
}
/* effector object data */
- mmd->effector = MEM_callocN(sizeof(FluidEffectorSettings), "MantaEffector");
- mmd->effector->mmd = mmd;
- mmd->effector->mesh = NULL;
- mmd->effector->verts_old = NULL;
- mmd->effector->numverts = 0;
- mmd->effector->surface_distance = 0.0f;
- mmd->effector->type = FLUID_EFFECTOR_TYPE_COLLISION;
- mmd->effector->flags = FLUID_EFFECTOR_USE_EFFEC;
+ fmd->effector = MEM_callocN(sizeof(FluidEffectorSettings), "MantaEffector");
+ fmd->effector->fmd = fmd;
+ fmd->effector->mesh = NULL;
+ fmd->effector->verts_old = NULL;
+ fmd->effector->numverts = 0;
+ fmd->effector->surface_distance = 0.0f;
+ fmd->effector->type = FLUID_EFFECTOR_TYPE_COLLISION;
+ fmd->effector->flags = FLUID_EFFECTOR_USE_EFFEC;
/* guide options */
- mmd->effector->guide_mode = FLUID_EFFECTOR_GUIDE_OVERRIDE;
- mmd->effector->vel_multi = 1.0f;
+ fmd->effector->guide_mode = FLUID_EFFECTOR_GUIDE_OVERRIDE;
+ fmd->effector->vel_multi = 1.0f;
}
}
-void BKE_fluid_modifier_copy(const struct FluidModifierData *mmd,
- struct FluidModifierData *tmmd,
+void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd,
+ struct FluidModifierData *tfmd,
const int flag)
{
- tmmd->type = mmd->type;
- tmmd->time = mmd->time;
+ tfmd->type = fmd->type;
+ tfmd->time = fmd->time;
- BKE_fluid_modifier_create_type_data(tmmd);
+ BKE_fluid_modifier_create_type_data(tfmd);
- if (tmmd->domain) {
- FluidDomainSettings *tmds = tmmd->domain;
- FluidDomainSettings *mds = mmd->domain;
+ if (tfmd->domain) {
+ FluidDomainSettings *tfds = tfmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
/* domain object data */
- tmds->fluid_group = mds->fluid_group;
- tmds->force_group = mds->force_group;
- tmds->effector_group = mds->effector_group;
- if (tmds->effector_weights) {
- MEM_freeN(tmds->effector_weights);
+ tfds->fluid_group = fds->fluid_group;
+ tfds->force_group = fds->force_group;
+ tfds->effector_group = fds->effector_group;
+ if (tfds->effector_weights) {
+ MEM_freeN(tfds->effector_weights);
}
- tmds->effector_weights = MEM_dupallocN(mds->effector_weights);
+ tfds->effector_weights = MEM_dupallocN(fds->effector_weights);
/* adaptive domain options */
- tmds->adapt_margin = mds->adapt_margin;
- tmds->adapt_res = mds->adapt_res;
- tmds->adapt_threshold = mds->adapt_threshold;
+ tfds->adapt_margin = fds->adapt_margin;
+ tfds->adapt_res = fds->adapt_res;
+ tfds->adapt_threshold = fds->adapt_threshold;
/* fluid domain options */
- tmds->maxres = mds->maxres;
- tmds->solver_res = mds->solver_res;
- tmds->border_collisions = mds->border_collisions;
- tmds->flags = mds->flags;
- tmds->gravity[0] = mds->gravity[0];
- tmds->gravity[1] = mds->gravity[1];
- tmds->gravity[2] = mds->gravity[2];
- tmds->active_fields = mds->active_fields;
- tmds->type = mds->type;
- tmds->boundary_width = mds->boundary_width;
+ tfds->maxres = fds->maxres;
+ tfds->solver_res = fds->solver_res;
+ tfds->border_collisions = fds->border_collisions;
+ tfds->flags = fds->flags;
+ tfds->gravity[0] = fds->gravity[0];
+ tfds->gravity[1] = fds->gravity[1];
+ tfds->gravity[2] = fds->gravity[2];
+ tfds->active_fields = fds->active_fields;
+ tfds->type = fds->type;
+ tfds->boundary_width = fds->boundary_width;
/* smoke domain options */
- tmds->alpha = mds->alpha;
- tmds->beta = mds->beta;
- tmds->diss_speed = mds->diss_speed;
- tmds->vorticity = mds->vorticity;
- tmds->highres_sampling = mds->highres_sampling;
+ tfds->alpha = fds->alpha;
+ tfds->beta = fds->beta;
+ tfds->diss_speed = fds->diss_speed;
+ tfds->vorticity = fds->vorticity;
+ tfds->highres_sampling = fds->highres_sampling;
/* flame options */
- tmds->burning_rate = mds->burning_rate;
- tmds->flame_smoke = mds->flame_smoke;
- tmds->flame_vorticity = mds->flame_vorticity;
- tmds->flame_ignition = mds->flame_ignition;
- tmds->flame_max_temp = mds->flame_max_temp;
- copy_v3_v3(tmds->flame_smoke_color, mds->flame_smoke_color);
+ tfds->burning_rate = fds->burning_rate;
+ tfds->flame_smoke = fds->flame_smoke;
+ tfds->flame_vorticity = fds->flame_vorticity;
+ tfds->flame_ignition = fds->flame_ignition;
+ tfds->flame_max_temp = fds->flame_max_temp;
+ copy_v3_v3(tfds->flame_smoke_color, fds->flame_smoke_color);
/* noise options */
- tmds->noise_strength = mds->noise_strength;
- tmds->noise_pos_scale = mds->noise_pos_scale;
- tmds->noise_time_anim = mds->noise_time_anim;
- tmds->noise_scale = mds->noise_scale;
- tmds->noise_type = mds->noise_type;
+ tfds->noise_strength = fds->noise_strength;
+ tfds->noise_pos_scale = fds->noise_pos_scale;
+ tfds->noise_time_anim = fds->noise_time_anim;
+ tfds->noise_scale = fds->noise_scale;
+ tfds->noise_type = fds->noise_type;
/* liquid domain options */
- tmds->flip_ratio = mds->flip_ratio;
- tmds->particle_randomness = mds->particle_randomness;
- tmds->particle_number = mds->particle_number;
- tmds->particle_minimum = mds->particle_minimum;
- tmds->particle_maximum = mds->particle_maximum;
- tmds->particle_radius = mds->particle_radius;
- tmds->particle_band_width = mds->particle_band_width;
- tmds->fractions_threshold = mds->fractions_threshold;
+ tfds->flip_ratio = fds->flip_ratio;
+ tfds->particle_randomness = fds->particle_randomness;
+ tfds->particle_number = fds->particle_number;
+ tfds->particle_minimum = fds->particle_minimum;
+ tfds->particle_maximum = fds->particle_maximum;
+ tfds->particle_radius = fds->particle_radius;
+ tfds->particle_band_width = fds->particle_band_width;
+ tfds->fractions_threshold = fds->fractions_threshold;
/* diffusion options*/
- tmds->surface_tension = mds->surface_tension;
- tmds->viscosity_base = mds->viscosity_base;
- tmds->viscosity_exponent = mds->viscosity_exponent;
+ tfds->surface_tension = fds->surface_tension;
+ tfds->viscosity_base = fds->viscosity_base;
+ tfds->viscosity_exponent = fds->viscosity_exponent;
/* mesh options */
- if (mds->mesh_velocities) {
- tmds->mesh_velocities = MEM_dupallocN(mds->mesh_velocities);
- }
- tmds->mesh_concave_upper = mds->mesh_concave_upper;
- tmds->mesh_concave_lower = mds->mesh_concave_lower;
- tmds->mesh_particle_radius = mds->mesh_particle_radius;
- tmds->mesh_smoothen_pos = mds->mesh_smoothen_pos;
- tmds->mesh_smoothen_neg = mds->mesh_smoothen_neg;
- tmds->mesh_scale = mds->mesh_scale;
- tmds->totvert = mds->totvert;
- tmds->mesh_generator = mds->mesh_generator;
+ if (fds->mesh_velocities) {
+ tfds->mesh_velocities = MEM_dupallocN(fds->mesh_velocities);
+ }
+ tfds->mesh_concave_upper = fds->mesh_concave_upper;
+ tfds->mesh_concave_lower = fds->mesh_concave_lower;
+ tfds->mesh_particle_radius = fds->mesh_particle_radius;
+ tfds->mesh_smoothen_pos = fds->mesh_smoothen_pos;
+ tfds->mesh_smoothen_neg = fds->mesh_smoothen_neg;
+ tfds->mesh_scale = fds->mesh_scale;
+ tfds->totvert = fds->totvert;
+ tfds->mesh_generator = fds->mesh_generator;
/* secondary particle options */
- tmds->sndparticle_k_b = mds->sndparticle_k_b;
- tmds->sndparticle_k_d = mds->sndparticle_k_d;
- tmds->sndparticle_k_ta = mds->sndparticle_k_ta;
- tmds->sndparticle_k_wc = mds->sndparticle_k_wc;
- tmds->sndparticle_l_max = mds->sndparticle_l_max;
- tmds->sndparticle_l_min = mds->sndparticle_l_min;
- tmds->sndparticle_tau_max_k = mds->sndparticle_tau_max_k;
- tmds->sndparticle_tau_max_ta = mds->sndparticle_tau_max_ta;
- tmds->sndparticle_tau_max_wc = mds->sndparticle_tau_max_wc;
- tmds->sndparticle_tau_min_k = mds->sndparticle_tau_min_k;
- tmds->sndparticle_tau_min_ta = mds->sndparticle_tau_min_ta;
- tmds->sndparticle_tau_min_wc = mds->sndparticle_tau_min_wc;
- tmds->sndparticle_boundary = mds->sndparticle_boundary;
- tmds->sndparticle_combined_export = mds->sndparticle_combined_export;
- tmds->sndparticle_potential_radius = mds->sndparticle_potential_radius;
- tmds->sndparticle_update_radius = mds->sndparticle_update_radius;
- tmds->particle_type = mds->particle_type;
- tmds->particle_scale = mds->particle_scale;
+ tfds->sndparticle_k_b = fds->sndparticle_k_b;
+ tfds->sndparticle_k_d = fds->sndparticle_k_d;
+ tfds->sndparticle_k_ta = fds->sndparticle_k_ta;
+ tfds->sndparticle_k_wc = fds->sndparticle_k_wc;
+ tfds->sndparticle_l_max = fds->sndparticle_l_max;
+ tfds->sndparticle_l_min = fds->sndparticle_l_min;
+ tfds->sndparticle_tau_max_k = fds->sndparticle_tau_max_k;
+ tfds->sndparticle_tau_max_ta = fds->sndparticle_tau_max_ta;
+ tfds->sndparticle_tau_max_wc = fds->sndparticle_tau_max_wc;
+ tfds->sndparticle_tau_min_k = fds->sndparticle_tau_min_k;
+ tfds->sndparticle_tau_min_ta = fds->sndparticle_tau_min_ta;
+ tfds->sndparticle_tau_min_wc = fds->sndparticle_tau_min_wc;
+ tfds->sndparticle_boundary = fds->sndparticle_boundary;
+ tfds->sndparticle_combined_export = fds->sndparticle_combined_export;
+ tfds->sndparticle_potential_radius = fds->sndparticle_potential_radius;
+ tfds->sndparticle_update_radius = fds->sndparticle_update_radius;
+ tfds->particle_type = fds->particle_type;
+ tfds->particle_scale = fds->particle_scale;
/* fluid guide options */
- tmds->guide_parent = mds->guide_parent;
- tmds->guide_alpha = mds->guide_alpha;
- tmds->guide_beta = mds->guide_beta;
- tmds->guide_vel_factor = mds->guide_vel_factor;
- copy_v3_v3_int(tmds->guide_res, mds->guide_res);
- tmds->guide_source = mds->guide_source;
+ tfds->guide_parent = fds->guide_parent;
+ tfds->guide_alpha = fds->guide_alpha;
+ tfds->guide_beta = fds->guide_beta;
+ tfds->guide_vel_factor = fds->guide_vel_factor;
+ copy_v3_v3_int(tfds->guide_res, fds->guide_res);
+ tfds->guide_source = fds->guide_source;
/* cache options */
- tmds->cache_frame_start = mds->cache_frame_start;
- tmds->cache_frame_end = mds->cache_frame_end;
- tmds->cache_frame_pause_data = mds->cache_frame_pause_data;
- tmds->cache_frame_pause_noise = mds->cache_frame_pause_noise;
- tmds->cache_frame_pause_mesh = mds->cache_frame_pause_mesh;
- tmds->cache_frame_pause_particles = mds->cache_frame_pause_particles;
- tmds->cache_frame_pause_guide = mds->cache_frame_pause_guide;
- tmds->cache_frame_offset = mds->cache_frame_offset;
- tmds->cache_flag = mds->cache_flag;
- tmds->cache_type = mds->cache_type;
- tmds->cache_mesh_format = mds->cache_mesh_format;
- tmds->cache_data_format = mds->cache_data_format;
- tmds->cache_particle_format = mds->cache_particle_format;
- tmds->cache_noise_format = mds->cache_noise_format;
- BLI_strncpy(tmds->cache_directory, mds->cache_directory, sizeof(tmds->cache_directory));
+ tfds->cache_frame_start = fds->cache_frame_start;
+ tfds->cache_frame_end = fds->cache_frame_end;
+ tfds->cache_frame_pause_data = fds->cache_frame_pause_data;
+ tfds->cache_frame_pause_noise = fds->cache_frame_pause_noise;
+ tfds->cache_frame_pause_mesh = fds->cache_frame_pause_mesh;
+ tfds->cache_frame_pause_particles = fds->cache_frame_pause_particles;
+ tfds->cache_frame_pause_guide = fds->cache_frame_pause_guide;
+ tfds->cache_frame_offset = fds->cache_frame_offset;
+ tfds->cache_flag = fds->cache_flag;
+ tfds->cache_type = fds->cache_type;
+ tfds->cache_mesh_format = fds->cache_mesh_format;
+ tfds->cache_data_format = fds->cache_data_format;
+ tfds->cache_particle_format = fds->cache_particle_format;
+ tfds->cache_noise_format = fds->cache_noise_format;
+ BLI_strncpy(tfds->cache_directory, fds->cache_directory, sizeof(tfds->cache_directory));
/* time options */
- tmds->time_scale = mds->time_scale;
- tmds->cfl_condition = mds->cfl_condition;
- tmds->timesteps_minimum = mds->timesteps_minimum;
- tmds->timesteps_maximum = mds->timesteps_maximum;
+ tfds->time_scale = fds->time_scale;
+ tfds->cfl_condition = fds->cfl_condition;
+ tfds->timesteps_minimum = fds->timesteps_minimum;
+ tfds->timesteps_maximum = fds->timesteps_maximum;
/* display options */
- tmds->slice_method = mds->slice_method;
- tmds->axis_slice_method = mds->axis_slice_method;
- tmds->slice_axis = mds->slice_axis;
- tmds->interp_method = mds->interp_method;
- tmds->draw_velocity = mds->draw_velocity;
- tmds->slice_per_voxel = mds->slice_per_voxel;
- tmds->slice_depth = mds->slice_depth;
- tmds->display_thickness = mds->display_thickness;
- if (mds->coba) {
- tmds->coba = MEM_dupallocN(mds->coba);
- }
- tmds->vector_scale = mds->vector_scale;
- tmds->vector_draw_type = mds->vector_draw_type;
- tmds->use_coba = mds->use_coba;
- tmds->coba_field = mds->coba_field;
+ tfds->slice_method = fds->slice_method;
+ tfds->axis_slice_method = fds->axis_slice_method;
+ tfds->slice_axis = fds->slice_axis;
+ tfds->interp_method = fds->interp_method;
+ tfds->draw_velocity = fds->draw_velocity;
+ tfds->slice_per_voxel = fds->slice_per_voxel;
+ tfds->slice_depth = fds->slice_depth;
+ tfds->display_thickness = fds->display_thickness;
+ if (fds->coba) {
+ tfds->coba = MEM_dupallocN(fds->coba);
+ }
+ tfds->vector_scale = fds->vector_scale;
+ tfds->vector_draw_type = fds->vector_draw_type;
+ tfds->use_coba = fds->use_coba;
+ tfds->coba_field = fds->coba_field;
/* -- Deprecated / unsed options (below)-- */
/* pointcache options */
- BKE_ptcache_free_list(&(tmds->ptcaches[0]));
+ BKE_ptcache_free_list(&(tfds->ptcaches[0]));
if (flag & LIB_ID_CREATE_NO_MAIN) {
/* Share the cache with the original object's modifier. */
- tmmd->modifier.flag |= eModifierFlag_SharedCaches;
- tmds->point_cache[0] = mds->point_cache[0];
- tmds->ptcaches[0] = mds->ptcaches[0];
+ tfmd->modifier.flag |= eModifierFlag_SharedCaches;
+ tfds->point_cache[0] = fds->point_cache[0];
+ tfds->ptcaches[0] = fds->ptcaches[0];
}
else {
- tmds->point_cache[0] = BKE_ptcache_copy_list(
- &(tmds->ptcaches[0]), &(mds->ptcaches[0]), flag);
+ tfds->point_cache[0] = BKE_ptcache_copy_list(
+ &(tfds->ptcaches[0]), &(fds->ptcaches[0]), flag);
}
/* OpenVDB cache options */
- tmds->openvdb_compression = mds->openvdb_compression;
- tmds->clipping = mds->clipping;
- tmds->openvdb_data_depth = mds->openvdb_data_depth;
+ tfds->openvdb_compression = fds->openvdb_compression;
+ tfds->clipping = fds->clipping;
+ tfds->openvdb_data_depth = fds->openvdb_data_depth;
}
- else if (tmmd->flow) {
- FluidFlowSettings *tmfs = tmmd->flow;
- FluidFlowSettings *mfs = mmd->flow;
+ else if (tfmd->flow) {
+ FluidFlowSettings *tffs = tfmd->flow;
+ FluidFlowSettings *ffs = fmd->flow;
- tmfs->psys = mfs->psys;
- tmfs->noise_texture = mfs->noise_texture;
+ tffs->psys = ffs->psys;
+ tffs->noise_texture = ffs->noise_texture;
/* initial velocity */
- tmfs->vel_multi = mfs->vel_multi;
- tmfs->vel_normal = mfs->vel_normal;
- tmfs->vel_random = mfs->vel_random;
- tmfs->vel_coord[0] = mfs->vel_coord[0];
- tmfs->vel_coord[1] = mfs->vel_coord[1];
- tmfs->vel_coord[2] = mfs->vel_coord[2];
+ tffs->vel_multi = ffs->vel_multi;
+ tffs->vel_normal = ffs->vel_normal;
+ tffs->vel_random = ffs->vel_random;
+ tffs->vel_coord[0] = ffs->vel_coord[0];
+ tffs->vel_coord[1] = ffs->vel_coord[1];
+ tffs->vel_coord[2] = ffs->vel_coord[2];
/* emission */
- tmfs->density = mfs->density;
- copy_v3_v3(tmfs->color, mfs->color);
- tmfs->fuel_amount = mfs->fuel_amount;
- tmfs->temperature = mfs->temperature;
- tmfs->volume_density = mfs->volume_density;
- tmfs->surface_distance = mfs->surface_distance;
- tmfs->particle_size = mfs->particle_size;
- tmfs->subframes = mfs->subframes;
+ tffs->density = ffs->density;
+ copy_v3_v3(tffs->color, ffs->color);
+ tffs->fuel_amount = ffs->fuel_amount;
+ tffs->temperature = ffs->temperature;
+ tffs->volume_density = ffs->volume_density;
+ tffs->surface_distance = ffs->surface_distance;
+ tffs->particle_size = ffs->particle_size;
+ tffs->subframes = ffs->subframes;
/* texture control */
- tmfs->texture_size = mfs->texture_size;
- tmfs->texture_offset = mfs->texture_offset;
- BLI_strncpy(tmfs->uvlayer_name, mfs->uvlayer_name, sizeof(tmfs->uvlayer_name));
- tmfs->vgroup_density = mfs->vgroup_density;
-
- tmfs->type = mfs->type;
- tmfs->behavior = mfs->behavior;
- tmfs->source = mfs->source;
- tmfs->texture_type = mfs->texture_type;
- tmfs->flags = mfs->flags;
- }
- else if (tmmd->effector) {
- FluidEffectorSettings *tmes = tmmd->effector;
- FluidEffectorSettings *mes = mmd->effector;
-
- tmes->surface_distance = mes->surface_distance;
- tmes->type = mes->type;
- tmes->flags = mes->flags;
- tmes->subframes = mes->subframes;
+ tffs->texture_size = ffs->texture_size;
+ tffs->texture_offset = ffs->texture_offset;
+ BLI_strncpy(tffs->uvlayer_name, ffs->uvlayer_name, sizeof(tffs->uvlayer_name));
+ tffs->vgroup_density = ffs->vgroup_density;
+
+ tffs->type = ffs->type;
+ tffs->behavior = ffs->behavior;
+ tffs->source = ffs->source;
+ tffs->texture_type = ffs->texture_type;
+ tffs->flags = ffs->flags;
+ }
+ else if (tfmd->effector) {
+ FluidEffectorSettings *tfes = tfmd->effector;
+ FluidEffectorSettings *fes = fmd->effector;
+
+ tfes->surface_distance = fes->surface_distance;
+ tfes->type = fes->type;
+ tfes->flags = fes->flags;
+ tfes->subframes = fes->subframes;
/* guide options */
- tmes->guide_mode = mes->guide_mode;
- tmes->vel_multi = mes->vel_multi;
+ tfes->guide_mode = fes->guide_mode;
+ tfes->vel_multi = fes->vel_multi;
}
}
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 5dc7a06cd6b..6331f87f09f 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1532,12 +1532,12 @@ void BKE_object_copy_particlesystems(Object *ob_dst, const Object *ob_src, const
}
}
else if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd->type == MOD_FLUID_TYPE_FLOW) {
- if (mmd->flow) {
- if (mmd->flow->psys == psys) {
- mmd->flow->psys = npsys;
+ if (fmd->type == MOD_FLUID_TYPE_FLOW) {
+ if (fmd->flow) {
+ if (fmd->flow->psys == psys) {
+ fmd->flow->psys = npsys;
}
}
}
@@ -4592,9 +4592,9 @@ bool BKE_object_modifier_update_subframe(Depsgraph *depsgraph,
}
}
else if (type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd && (mmd->type & MOD_FLUID_TYPE_DOMAIN) != 0) {
+ if (fmd && (fmd->type & MOD_FLUID_TYPE_DOMAIN) != 0) {
return true;
}
}
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index b589db33edb..942f3e0ca2b 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -3668,43 +3668,43 @@ void object_remove_particle_system(Main *bmain, Scene *UNUSED(scene), Object *ob
/* Clear particle system in fluid modifier. */
if ((md = BKE_modifiers_findby_type(ob, eModifierType_Fluid))) {
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
/* Clear particle system pointer in flow settings. */
- if ((mmd->type == MOD_FLUID_TYPE_FLOW) && mmd->flow && mmd->flow->psys) {
- if (mmd->flow->psys == psys) {
- mmd->flow->psys = NULL;
+ if ((fmd->type == MOD_FLUID_TYPE_FLOW) && fmd->flow && fmd->flow->psys) {
+ if (fmd->flow->psys == psys) {
+ fmd->flow->psys = NULL;
}
}
/* Clear particle flag in domain settings when removing particle system manually. */
- if (mmd->type == MOD_FLUID_TYPE_DOMAIN) {
+ if (fmd->type == MOD_FLUID_TYPE_DOMAIN) {
if (psys->part->type == PART_FLUID_FLIP) {
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
}
if (psys->part->type == PART_FLUID_SPRAY || psys->part->type == PART_FLUID_SPRAYFOAM ||
psys->part->type == PART_FLUID_SPRAYBUBBLE ||
psys->part->type == PART_FLUID_SPRAYFOAMBUBBLE) {
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_SPRAY;
}
if (psys->part->type == PART_FLUID_FOAM || psys->part->type == PART_FLUID_SPRAYFOAM ||
psys->part->type == PART_FLUID_FOAMBUBBLE ||
psys->part->type == PART_FLUID_SPRAYFOAMBUBBLE) {
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FOAM;
}
if (psys->part->type == PART_FLUID_BUBBLE || psys->part->type == PART_FLUID_FOAMBUBBLE ||
psys->part->type == PART_FLUID_SPRAYBUBBLE ||
psys->part->type == PART_FLUID_SPRAYFOAMBUBBLE) {
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_BUBBLE;
}
if (psys->part->type == PART_FLUID_TRACER) {
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_TRACER;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_TRACER;
}
/* Disable combined export if combined particle system was deleted. */
if (psys->part->type == PART_FLUID_SPRAYFOAM || psys->part->type == PART_FLUID_SPRAYBUBBLE ||
psys->part->type == PART_FLUID_FOAMBUBBLE ||
psys->part->type == PART_FLUID_SPRAYFOAMBUBBLE) {
- mmd->domain->sndparticle_combined_export = SNDPARTICLE_COMBINED_EXPORT_OFF;
+ fmd->domain->sndparticle_combined_export = SNDPARTICLE_COMBINED_EXPORT_OFF;
}
}
}
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index d09f9a8eb09..4dc4aea04a7 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -4188,11 +4188,11 @@ static void particles_fluid_step(ParticleSimulationData *sim,
#else
{
Object *ob = sim->ob;
- FluidModifierData *mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob,
+ FluidModifierData *fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob,
eModifierType_Fluid);
- if (mmd && mmd->domain && mmd->domain->fluid) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd && fmd->domain && fmd->domain->fluid) {
+ FluidDomainSettings *fds = fmd->domain;
ParticleSettings *part = psys->part;
ParticleData *pa = NULL;
@@ -4210,15 +4210,15 @@ static void particles_fluid_step(ParticleSimulationData *sim,
/* Sanity check: parts also enabled in fluid domain? */
if ((particles_has_flip(part->type) &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_FLIP) == 0) ||
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_FLIP) == 0) ||
(particles_has_spray(part->type) &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) == 0) ||
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) == 0) ||
(particles_has_bubble(part->type) &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) == 0) ||
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) == 0) ||
(particles_has_foam(part->type) &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) == 0) ||
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) == 0) ||
(particles_has_tracer(part->type) &&
- (mds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) == 0)) {
+ (fds->particle_type & FLUID_DOMAIN_PARTICLE_TRACER) == 0)) {
BLI_snprintf(debugStrBuffer,
sizeof(debugStrBuffer),
"particles_fluid_step::error - found particle system that is not enabled in "
@@ -4228,15 +4228,15 @@ static void particles_fluid_step(ParticleSimulationData *sim,
/* Count particle amount. tottypepart is only important for snd particles. */
if (part->type == PART_FLUID_FLIP) {
- tottypepart = totpart = manta_liquid_get_num_flip_particles(mds->fluid);
+ tottypepart = totpart = manta_liquid_get_num_flip_particles(fds->fluid);
}
if (particles_has_spray(part->type) || particles_has_bubble(part->type) ||
particles_has_foam(part->type) || particles_has_tracer(part->type)) {
- totpart = manta_liquid_get_num_snd_particles(mds->fluid);
+ totpart = manta_liquid_get_num_snd_particles(fds->fluid);
/* tottypepart is the amount of particles of a snd particle type. */
for (p = 0; p < totpart; p++) {
- flagActivePart = manta_liquid_get_snd_particle_flag_at(mds->fluid, p);
+ flagActivePart = manta_liquid_get_snd_particle_flag_at(fds->fluid, p);
if (particles_has_spray(part->type) && (flagActivePart & PARTICLE_TYPE_SPRAY)) {
tottypepart++;
}
@@ -4281,39 +4281,39 @@ static void particles_fluid_step(ParticleSimulationData *sim,
/* flag, res, upres, pos, vel for FLIP and snd particles have different getters. */
if (part->type == PART_FLUID_FLIP) {
- flagActivePart = manta_liquid_get_flip_particle_flag_at(mds->fluid, p);
+ flagActivePart = manta_liquid_get_flip_particle_flag_at(fds->fluid, p);
- resX = (float)manta_get_res_x(mds->fluid);
- resY = (float)manta_get_res_y(mds->fluid);
- resZ = (float)manta_get_res_z(mds->fluid);
+ resX = (float)manta_get_res_x(fds->fluid);
+ resY = (float)manta_get_res_y(fds->fluid);
+ resZ = (float)manta_get_res_z(fds->fluid);
upres = 1;
- posX = manta_liquid_get_flip_particle_position_x_at(mds->fluid, p);
- posY = manta_liquid_get_flip_particle_position_y_at(mds->fluid, p);
- posZ = manta_liquid_get_flip_particle_position_z_at(mds->fluid, p);
+ posX = manta_liquid_get_flip_particle_position_x_at(fds->fluid, p);
+ posY = manta_liquid_get_flip_particle_position_y_at(fds->fluid, p);
+ posZ = manta_liquid_get_flip_particle_position_z_at(fds->fluid, p);
- velX = manta_liquid_get_flip_particle_velocity_x_at(mds->fluid, p);
- velY = manta_liquid_get_flip_particle_velocity_y_at(mds->fluid, p);
- velZ = manta_liquid_get_flip_particle_velocity_z_at(mds->fluid, p);
+ velX = manta_liquid_get_flip_particle_velocity_x_at(fds->fluid, p);
+ velY = manta_liquid_get_flip_particle_velocity_y_at(fds->fluid, p);
+ velZ = manta_liquid_get_flip_particle_velocity_z_at(fds->fluid, p);
}
else if (particles_has_spray(part->type) || particles_has_bubble(part->type) ||
particles_has_foam(part->type) || particles_has_tracer(part->type)) {
- flagActivePart = manta_liquid_get_snd_particle_flag_at(mds->fluid, p);
+ flagActivePart = manta_liquid_get_snd_particle_flag_at(fds->fluid, p);
- resX = (float)manta_liquid_get_particle_res_x(mds->fluid);
- resY = (float)manta_liquid_get_particle_res_y(mds->fluid);
- resZ = (float)manta_liquid_get_particle_res_z(mds->fluid);
+ resX = (float)manta_liquid_get_particle_res_x(fds->fluid);
+ resY = (float)manta_liquid_get_particle_res_y(fds->fluid);
+ resZ = (float)manta_liquid_get_particle_res_z(fds->fluid);
- upres = manta_liquid_get_particle_upres(mds->fluid);
+ upres = manta_liquid_get_particle_upres(fds->fluid);
- posX = manta_liquid_get_snd_particle_position_x_at(mds->fluid, p);
- posY = manta_liquid_get_snd_particle_position_y_at(mds->fluid, p);
- posZ = manta_liquid_get_snd_particle_position_z_at(mds->fluid, p);
+ posX = manta_liquid_get_snd_particle_position_x_at(fds->fluid, p);
+ posY = manta_liquid_get_snd_particle_position_y_at(fds->fluid, p);
+ posZ = manta_liquid_get_snd_particle_position_z_at(fds->fluid, p);
- velX = manta_liquid_get_snd_particle_velocity_x_at(mds->fluid, p);
- velY = manta_liquid_get_snd_particle_velocity_y_at(mds->fluid, p);
- velZ = manta_liquid_get_snd_particle_velocity_z_at(mds->fluid, p);
+ velX = manta_liquid_get_snd_particle_velocity_x_at(fds->fluid, p);
+ velY = manta_liquid_get_snd_particle_velocity_y_at(fds->fluid, p);
+ velZ = manta_liquid_get_snd_particle_velocity_z_at(fds->fluid, p);
}
else {
BLI_snprintf(debugStrBuffer,
@@ -4362,10 +4362,10 @@ static void particles_fluid_step(ParticleSimulationData *sim,
}
/* Get size (dimension) but considering scaling */
- copy_v3_v3(cell_size_scaled, mds->cell_size);
+ copy_v3_v3(cell_size_scaled, fds->cell_size);
mul_v3_v3(cell_size_scaled, ob->scale);
- madd_v3fl_v3fl_v3fl_v3i(min, mds->p0, cell_size_scaled, mds->res_min);
- madd_v3fl_v3fl_v3fl_v3i(max, mds->p0, cell_size_scaled, mds->res_max);
+ madd_v3fl_v3fl_v3fl_v3i(min, fds->p0, cell_size_scaled, fds->res_min);
+ madd_v3fl_v3fl_v3fl_v3i(max, fds->p0, cell_size_scaled, fds->res_max);
sub_v3_v3v3(size, max, min);
/* Biggest dimension will be used for up-scaling. */
@@ -4379,7 +4379,7 @@ static void particles_fluid_step(ParticleSimulationData *sim,
float resDomain[3] = {resX, resY, resZ};
mul_v3_fl(resDomain, 0.5f);
sub_v3_v3(pa->state.co, resDomain);
- mul_v3_fl(pa->state.co, mds->dx);
+ mul_v3_fl(pa->state.co, fds->dx);
/* Match domain dimension / size. */
float scaleAbs[3] = {
@@ -4393,9 +4393,9 @@ static void particles_fluid_step(ParticleSimulationData *sim,
/* Add origin offset to particle position. */
zero_v3(tmp);
zero_v3(tmp2);
- sub_v3_v3v3(tmp2, mds->p1, mds->p0);
+ sub_v3_v3v3(tmp2, fds->p1, fds->p0);
mul_v3_fl(tmp2, 0.5f);
- add_v3_v3v3(tmp, tmp, mds->p1);
+ add_v3_v3v3(tmp, tmp, fds->p1);
sub_v3_v3(tmp, tmp2);
mul_v3_v3(tmp, ob->scale);
add_v3_v3(pa->state.co, tmp);
@@ -4407,7 +4407,7 @@ static void particles_fluid_step(ParticleSimulationData *sim,
/* Set particle velocity. */
float velParticle[3] = {velX, velY, velZ};
copy_v3_v3(pa->state.vel, velParticle);
- mul_v3_fl(pa->state.vel, mds->dx);
+ mul_v3_fl(pa->state.vel, fds->dx);
# if 0
/* Debugging: Print particle velocity. */
printf("pa->state.vel[0]: %f, pa->state.vel[1]: %f, pa->state.vel[2]: %f\n",
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index ab392e50053..61308810191 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -627,11 +627,11 @@ static void ptcache_cloth_error(void *cloth_v, const char *message)
/* Smoke functions */
static int ptcache_smoke_totpoint(void *smoke_v, int UNUSED(cfra))
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ FluidDomainSettings *fds = fmd->domain;
- if (mds->fluid) {
- return mds->base_res[0] * mds->base_res[1] * mds->base_res[2];
+ if (fds->fluid) {
+ return fds->base_res[0] * fds->base_res[1] * fds->base_res[2];
}
else {
return 0;
@@ -640,28 +640,28 @@ static int ptcache_smoke_totpoint(void *smoke_v, int UNUSED(cfra))
static void ptcache_smoke_error(void *smoke_v, const char *message)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- BKE_modifier_set_error(&mmd->modifier, "%s", message);
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ BKE_modifier_set_error(&fmd->modifier, "%s", message);
}
# define SMOKE_CACHE_VERSION "1.04"
static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ FluidDomainSettings *fds = fmd->domain;
int ret = 0;
- int fluid_fields = BKE_fluid_get_data_flags(mds);
+ int fluid_fields = BKE_fluid_get_data_flags(fds);
/* version header */
ptcache_file_write(pf, SMOKE_CACHE_VERSION, 4, sizeof(char));
ptcache_file_write(pf, &fluid_fields, 1, sizeof(int));
- ptcache_file_write(pf, &mds->active_fields, 1, sizeof(int));
- ptcache_file_write(pf, &mds->res, 3, sizeof(int));
- ptcache_file_write(pf, &mds->dx, 1, sizeof(float));
+ ptcache_file_write(pf, &fds->active_fields, 1, sizeof(int));
+ ptcache_file_write(pf, &fds->res, 3, sizeof(int));
+ ptcache_file_write(pf, &fds->dx, 1, sizeof(float));
- if (mds->fluid) {
- size_t res = mds->res[0] * mds->res[1] * mds->res[2];
+ if (fds->fluid) {
+ size_t res = fds->res[0] * fds->res[1] * fds->res[2];
float dt, dx, *dens, *react, *fuel, *flame, *heat, *heatold, *vx, *vy, *vz, *r, *g, *b;
unsigned char *obstacles;
unsigned int in_len = sizeof(float) * (unsigned int)res;
@@ -669,11 +669,11 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
"pointcache_lzo_buffer");
// int mode = res >= 1000000 ? 2 : 1;
int mode = 1; // light
- if (mds->cache_comp == SM_CACHE_HEAVY) {
+ if (fds->cache_comp == SM_CACHE_HEAVY) {
mode = 2; // heavy
}
- smoke_export(mds->fluid,
+ smoke_export(fds->fluid,
&dt,
&dx,
&dens,
@@ -691,7 +691,7 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
&obstacles,
NULL);
- ptcache_file_compressed_write(pf, (unsigned char *)mds->shadow, in_len, out, mode);
+ ptcache_file_compressed_write(pf, (unsigned char *)fds->shadow, in_len, out, mode);
ptcache_file_compressed_write(pf, (unsigned char *)dens, in_len, out, mode);
if (fluid_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
ptcache_file_compressed_write(pf, (unsigned char *)heat, in_len, out, mode);
@@ -713,43 +713,43 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
ptcache_file_compressed_write(pf, (unsigned char *)obstacles, (unsigned int)res, out, mode);
ptcache_file_write(pf, &dt, 1, sizeof(float));
ptcache_file_write(pf, &dx, 1, sizeof(float));
- ptcache_file_write(pf, &mds->p0, 3, sizeof(float));
- ptcache_file_write(pf, &mds->p1, 3, sizeof(float));
- ptcache_file_write(pf, &mds->dp0, 3, sizeof(float));
- ptcache_file_write(pf, &mds->shift, 3, sizeof(int));
- ptcache_file_write(pf, &mds->obj_shift_f, 3, sizeof(float));
- ptcache_file_write(pf, &mds->obmat, 16, sizeof(float));
- ptcache_file_write(pf, &mds->base_res, 3, sizeof(int));
- ptcache_file_write(pf, &mds->res_min, 3, sizeof(int));
- ptcache_file_write(pf, &mds->res_max, 3, sizeof(int));
- ptcache_file_write(pf, &mds->active_color, 3, sizeof(float));
+ ptcache_file_write(pf, &fds->p0, 3, sizeof(float));
+ ptcache_file_write(pf, &fds->p1, 3, sizeof(float));
+ ptcache_file_write(pf, &fds->dp0, 3, sizeof(float));
+ ptcache_file_write(pf, &fds->shift, 3, sizeof(int));
+ ptcache_file_write(pf, &fds->obj_shift_f, 3, sizeof(float));
+ ptcache_file_write(pf, &fds->obmat, 16, sizeof(float));
+ ptcache_file_write(pf, &fds->base_res, 3, sizeof(int));
+ ptcache_file_write(pf, &fds->res_min, 3, sizeof(int));
+ ptcache_file_write(pf, &fds->res_max, 3, sizeof(int));
+ ptcache_file_write(pf, &fds->active_color, 3, sizeof(float));
MEM_freeN(out);
ret = 1;
}
- if (mds->wt) {
+ if (fds->wt) {
int res_big_array[3];
int res_big;
- int res = mds->res[0] * mds->res[1] * mds->res[2];
+ int res = fds->res[0] * fds->res[1] * fds->res[2];
float *dens, *react, *fuel, *flame, *tcu, *tcv, *tcw, *r, *g, *b;
unsigned int in_len = sizeof(float) * (unsigned int)res;
unsigned int in_len_big;
unsigned char *out;
int mode;
- smoke_turbulence_get_res(mds->wt, res_big_array);
+ smoke_turbulence_get_res(fds->wt, res_big_array);
res_big = res_big_array[0] * res_big_array[1] * res_big_array[2];
// mode = res_big >= 1000000 ? 2 : 1;
mode = 1; // light
- if (mds->cache_high_comp == SM_CACHE_HEAVY) {
+ if (fds->cache_high_comp == SM_CACHE_HEAVY) {
mode = 2; // heavy
}
in_len_big = sizeof(float) * (unsigned int)res_big;
- smoke_turbulence_export(mds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
+ smoke_turbulence_export(fds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
out = (unsigned char *)MEM_callocN(LZO_OUT_LEN(in_len_big), "pointcache_lzo_buffer");
ptcache_file_compressed_write(pf, (unsigned char *)dens, in_len_big, out, mode);
@@ -780,24 +780,24 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
/* read old smoke cache from 2.64 */
static int ptcache_smoke_read_old(PTCacheFile *pf, void *smoke_v)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ FluidDomainSettings *fds = fmd->domain;
- if (mds->fluid) {
- const size_t res = mds->res[0] * mds->res[1] * mds->res[2];
+ if (fds->fluid) {
+ const size_t res = fds->res[0] * fds->res[1] * fds->res[2];
const unsigned int out_len = (unsigned int)res * sizeof(float);
float dt, dx, *dens, *heat, *heatold, *vx, *vy, *vz;
unsigned char *obstacles;
float *tmp_array = MEM_callocN(out_len, "Smoke old cache tmp");
- int fluid_fields = BKE_fluid_get_data_flags(mds);
+ int fluid_fields = BKE_fluid_get_data_flags(fds);
/* Part part of the new cache header */
- mds->active_color[0] = 0.7f;
- mds->active_color[1] = 0.7f;
- mds->active_color[2] = 0.7f;
+ fds->active_color[0] = 0.7f;
+ fds->active_color[1] = 0.7f;
+ fds->active_color[2] = 0.7f;
- smoke_export(mds->fluid,
+ smoke_export(fds->fluid,
&dt,
&dx,
&dens,
@@ -815,7 +815,7 @@ static int ptcache_smoke_read_old(PTCacheFile *pf, void *smoke_v)
&obstacles,
NULL);
- ptcache_file_compressed_read(pf, (unsigned char *)mds->shadow, out_len);
+ ptcache_file_compressed_read(pf, (unsigned char *)fds->shadow, out_len);
ptcache_file_compressed_read(pf, (unsigned char *)dens, out_len);
ptcache_file_compressed_read(pf, (unsigned char *)tmp_array, out_len);
@@ -839,19 +839,19 @@ static int ptcache_smoke_read_old(PTCacheFile *pf, void *smoke_v)
MEM_freeN(tmp_array);
- if (pf->data_types & (1 << BPHYS_DATA_SMOKE_HIGH) && mds->wt) {
+ if (pf->data_types & (1 << BPHYS_DATA_SMOKE_HIGH) && fds->wt) {
int res_big, res_big_array[3];
float *tcu, *tcv, *tcw;
unsigned int out_len_big;
unsigned char *tmp_array_big;
- smoke_turbulence_get_res(mds->wt, res_big_array);
+ smoke_turbulence_get_res(fds->wt, res_big_array);
res_big = res_big_array[0] * res_big_array[1] * res_big_array[2];
out_len_big = sizeof(float) * (unsigned int)res_big;
tmp_array_big = MEM_callocN(out_len_big, "Smoke old cache tmp");
smoke_turbulence_export(
- mds->wt, &dens, NULL, NULL, NULL, NULL, NULL, NULL, &tcu, &tcv, &tcw);
+ fds->wt, &dens, NULL, NULL, NULL, NULL, NULL, NULL, &tcu, &tcv, &tcw);
ptcache_file_compressed_read(pf, (unsigned char *)dens, out_len_big);
ptcache_file_compressed_read(pf, (unsigned char *)tmp_array_big, out_len_big);
@@ -869,12 +869,12 @@ static int ptcache_smoke_read_old(PTCacheFile *pf, void *smoke_v)
static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ FluidDomainSettings *fds = fmd->domain;
char version[4];
int ch_res[3];
float ch_dx;
- int fluid_fields = BKE_fluid_get_data_flags(mds);
+ int fluid_fields = BKE_fluid_get_data_flags(fds);
int cache_fields = 0;
int active_fields = 0;
int reallocate = 0;
@@ -894,8 +894,8 @@ static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
ptcache_file_read(pf, &ch_dx, 1, sizeof(float));
/* check if resolution has changed */
- if (mds->res[0] != ch_res[0] || mds->res[1] != ch_res[1] || mds->res[2] != ch_res[2]) {
- if (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ if (fds->res[0] != ch_res[0] || fds->res[1] != ch_res[1] || fds->res[2] != ch_res[2]) {
+ if (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
reallocate = 1;
}
else {
@@ -903,26 +903,26 @@ static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
}
}
/* check if active fields have changed */
- if (fluid_fields != cache_fields || active_fields != mds->active_fields) {
+ if (fluid_fields != cache_fields || active_fields != fds->active_fields) {
reallocate = 1;
}
/* reallocate fluid if needed*/
if (reallocate) {
- mds->active_fields = active_fields | cache_fields;
- BKE_fluid_reallocate_fluid(mds, ch_res, 1);
- mds->dx = ch_dx;
- copy_v3_v3_int(mds->res, ch_res);
- mds->total_cells = ch_res[0] * ch_res[1] * ch_res[2];
+ fds->active_fields = active_fields | cache_fields;
+ BKE_fluid_reallocate_fluid(fds, ch_res, 1);
+ fds->dx = ch_dx;
+ copy_v3_v3_int(fds->res, ch_res);
+ fds->total_cells = ch_res[0] * ch_res[1] * ch_res[2];
}
- if (mds->fluid) {
- size_t res = mds->res[0] * mds->res[1] * mds->res[2];
+ if (fds->fluid) {
+ size_t res = fds->res[0] * fds->res[1] * fds->res[2];
float dt, dx, *dens, *react, *fuel, *flame, *heat, *heatold, *vx, *vy, *vz, *r, *g, *b;
unsigned char *obstacles;
unsigned int out_len = (unsigned int)res * sizeof(float);
- smoke_export(mds->fluid,
+ smoke_export(fds->fluid,
&dt,
&dx,
&dens,
@@ -940,7 +940,7 @@ static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
&obstacles,
NULL);
- ptcache_file_compressed_read(pf, (unsigned char *)mds->shadow, out_len);
+ ptcache_file_compressed_read(pf, (unsigned char *)fds->shadow, out_len);
ptcache_file_compressed_read(pf, (unsigned char *)dens, out_len);
if (cache_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
ptcache_file_compressed_read(pf, (unsigned char *)heat, out_len);
@@ -962,30 +962,30 @@ static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
ptcache_file_compressed_read(pf, (unsigned char *)obstacles, (unsigned int)res);
ptcache_file_read(pf, &dt, 1, sizeof(float));
ptcache_file_read(pf, &dx, 1, sizeof(float));
- ptcache_file_read(pf, &mds->p0, 3, sizeof(float));
- ptcache_file_read(pf, &mds->p1, 3, sizeof(float));
- ptcache_file_read(pf, &mds->dp0, 3, sizeof(float));
- ptcache_file_read(pf, &mds->shift, 3, sizeof(int));
- ptcache_file_read(pf, &mds->obj_shift_f, 3, sizeof(float));
- ptcache_file_read(pf, &mds->obmat, 16, sizeof(float));
- ptcache_file_read(pf, &mds->base_res, 3, sizeof(int));
- ptcache_file_read(pf, &mds->res_min, 3, sizeof(int));
- ptcache_file_read(pf, &mds->res_max, 3, sizeof(int));
- ptcache_file_read(pf, &mds->active_color, 3, sizeof(float));
- }
-
- if (pf->data_types & (1 << BPHYS_DATA_SMOKE_HIGH) && mds->wt) {
- int res = mds->res[0] * mds->res[1] * mds->res[2];
+ ptcache_file_read(pf, &fds->p0, 3, sizeof(float));
+ ptcache_file_read(pf, &fds->p1, 3, sizeof(float));
+ ptcache_file_read(pf, &fds->dp0, 3, sizeof(float));
+ ptcache_file_read(pf, &fds->shift, 3, sizeof(int));
+ ptcache_file_read(pf, &fds->obj_shift_f, 3, sizeof(float));
+ ptcache_file_read(pf, &fds->obmat, 16, sizeof(float));
+ ptcache_file_read(pf, &fds->base_res, 3, sizeof(int));
+ ptcache_file_read(pf, &fds->res_min, 3, sizeof(int));
+ ptcache_file_read(pf, &fds->res_max, 3, sizeof(int));
+ ptcache_file_read(pf, &fds->active_color, 3, sizeof(float));
+ }
+
+ if (pf->data_types & (1 << BPHYS_DATA_SMOKE_HIGH) && fds->wt) {
+ int res = fds->res[0] * fds->res[1] * fds->res[2];
int res_big, res_big_array[3];
float *dens, *react, *fuel, *flame, *tcu, *tcv, *tcw, *r, *g, *b;
unsigned int out_len = sizeof(float) * (unsigned int)res;
unsigned int out_len_big;
- smoke_turbulence_get_res(mds->wt, res_big_array);
+ smoke_turbulence_get_res(fds->wt, res_big_array);
res_big = res_big_array[0] * res_big_array[1] * res_big_array[2];
out_len_big = sizeof(float) * (unsigned int)res_big;
- smoke_turbulence_export(mds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
+ smoke_turbulence_export(fds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
ptcache_file_compressed_read(pf, (unsigned char *)dens, out_len_big);
if (cache_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
@@ -1020,88 +1020,88 @@ static int ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
* with `vs` = voxel size, and `px, py, pz`,
* the min position of the domain's bounding box.
*/
-static void compute_fluid_matrices(FluidDomainSettings *mds)
+static void compute_fluid_matrices(FluidDomainSettings *fds)
{
float bbox_min[3];
- copy_v3_v3(bbox_min, mds->p0);
+ copy_v3_v3(bbox_min, fds->p0);
- if (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
- bbox_min[0] += (mds->cell_size[0] * (float)mds->res_min[0]);
- bbox_min[1] += (mds->cell_size[1] * (float)mds->res_min[1]);
- bbox_min[2] += (mds->cell_size[2] * (float)mds->res_min[2]);
- add_v3_v3(bbox_min, mds->obj_shift_f);
+ if (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ bbox_min[0] += (fds->cell_size[0] * (float)fds->res_min[0]);
+ bbox_min[1] += (fds->cell_size[1] * (float)fds->res_min[1]);
+ bbox_min[2] += (fds->cell_size[2] * (float)fds->res_min[2]);
+ add_v3_v3(bbox_min, fds->obj_shift_f);
}
/* construct low res matrix */
- size_to_mat4(mds->fluidmat, mds->cell_size);
- copy_v3_v3(mds->fluidmat[3], bbox_min);
+ size_to_mat4(fds->fluidmat, fds->cell_size);
+ copy_v3_v3(fds->fluidmat[3], bbox_min);
/* The smoke simulator stores voxels cell-centered, whilst VDB is node
* centered, so we offset the matrix by half a voxel to compensate. */
- madd_v3_v3fl(mds->fluidmat[3], mds->cell_size, 0.5f);
+ madd_v3_v3fl(fds->fluidmat[3], fds->cell_size, 0.5f);
- mul_m4_m4m4(mds->fluidmat, mds->obmat, mds->fluidmat);
+ mul_m4_m4m4(fds->fluidmat, fds->obmat, fds->fluidmat);
- if (mds->wt) {
+ if (fds->wt) {
float voxel_size_high[3];
/* construct high res matrix */
- mul_v3_v3fl(voxel_size_high, mds->cell_size, 1.0f / (float)(mds->amplify + 1));
- size_to_mat4(mds->fluidmat_wt, voxel_size_high);
- copy_v3_v3(mds->fluidmat_wt[3], bbox_min);
+ mul_v3_v3fl(voxel_size_high, fds->cell_size, 1.0f / (float)(fds->amplify + 1));
+ size_to_mat4(fds->fluidmat_wt, voxel_size_high);
+ copy_v3_v3(fds->fluidmat_wt[3], bbox_min);
/* Same here, add half a voxel to adjust the position of the fluid. */
- madd_v3_v3fl(mds->fluidmat_wt[3], voxel_size_high, 0.5f);
+ madd_v3_v3fl(fds->fluidmat_wt[3], voxel_size_high, 0.5f);
- mul_m4_m4m4(mds->fluidmat_wt, mds->obmat, mds->fluidmat_wt);
+ mul_m4_m4m4(fds->fluidmat_wt, fds->obmat, fds->fluidmat_wt);
}
}
static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke_v)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
+ FluidDomainSettings *fds = fmd->domain;
- OpenVDBWriter_set_flags(writer, mds->openvdb_compression, (mds->openvdb_data_depth == 16));
+ OpenVDBWriter_set_flags(writer, fds->openvdb_compression, (fds->openvdb_data_depth == 16));
- OpenVDBWriter_add_meta_int(writer, "blender/smoke/active_fields", mds->active_fields);
- OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/resolution", mds->res);
- OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/min_resolution", mds->res_min);
- OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/max_resolution", mds->res_max);
- OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/base_resolution", mds->base_res);
- OpenVDBWriter_add_meta_v3(writer, "blender/smoke/min_bbox", mds->p0);
- OpenVDBWriter_add_meta_v3(writer, "blender/smoke/max_bbox", mds->p1);
- OpenVDBWriter_add_meta_v3(writer, "blender/smoke/dp0", mds->dp0);
- OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/shift", mds->shift);
- OpenVDBWriter_add_meta_v3(writer, "blender/smoke/obj_shift_f", mds->obj_shift_f);
- OpenVDBWriter_add_meta_v3(writer, "blender/smoke/active_color", mds->active_color);
- OpenVDBWriter_add_meta_mat4(writer, "blender/smoke/obmat", mds->obmat);
+ OpenVDBWriter_add_meta_int(writer, "blender/smoke/active_fields", fds->active_fields);
+ OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/resolution", fds->res);
+ OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/min_resolution", fds->res_min);
+ OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/max_resolution", fds->res_max);
+ OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/base_resolution", fds->base_res);
+ OpenVDBWriter_add_meta_v3(writer, "blender/smoke/min_bbox", fds->p0);
+ OpenVDBWriter_add_meta_v3(writer, "blender/smoke/max_bbox", fds->p1);
+ OpenVDBWriter_add_meta_v3(writer, "blender/smoke/dp0", fds->dp0);
+ OpenVDBWriter_add_meta_v3_int(writer, "blender/smoke/shift", fds->shift);
+ OpenVDBWriter_add_meta_v3(writer, "blender/smoke/obj_shift_f", fds->obj_shift_f);
+ OpenVDBWriter_add_meta_v3(writer, "blender/smoke/active_color", fds->active_color);
+ OpenVDBWriter_add_meta_mat4(writer, "blender/smoke/obmat", fds->obmat);
- int fluid_fields = BKE_fluid_get_data_flags(mds);
+ int fluid_fields = BKE_fluid_get_data_flags(fds);
struct OpenVDBFloatGrid *clip_grid = NULL;
- compute_fluid_matrices(mds);
+ compute_fluid_matrices(fds);
OpenVDBWriter_add_meta_int(writer, "blender/smoke/fluid_fields", fluid_fields);
- if (mds->wt) {
+ if (fds->wt) {
struct OpenVDBFloatGrid *wt_density_grid;
float *dens, *react, *fuel, *flame, *tcu, *tcv, *tcw, *r, *g, *b;
- smoke_turbulence_export(mds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
+ smoke_turbulence_export(fds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
wt_density_grid = OpenVDB_export_grid_fl(
- writer, "density", dens, mds->res_wt, mds->fluidmat_wt, mds->clipping, NULL);
+ writer, "density", dens, fds->res_wt, fds->fluidmat_wt, fds->clipping, NULL);
clip_grid = wt_density_grid;
if (fluid_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
OpenVDB_export_grid_fl(
- writer, "flame", flame, mds->res_wt, mds->fluidmat_wt, mds->clipping, wt_density_grid);
+ writer, "flame", flame, fds->res_wt, fds->fluidmat_wt, fds->clipping, wt_density_grid);
OpenVDB_export_grid_fl(
- writer, "fuel", fuel, mds->res_wt, mds->fluidmat_wt, mds->clipping, wt_density_grid);
+ writer, "fuel", fuel, fds->res_wt, fds->fluidmat_wt, fds->clipping, wt_density_grid);
OpenVDB_export_grid_fl(
- writer, "react", react, mds->res_wt, mds->fluidmat_wt, mds->clipping, wt_density_grid);
+ writer, "react", react, fds->res_wt, fds->fluidmat_wt, fds->clipping, wt_density_grid);
}
if (fluid_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
@@ -1110,11 +1110,11 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
r,
g,
b,
- mds->res_wt,
- mds->fluidmat_wt,
+ fds->res_wt,
+ fds->fluidmat_wt,
VEC_INVARIANT,
true,
- mds->clipping,
+ fds->clipping,
wt_density_grid);
}
@@ -1123,20 +1123,20 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
tcu,
tcv,
tcw,
- mds->res,
- mds->fluidmat,
+ fds->res,
+ fds->fluidmat,
VEC_INVARIANT,
false,
- mds->clipping,
+ fds->clipping,
wt_density_grid);
}
- if (mds->fluid) {
+ if (fds->fluid) {
struct OpenVDBFloatGrid *density_grid;
float dt, dx, *dens, *react, *fuel, *flame, *heat, *heatold, *vx, *vy, *vz, *r, *g, *b;
unsigned char *obstacles;
- smoke_export(mds->fluid,
+ smoke_export(fds->fluid,
&dt,
&dx,
&dens,
@@ -1157,45 +1157,45 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
OpenVDBWriter_add_meta_fl(writer, "blender/smoke/dx", dx);
OpenVDBWriter_add_meta_fl(writer, "blender/smoke/dt", dt);
- const char *name = (!mds->wt) ? "density" : "density_low";
+ const char *name = (!fds->wt) ? "density" : "density_low";
density_grid = OpenVDB_export_grid_fl(
- writer, name, dens, mds->res, mds->fluidmat, mds->clipping, NULL);
- clip_grid = mds->wt ? clip_grid : density_grid;
+ writer, name, dens, fds->res, fds->fluidmat, fds->clipping, NULL);
+ clip_grid = fds->wt ? clip_grid : density_grid;
OpenVDB_export_grid_fl(
- writer, "shadow", mds->shadow, mds->res, mds->fluidmat, mds->clipping, NULL);
+ writer, "shadow", fds->shadow, fds->res, fds->fluidmat, fds->clipping, NULL);
if (fluid_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
OpenVDB_export_grid_fl(
- writer, "heat", heat, mds->res, mds->fluidmat, mds->clipping, clip_grid);
+ writer, "heat", heat, fds->res, fds->fluidmat, fds->clipping, clip_grid);
OpenVDB_export_grid_fl(
- writer, "heat_old", heatold, mds->res, mds->fluidmat, mds->clipping, clip_grid);
+ writer, "heat_old", heatold, fds->res, fds->fluidmat, fds->clipping, clip_grid);
}
if (fluid_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
- name = (!mds->wt) ? "flame" : "flame_low";
+ name = (!fds->wt) ? "flame" : "flame_low";
OpenVDB_export_grid_fl(
- writer, name, flame, mds->res, mds->fluidmat, mds->clipping, density_grid);
- name = (!mds->wt) ? "fuel" : "fuel_low";
+ writer, name, flame, fds->res, fds->fluidmat, fds->clipping, density_grid);
+ name = (!fds->wt) ? "fuel" : "fuel_low";
OpenVDB_export_grid_fl(
- writer, name, fuel, mds->res, mds->fluidmat, mds->clipping, density_grid);
- name = (!mds->wt) ? "react" : "react_low";
+ writer, name, fuel, fds->res, fds->fluidmat, fds->clipping, density_grid);
+ name = (!fds->wt) ? "react" : "react_low";
OpenVDB_export_grid_fl(
- writer, name, react, mds->res, mds->fluidmat, mds->clipping, density_grid);
+ writer, name, react, fds->res, fds->fluidmat, fds->clipping, density_grid);
}
if (fluid_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
- name = (!mds->wt) ? "color" : "color_low";
+ name = (!fds->wt) ? "color" : "color_low";
OpenVDB_export_grid_vec(writer,
name,
r,
g,
b,
- mds->res,
- mds->fluidmat,
+ fds->res,
+ fds->fluidmat,
VEC_INVARIANT,
true,
- mds->clipping,
+ fds->clipping,
density_grid);
}
@@ -1204,14 +1204,14 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
vx,
vy,
vz,
- mds->res,
- mds->fluidmat,
+ fds->res,
+ fds->fluidmat,
VEC_CONTRAVARIANT_RELATIVE,
false,
- mds->clipping,
+ fds->clipping,
clip_grid);
OpenVDB_export_grid_ch(
- writer, "obstacles", obstacles, mds->res, mds->fluidmat, mds->clipping, NULL);
+ writer, "obstacles", obstacles, fds->res, fds->fluidmat, fds->clipping, NULL);
}
return 1;
@@ -1219,38 +1219,38 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_v)
{
- FluidModifierData *mmd = (FluidModifierData *)smoke_v;
+ FluidModifierData *fmd = (FluidModifierData *)smoke_v;
- if (!mmd) {
+ if (!fmd) {
return 0;
}
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
- int fluid_fields = BKE_fluid_get_data_flags(mds);
+ int fluid_fields = BKE_fluid_get_data_flags(fds);
int active_fields, cache_fields = 0;
int cache_res[3];
float cache_dx;
bool reallocate = false;
- OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/min_resolution", mds->res_min);
- OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/max_resolution", mds->res_max);
- OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/base_resolution", mds->base_res);
- OpenVDBReader_get_meta_v3(reader, "blender/smoke/min_bbox", mds->p0);
- OpenVDBReader_get_meta_v3(reader, "blender/smoke/max_bbox", mds->p1);
- OpenVDBReader_get_meta_v3(reader, "blender/smoke/dp0", mds->dp0);
- OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/shift", mds->shift);
- OpenVDBReader_get_meta_v3(reader, "blender/smoke/obj_shift_f", mds->obj_shift_f);
- OpenVDBReader_get_meta_v3(reader, "blender/smoke/active_color", mds->active_color);
- OpenVDBReader_get_meta_mat4(reader, "blender/smoke/obmat", mds->obmat);
+ OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/min_resolution", fds->res_min);
+ OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/max_resolution", fds->res_max);
+ OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/base_resolution", fds->base_res);
+ OpenVDBReader_get_meta_v3(reader, "blender/smoke/min_bbox", fds->p0);
+ OpenVDBReader_get_meta_v3(reader, "blender/smoke/max_bbox", fds->p1);
+ OpenVDBReader_get_meta_v3(reader, "blender/smoke/dp0", fds->dp0);
+ OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/shift", fds->shift);
+ OpenVDBReader_get_meta_v3(reader, "blender/smoke/obj_shift_f", fds->obj_shift_f);
+ OpenVDBReader_get_meta_v3(reader, "blender/smoke/active_color", fds->active_color);
+ OpenVDBReader_get_meta_mat4(reader, "blender/smoke/obmat", fds->obmat);
OpenVDBReader_get_meta_int(reader, "blender/smoke/fluid_fields", &cache_fields);
OpenVDBReader_get_meta_int(reader, "blender/smoke/active_fields", &active_fields);
OpenVDBReader_get_meta_fl(reader, "blender/smoke/dx", &cache_dx);
OpenVDBReader_get_meta_v3_int(reader, "blender/smoke/resolution", cache_res);
/* check if resolution has changed */
- if (mds->res[0] != cache_res[0] || mds->res[1] != cache_res[1] || mds->res[2] != cache_res[2]) {
- if (mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
+ if (fds->res[0] != cache_res[0] || fds->res[1] != cache_res[1] || fds->res[2] != cache_res[2]) {
+ if (fds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) {
reallocate = true;
}
else {
@@ -1259,24 +1259,24 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
}
/* check if active fields have changed */
- if ((fluid_fields != cache_fields) || (active_fields != mds->active_fields)) {
+ if ((fluid_fields != cache_fields) || (active_fields != fds->active_fields)) {
reallocate = true;
}
/* reallocate fluid if needed*/
if (reallocate) {
- mds->active_fields = active_fields | cache_fields;
- BKE_fluid_reallocate_fluid(mds, cache_dx, cache_res, 1);
- mds->dx = cache_dx;
- copy_v3_v3_int(mds->res, cache_res);
- mds->total_cells = cache_res[0] * cache_res[1] * cache_res[2];
+ fds->active_fields = active_fields | cache_fields;
+ BKE_fluid_reallocate_fluid(fds, cache_dx, cache_res, 1);
+ fds->dx = cache_dx;
+ copy_v3_v3_int(fds->res, cache_res);
+ fds->total_cells = cache_res[0] * cache_res[1] * cache_res[2];
}
- if (mds->fluid) {
+ if (fds->fluid) {
float dt, dx, *dens, *react, *fuel, *flame, *heat, *heatold, *vx, *vy, *vz, *r, *g, *b;
unsigned char *obstacles;
- smoke_export(mds->fluid,
+ smoke_export(fds->fluid,
&dt,
&dx,
&dens,
@@ -1296,52 +1296,52 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
OpenVDBReader_get_meta_fl(reader, "blender/smoke/dt", &dt);
- OpenVDB_import_grid_fl(reader, "shadow", &mds->shadow, mds->res);
+ OpenVDB_import_grid_fl(reader, "shadow", &fds->shadow, fds->res);
- const char *name = (!mds->wt) ? "density" : "density_low";
- OpenVDB_import_grid_fl(reader, name, &dens, mds->res);
+ const char *name = (!fds->wt) ? "density" : "density_low";
+ OpenVDB_import_grid_fl(reader, name, &dens, fds->res);
if (cache_fields & FLUID_DOMAIN_ACTIVE_HEAT) {
- OpenVDB_import_grid_fl(reader, "heat", &heat, mds->res);
- OpenVDB_import_grid_fl(reader, "heat_old", &heatold, mds->res);
+ OpenVDB_import_grid_fl(reader, "heat", &heat, fds->res);
+ OpenVDB_import_grid_fl(reader, "heat_old", &heatold, fds->res);
}
if (cache_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
- name = (!mds->wt) ? "flame" : "flame_low";
- OpenVDB_import_grid_fl(reader, name, &flame, mds->res);
- name = (!mds->wt) ? "fuel" : "fuel_low";
- OpenVDB_import_grid_fl(reader, name, &fuel, mds->res);
- name = (!mds->wt) ? "react" : "react_low";
- OpenVDB_import_grid_fl(reader, name, &react, mds->res);
+ name = (!fds->wt) ? "flame" : "flame_low";
+ OpenVDB_import_grid_fl(reader, name, &flame, fds->res);
+ name = (!fds->wt) ? "fuel" : "fuel_low";
+ OpenVDB_import_grid_fl(reader, name, &fuel, fds->res);
+ name = (!fds->wt) ? "react" : "react_low";
+ OpenVDB_import_grid_fl(reader, name, &react, fds->res);
}
if (cache_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
- name = (!mds->wt) ? "color" : "color_low";
- OpenVDB_import_grid_vec(reader, name, &r, &g, &b, mds->res);
+ name = (!fds->wt) ? "color" : "color_low";
+ OpenVDB_import_grid_vec(reader, name, &r, &g, &b, fds->res);
}
- OpenVDB_import_grid_vec(reader, "velocity", &vx, &vy, &vz, mds->res);
- OpenVDB_import_grid_ch(reader, "obstacles", &obstacles, mds->res);
+ OpenVDB_import_grid_vec(reader, "velocity", &vx, &vy, &vz, fds->res);
+ OpenVDB_import_grid_ch(reader, "obstacles", &obstacles, fds->res);
}
- if (mds->wt) {
+ if (fds->wt) {
float *dens, *react, *fuel, *flame, *tcu, *tcv, *tcw, *r, *g, *b;
- smoke_turbulence_export(mds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
+ smoke_turbulence_export(fds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
- OpenVDB_import_grid_fl(reader, "density", &dens, mds->res_wt);
+ OpenVDB_import_grid_fl(reader, "density", &dens, fds->res_wt);
if (cache_fields & FLUID_DOMAIN_ACTIVE_FIRE) {
- OpenVDB_import_grid_fl(reader, "flame", &flame, mds->res_wt);
- OpenVDB_import_grid_fl(reader, "fuel", &fuel, mds->res_wt);
- OpenVDB_import_grid_fl(reader, "react", &react, mds->res_wt);
+ OpenVDB_import_grid_fl(reader, "flame", &flame, fds->res_wt);
+ OpenVDB_import_grid_fl(reader, "fuel", &fuel, fds->res_wt);
+ OpenVDB_import_grid_fl(reader, "react", &react, fds->res_wt);
}
if (cache_fields & FLUID_DOMAIN_ACTIVE_COLORS) {
- OpenVDB_import_grid_vec(reader, "color", &r, &g, &b, mds->res_wt);
+ OpenVDB_import_grid_vec(reader, "color", &r, &g, &b, fds->res_wt);
}
- OpenVDB_import_grid_vec(reader, "texture coordinates", &tcu, &tcv, &tcw, mds->res);
+ OpenVDB_import_grid_vec(reader, "texture coordinates", &tcu, &tcv, &tcw, fds->res);
}
OpenVDBReader_free(reader);
@@ -1732,21 +1732,21 @@ void BKE_ptcache_id_from_cloth(PTCacheID *pid, Object *ob, ClothModifierData *cl
pid->max_step = 1;
pid->file_type = PTCACHE_FILE_PTCACHE;
}
-void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidModifierData *mmd)
+void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidModifierData *fmd)
{
- FluidDomainSettings *mds = mmd->domain;
+ FluidDomainSettings *fds = fmd->domain;
memset(pid, 0, sizeof(PTCacheID));
pid->owner_id = &ob->id;
- pid->calldata = mmd;
+ pid->calldata = fmd;
pid->type = PTCACHE_TYPE_SMOKE_DOMAIN;
- pid->stack_index = mds->point_cache[0]->index;
+ pid->stack_index = fds->point_cache[0]->index;
- pid->cache = mds->point_cache[0];
- pid->cache_ptr = &(mds->point_cache[0]);
- pid->ptcaches = &(mds->ptcaches[0]);
+ pid->cache = fds->point_cache[0];
+ pid->cache_ptr = &(fds->point_cache[0]);
+ pid->ptcaches = &(fds->ptcaches[0]);
pid->totpoint = pid->totwrite = ptcache_smoke_totpoint;
pid->error = ptcache_smoke_error;
@@ -1771,16 +1771,16 @@ void BKE_ptcache_id_from_smoke(PTCacheID *pid, struct Object *ob, struct FluidMo
pid->data_types = 0;
pid->info_types = 0;
- if (mds->fluid) {
+ if (fds->fluid) {
pid->data_types |= (1 << BPHYS_DATA_SMOKE_LOW);
- if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
pid->data_types |= (1 << BPHYS_DATA_SMOKE_HIGH);
}
}
pid->default_step = 1;
pid->max_step = 1;
- pid->file_type = mmd->domain->cache_file_format;
+ pid->file_type = fmd->domain->cache_file_format;
}
void BKE_ptcache_id_from_dynamicpaint(PTCacheID *pid, Object *ob, DynamicPaintSurface *surface)
@@ -2024,8 +2024,8 @@ static bool foreach_object_modifier_ptcache(Object *object,
}
}
else if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
BKE_ptcache_id_from_smoke(&pid, object, (FluidModifierData *)md);
if (!callback(&pid, callback_user_data)) {
return false;
@@ -3873,8 +3873,8 @@ int BKE_ptcache_object_reset(Scene *scene, Object *ob, int mode)
reset |= BKE_ptcache_id_reset(scene, &pid, mode);
}
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
BKE_ptcache_id_from_smoke(&pid, ob, (FluidModifierData *)md);
reset |= BKE_ptcache_id_reset(scene, &pid, mode);
}
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index e4822c4cb7f..1e855228875 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5285,18 +5285,18 @@ static void lib_link_object(BlendLibReader *reader, Object *ob)
}
{
- FluidModifierData *mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob,
+ FluidModifierData *fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob,
eModifierType_Fluid);
- if (mmd && (mmd->type == MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
+ if (fmd && (fmd->type == MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
/* Flag for refreshing the simulation after loading */
- mmd->domain->flags |= FLUID_DOMAIN_FILE_LOAD;
+ fmd->domain->flags |= FLUID_DOMAIN_FILE_LOAD;
}
- else if (mmd && (mmd->type == MOD_FLUID_TYPE_FLOW) && mmd->flow) {
- mmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
+ else if (fmd && (fmd->type == MOD_FLUID_TYPE_FLOW) && fmd->flow) {
+ fmd->flow->flags &= ~FLUID_FLOW_NEEDS_UPDATE;
}
- else if (mmd && (mmd->type == MOD_FLUID_TYPE_EFFEC) && mmd->effector) {
- mmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
+ else if (fmd && (fmd->type == MOD_FLUID_TYPE_EFFEC) && fmd->effector) {
+ fmd->effector->flags &= ~FLUID_EFFECTOR_NEEDS_UPDATE;
}
}
@@ -5589,42 +5589,42 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
}
else if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
-
- if (mmd->type == MOD_FLUID_TYPE_DOMAIN) {
- mmd->flow = NULL;
- mmd->effector = NULL;
- BLO_read_data_address(reader, &mmd->domain);
- mmd->domain->mmd = mmd;
-
- mmd->domain->fluid = NULL;
- mmd->domain->fluid_mutex = BLI_rw_mutex_alloc();
- mmd->domain->tex_density = NULL;
- mmd->domain->tex_color = NULL;
- mmd->domain->tex_shadow = NULL;
- mmd->domain->tex_flame = NULL;
- mmd->domain->tex_flame_coba = NULL;
- mmd->domain->tex_coba = NULL;
- mmd->domain->tex_field = NULL;
- mmd->domain->tex_velocity_x = NULL;
- mmd->domain->tex_velocity_y = NULL;
- mmd->domain->tex_velocity_z = NULL;
- mmd->domain->tex_wt = NULL;
- mmd->domain->mesh_velocities = NULL;
- BLO_read_data_address(reader, &mmd->domain->coba);
-
- BLO_read_data_address(reader, &mmd->domain->effector_weights);
- if (!mmd->domain->effector_weights) {
- mmd->domain->effector_weights = BKE_effector_add_weights(NULL);
+ FluidModifierData *fmd = (FluidModifierData *)md;
+
+ if (fmd->type == MOD_FLUID_TYPE_DOMAIN) {
+ fmd->flow = NULL;
+ fmd->effector = NULL;
+ BLO_read_data_address(reader, &fmd->domain);
+ fmd->domain->fmd = fmd;
+
+ fmd->domain->fluid = NULL;
+ fmd->domain->fluid_mutex = BLI_rw_mutex_alloc();
+ fmd->domain->tex_density = NULL;
+ fmd->domain->tex_color = NULL;
+ fmd->domain->tex_shadow = NULL;
+ fmd->domain->tex_flame = NULL;
+ fmd->domain->tex_flame_coba = NULL;
+ fmd->domain->tex_coba = NULL;
+ fmd->domain->tex_field = NULL;
+ fmd->domain->tex_velocity_x = NULL;
+ fmd->domain->tex_velocity_y = NULL;
+ fmd->domain->tex_velocity_z = NULL;
+ fmd->domain->tex_wt = NULL;
+ fmd->domain->mesh_velocities = NULL;
+ BLO_read_data_address(reader, &fmd->domain->coba);
+
+ BLO_read_data_address(reader, &fmd->domain->effector_weights);
+ if (!fmd->domain->effector_weights) {
+ fmd->domain->effector_weights = BKE_effector_add_weights(NULL);
}
direct_link_pointcache_list(
- reader, &(mmd->domain->ptcaches[0]), &(mmd->domain->point_cache[0]), 1);
+ reader, &(fmd->domain->ptcaches[0]), &(fmd->domain->point_cache[0]), 1);
/* Manta sim uses only one cache from now on, so store pointer convert */
- if (mmd->domain->ptcaches[1].first || mmd->domain->point_cache[1]) {
- if (mmd->domain->point_cache[1]) {
- PointCache *cache = BLO_read_get_new_data_address(reader, mmd->domain->point_cache[1]);
+ if (fmd->domain->ptcaches[1].first || fmd->domain->point_cache[1]) {
+ if (fmd->domain->point_cache[1]) {
+ PointCache *cache = BLO_read_get_new_data_address(reader, fmd->domain->point_cache[1]);
if (cache->flag & PTCACHE_FAKE_SMOKE) {
/* Manta-sim/smoke was already saved in "new format" and this cache is a fake one. */
}
@@ -5635,35 +5635,35 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
}
BKE_ptcache_free(cache);
}
- BLI_listbase_clear(&mmd->domain->ptcaches[1]);
- mmd->domain->point_cache[1] = NULL;
+ BLI_listbase_clear(&fmd->domain->ptcaches[1]);
+ fmd->domain->point_cache[1] = NULL;
}
}
- else if (mmd->type == MOD_FLUID_TYPE_FLOW) {
- mmd->domain = NULL;
- mmd->effector = NULL;
- BLO_read_data_address(reader, &mmd->flow);
- mmd->flow->mmd = mmd;
- mmd->flow->mesh = NULL;
- mmd->flow->verts_old = NULL;
- mmd->flow->numverts = 0;
- BLO_read_data_address(reader, &mmd->flow->psys);
- }
- else if (mmd->type == MOD_FLUID_TYPE_EFFEC) {
- mmd->flow = NULL;
- mmd->domain = NULL;
- BLO_read_data_address(reader, &mmd->effector);
- if (mmd->effector) {
- mmd->effector->mmd = mmd;
- mmd->effector->verts_old = NULL;
- mmd->effector->numverts = 0;
- mmd->effector->mesh = NULL;
+ else if (fmd->type == MOD_FLUID_TYPE_FLOW) {
+ fmd->domain = NULL;
+ fmd->effector = NULL;
+ BLO_read_data_address(reader, &fmd->flow);
+ fmd->flow->fmd = fmd;
+ fmd->flow->mesh = NULL;
+ fmd->flow->verts_old = NULL;
+ fmd->flow->numverts = 0;
+ BLO_read_data_address(reader, &fmd->flow->psys);
+ }
+ else if (fmd->type == MOD_FLUID_TYPE_EFFEC) {
+ fmd->flow = NULL;
+ fmd->domain = NULL;
+ BLO_read_data_address(reader, &fmd->effector);
+ if (fmd->effector) {
+ fmd->effector->fmd = fmd;
+ fmd->effector->verts_old = NULL;
+ fmd->effector->numverts = 0;
+ fmd->effector->mesh = NULL;
}
else {
- mmd->type = 0;
- mmd->flow = NULL;
- mmd->domain = NULL;
- mmd->effector = NULL;
+ fmd->type = 0;
+ fmd->flow = NULL;
+ fmd->domain = NULL;
+ fmd->effector = NULL;
}
}
}
diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c
index 2c3b047af46..3ed59a0baa1 100644
--- a/source/blender/blenloader/intern/versioning_250.c
+++ b/source/blender/blenloader/intern/versioning_250.c
@@ -1793,18 +1793,18 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
- mmd->domain->vorticity = 2.0f;
- mmd->domain->time_scale = 1.0f;
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
+ fmd->domain->vorticity = 2.0f;
+ fmd->domain->time_scale = 1.0f;
- if (!(mmd->domain->flags & (1 << 4))) {
+ if (!(fmd->domain->flags & (1 << 4))) {
continue;
}
/* delete old MOD_SMOKE_INITVELOCITY flag */
- mmd->domain->flags &= ~(1 << 4);
+ fmd->domain->flags &= ~(1 << 4);
/* for now just add it to all flow objects in the scene */
{
@@ -1813,18 +1813,18 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
ModifierData *md2;
for (md2 = ob2->modifiers.first; md2; md2 = md2->next) {
if (md2->type == eModifierType_Fluid) {
- FluidModifierData *mmd2 = (FluidModifierData *)md2;
+ FluidModifierData *fmd2 = (FluidModifierData *)md2;
- if ((mmd2->type & MOD_FLUID_TYPE_FLOW) && mmd2->flow) {
- mmd2->flow->flags |= FLUID_FLOW_INITVELOCITY;
+ if ((fmd2->type & MOD_FLUID_TYPE_FLOW) && fmd2->flow) {
+ fmd2->flow->flags |= FLUID_FLOW_INITVELOCITY;
}
}
}
}
}
}
- else if ((mmd->type & MOD_FLUID_TYPE_FLOW) && mmd->flow) {
- mmd->flow->vel_multi = 1.0f;
+ else if ((fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow) {
+ fmd->flow->vel_multi = 1.0f;
}
}
}
diff --git a/source/blender/blenloader/intern/versioning_260.c b/source/blender/blenloader/intern/versioning_260.c
index 98e10bef470..b3bf8991c3e 100644
--- a/source/blender/blenloader/intern/versioning_260.c
+++ b/source/blender/blenloader/intern/versioning_260.c
@@ -1310,11 +1310,11 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
ModifierData *md;
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
- int maxres = max_iii(mmd->domain->res[0], mmd->domain->res[1], mmd->domain->res[2]);
- mmd->domain->scale = mmd->domain->dx * maxres;
- mmd->domain->dx = 1.0f / mmd->domain->scale;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
+ int maxres = max_iii(fmd->domain->res[0], fmd->domain->res[1], fmd->domain->res[2]);
+ fmd->domain->scale = fmd->domain->dx * maxres;
+ fmd->domain->dx = 1.0f / fmd->domain->scale;
}
}
}
@@ -1628,30 +1628,30 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
ModifierData *md;
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
/* keep branch saves if possible */
- if (!mmd->domain->flame_max_temp) {
- mmd->domain->burning_rate = 0.75f;
- mmd->domain->flame_smoke = 1.0f;
- mmd->domain->flame_vorticity = 0.5f;
- mmd->domain->flame_ignition = 1.25f;
- mmd->domain->flame_max_temp = 1.75f;
- mmd->domain->adapt_threshold = 0.02f;
- mmd->domain->adapt_margin = 4;
- mmd->domain->flame_smoke_color[0] = 0.7f;
- mmd->domain->flame_smoke_color[1] = 0.7f;
- mmd->domain->flame_smoke_color[2] = 0.7f;
+ if (!fmd->domain->flame_max_temp) {
+ fmd->domain->burning_rate = 0.75f;
+ fmd->domain->flame_smoke = 1.0f;
+ fmd->domain->flame_vorticity = 0.5f;
+ fmd->domain->flame_ignition = 1.25f;
+ fmd->domain->flame_max_temp = 1.75f;
+ fmd->domain->adapt_threshold = 0.02f;
+ fmd->domain->adapt_margin = 4;
+ fmd->domain->flame_smoke_color[0] = 0.7f;
+ fmd->domain->flame_smoke_color[1] = 0.7f;
+ fmd->domain->flame_smoke_color[2] = 0.7f;
}
}
- else if ((mmd->type & MOD_FLUID_TYPE_FLOW) && mmd->flow) {
- if (!mmd->flow->texture_size) {
- mmd->flow->fuel_amount = 1.0;
- mmd->flow->surface_distance = 1.5;
- mmd->flow->color[0] = 0.7f;
- mmd->flow->color[1] = 0.7f;
- mmd->flow->color[2] = 0.7f;
- mmd->flow->texture_size = 1.0f;
+ else if ((fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow) {
+ if (!fmd->flow->texture_size) {
+ fmd->flow->fuel_amount = 1.0;
+ fmd->flow->surface_distance = 1.5;
+ fmd->flow->color[0] = 0.7f;
+ fmd->flow->color[1] = 0.7f;
+ fmd->flow->color[2] = 0.7f;
+ fmd->flow->texture_size = 1.0f;
}
}
}
@@ -2158,13 +2158,13 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
ModifierData *md;
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
- if (mmd->domain->flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
- mmd->domain->highres_sampling = SM_HRES_LINEAR;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
+ if (fmd->domain->flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
+ fmd->domain->highres_sampling = SM_HRES_LINEAR;
}
else {
- mmd->domain->highres_sampling = SM_HRES_NEAREST;
+ fmd->domain->highres_sampling = SM_HRES_NEAREST;
}
}
}
@@ -2225,10 +2225,10 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
ModifierData *md;
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if ((mmd->type & MOD_FLUID_TYPE_FLOW) && mmd->flow) {
- if (!mmd->flow->particle_size) {
- mmd->flow->particle_size = 1.0f;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if ((fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow) {
+ if (!fmd->flow->particle_size) {
+ fmd->flow->particle_size = 1.0f;
}
}
}
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c
index 496c8353f85..521fc4b9b82 100644
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@ -1470,11 +1470,11 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
for (ob = bmain->objects.first; ob; ob = ob->id.next) {
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->domain) {
- mmd->domain->slice_per_voxel = 5.0f;
- mmd->domain->slice_depth = 0.5f;
- mmd->domain->display_thickness = 1.0f;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->domain) {
+ fmd->domain->slice_per_voxel = 5.0f;
+ fmd->domain->slice_depth = 0.5f;
+ fmd->domain->display_thickness = 1.0f;
}
}
}
@@ -1640,9 +1640,9 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
for (ob = bmain->objects.first; ob; ob = ob->id.next) {
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->domain) {
- mmd->domain->clipping = 1e-3f;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->domain) {
+ fmd->domain->clipping = 1e-3f;
}
}
}
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 4e0325e72fa..2ce8abff3c5 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1670,37 +1670,37 @@ static void write_modifiers(BlendWriter *writer, ListBase *modbase)
write_pointcaches(writer, &clmd->ptcaches);
}
else if (md->type == eModifierType_Fluid) {
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- BLO_write_struct(writer, FluidDomainSettings, mmd->domain);
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ BLO_write_struct(writer, FluidDomainSettings, fmd->domain);
- if (mmd->domain) {
- write_pointcaches(writer, &(mmd->domain->ptcaches[0]));
+ if (fmd->domain) {
+ write_pointcaches(writer, &(fmd->domain->ptcaches[0]));
/* create fake pointcache so that old blender versions can read it */
- mmd->domain->point_cache[1] = BKE_ptcache_add(&mmd->domain->ptcaches[1]);
- mmd->domain->point_cache[1]->flag |= PTCACHE_DISK_CACHE | PTCACHE_FAKE_SMOKE;
- mmd->domain->point_cache[1]->step = 1;
+ fmd->domain->point_cache[1] = BKE_ptcache_add(&fmd->domain->ptcaches[1]);
+ fmd->domain->point_cache[1]->flag |= PTCACHE_DISK_CACHE | PTCACHE_FAKE_SMOKE;
+ fmd->domain->point_cache[1]->step = 1;
- write_pointcaches(writer, &(mmd->domain->ptcaches[1]));
+ write_pointcaches(writer, &(fmd->domain->ptcaches[1]));
- if (mmd->domain->coba) {
- BLO_write_struct(writer, ColorBand, mmd->domain->coba);
+ if (fmd->domain->coba) {
+ BLO_write_struct(writer, ColorBand, fmd->domain->coba);
}
/* cleanup the fake pointcache */
- BKE_ptcache_free_list(&mmd->domain->ptcaches[1]);
- mmd->domain->point_cache[1] = NULL;
+ BKE_ptcache_free_list(&fmd->domain->ptcaches[1]);
+ fmd->domain->point_cache[1] = NULL;
- BLO_write_struct(writer, EffectorWeights, mmd->domain->effector_weights);
+ BLO_write_struct(writer, EffectorWeights, fmd->domain->effector_weights);
}
}
- else if (mmd->type & MOD_FLUID_TYPE_FLOW) {
- BLO_write_struct(writer, FluidFlowSettings, mmd->flow);
+ else if (fmd->type & MOD_FLUID_TYPE_FLOW) {
+ BLO_write_struct(writer, FluidFlowSettings, fmd->flow);
}
- else if (mmd->type & MOD_FLUID_TYPE_EFFEC) {
- BLO_write_struct(writer, FluidEffectorSettings, mmd->effector);
+ else if (fmd->type & MOD_FLUID_TYPE_EFFEC) {
+ BLO_write_struct(writer, FluidEffectorSettings, fmd->effector);
}
}
else if (md->type == eModifierType_Fluidsim) {
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index 17f53113939..300022e97a9 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -487,11 +487,11 @@ static bool eevee_volume_object_mesh_init(Scene *scene,
if ((md = BKE_modifiers_findby_type(ob, eModifierType_Fluid)) &&
(BKE_modifier_is_enabled(scene, md, eModifierMode_Realtime)) &&
((FluidModifierData *)md)->domain != NULL) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ FluidDomainSettings *fds = fmd->domain;
/* Don't try to show liquid domains here. */
- if (!mds->fluid || !(mds->type == FLUID_DOMAIN_TYPE_GAS)) {
+ if (!fds->fluid || !(fds->type == FLUID_DOMAIN_TYPE_GAS)) {
return false;
}
@@ -500,33 +500,33 @@ static bool eevee_volume_object_mesh_init(Scene *scene,
#if 0
const DRWContextState *draw_ctx = DRW_context_state_get();
const bool show_smoke = ((int)DEG_get_ctime(draw_ctx->depsgraph) >=
- *mds->point_cache[0]->startframe);
+ *fds->point_cache[0]->startframe);
#endif
- if (mds->fluid && (mds->type == FLUID_DOMAIN_TYPE_GAS) /* && show_smoke */) {
- if (!(mds->flags & FLUID_DOMAIN_USE_NOISE)) {
- GPU_create_smoke(mmd, 0);
+ if (fds->fluid && (fds->type == FLUID_DOMAIN_TYPE_GAS) /* && show_smoke */) {
+ if (!(fds->flags & FLUID_DOMAIN_USE_NOISE)) {
+ GPU_create_smoke(fmd, 0);
}
- else if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
- GPU_create_smoke(mmd, 1);
+ else if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
+ GPU_create_smoke(fmd, 1);
}
- BLI_addtail(&e_data.smoke_domains, BLI_genericNodeN(mmd));
+ BLI_addtail(&e_data.smoke_domains, BLI_genericNodeN(fmd));
}
LISTBASE_FOREACH (GPUMaterialVolumeGrid *, gpu_grid, gpu_grids) {
if (STREQ(gpu_grid->name, "density")) {
DRW_shgroup_uniform_texture_ref(grp,
gpu_grid->sampler_name,
- mds->tex_density ? &mds->tex_density :
+ fds->tex_density ? &fds->tex_density :
&e_data.dummy_density);
}
else if (STREQ(gpu_grid->name, "color")) {
DRW_shgroup_uniform_texture_ref(
- grp, gpu_grid->sampler_name, mds->tex_color ? &mds->tex_color : &e_data.dummy_density);
+ grp, gpu_grid->sampler_name, fds->tex_color ? &fds->tex_color : &e_data.dummy_density);
}
else if (STREQ(gpu_grid->name, "flame") || STREQ(gpu_grid->name, "temperature")) {
DRW_shgroup_uniform_texture_ref(
- grp, gpu_grid->sampler_name, mds->tex_flame ? &mds->tex_flame : &e_data.dummy_flame);
+ grp, gpu_grid->sampler_name, fds->tex_flame ? &fds->tex_flame : &e_data.dummy_flame);
}
else {
DRW_shgroup_uniform_texture_ref(grp, gpu_grid->sampler_name, &e_data.dummy_density);
@@ -534,14 +534,14 @@ static bool eevee_volume_object_mesh_init(Scene *scene,
}
/* Constant Volume color. */
- bool use_constant_color = ((mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) == 0 &&
- (mds->active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET) != 0);
+ bool use_constant_color = ((fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) == 0 &&
+ (fds->active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET) != 0);
DRW_shgroup_uniform_vec3(
- grp, "volumeColor", (use_constant_color) ? mds->active_color : white, 1);
+ grp, "volumeColor", (use_constant_color) ? fds->active_color : white, 1);
/* Output is such that 0..1 maps to 0..1000K */
- DRW_shgroup_uniform_vec2(grp, "volumeTemperature", &mds->flame_ignition, 1);
+ DRW_shgroup_uniform_vec2(grp, "volumeTemperature", &fds->flame_ignition, 1);
}
else {
LISTBASE_FOREACH (GPUMaterialVolumeGrid *, gpu_grid, gpu_grids) {
@@ -840,8 +840,8 @@ void EEVEE_volumes_free_smoke_textures(void)
{
/* Free Smoke Textures after rendering */
LISTBASE_FOREACH (LinkData *, link, &e_data.smoke_domains) {
- FluidModifierData *mmd = (FluidModifierData *)link->data;
- GPU_free_smoke(mmd);
+ FluidModifierData *fmd = (FluidModifierData *)link->data;
+ GPU_free_smoke(fmd);
}
BLI_freelistN(&e_data.smoke_domains);
}
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index e591f54c750..c0407345729 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -1358,22 +1358,22 @@ static void OVERLAY_volume_extra(OVERLAY_ExtraCallBuffers *cb,
Scene *scene,
float *color)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ FluidDomainSettings *fds = fmd->domain;
/* Don't show smoke before simulation starts, this could be made an option in the future. */
- const bool draw_velocity = (mds->draw_velocity && mds->fluid &&
- CFRA >= mds->point_cache[0]->startframe);
+ const bool draw_velocity = (fds->draw_velocity && fds->fluid &&
+ CFRA >= fds->point_cache[0]->startframe);
/* Small cube showing voxel size. */
{
float min[3];
- madd_v3fl_v3fl_v3fl_v3i(min, mds->p0, mds->cell_size, mds->res_min);
+ madd_v3fl_v3fl_v3fl_v3i(min, fds->p0, fds->cell_size, fds->res_min);
float voxel_cubemat[4][4] = {{0.0f}};
/* scale small cube to voxel size */
- voxel_cubemat[0][0] = mds->cell_size[0] / 2.0f;
- voxel_cubemat[1][1] = mds->cell_size[1] / 2.0f;
- voxel_cubemat[2][2] = mds->cell_size[2] / 2.0f;
+ voxel_cubemat[0][0] = fds->cell_size[0] / 2.0f;
+ voxel_cubemat[1][1] = fds->cell_size[1] / 2.0f;
+ voxel_cubemat[2][2] = fds->cell_size[2] / 2.0f;
voxel_cubemat[3][3] = 1.0f;
/* translate small cube to corner */
copy_v3_v3(voxel_cubemat[3], min);
@@ -1385,38 +1385,38 @@ static void OVERLAY_volume_extra(OVERLAY_ExtraCallBuffers *cb,
}
if (draw_velocity) {
- const bool use_needle = (mds->vector_draw_type == VECTOR_DRAW_NEEDLE);
+ const bool use_needle = (fds->vector_draw_type == VECTOR_DRAW_NEEDLE);
int line_count = (use_needle) ? 6 : 1;
int slice_axis = -1;
- line_count *= mds->res[0] * mds->res[1] * mds->res[2];
+ line_count *= fds->res[0] * fds->res[1] * fds->res[2];
- if (mds->slice_method == FLUID_DOMAIN_SLICE_AXIS_ALIGNED &&
- mds->axis_slice_method == AXIS_SLICE_SINGLE) {
+ if (fds->slice_method == FLUID_DOMAIN_SLICE_AXIS_ALIGNED &&
+ fds->axis_slice_method == AXIS_SLICE_SINGLE) {
float viewinv[4][4];
DRW_view_viewmat_get(NULL, viewinv, true);
- const int axis = (mds->slice_axis == SLICE_AXIS_AUTO) ? axis_dominant_v3_single(viewinv[2]) :
- mds->slice_axis - 1;
+ const int axis = (fds->slice_axis == SLICE_AXIS_AUTO) ? axis_dominant_v3_single(viewinv[2]) :
+ fds->slice_axis - 1;
slice_axis = axis;
- line_count /= mds->res[axis];
+ line_count /= fds->res[axis];
}
- GPU_create_smoke_velocity(mmd);
+ GPU_create_smoke_velocity(fmd);
GPUShader *sh = OVERLAY_shader_volume_velocity(use_needle);
DRWShadingGroup *grp = DRW_shgroup_create(sh, data->psl->extra_ps[0]);
- DRW_shgroup_uniform_texture(grp, "velocityX", mds->tex_velocity_x);
- DRW_shgroup_uniform_texture(grp, "velocityY", mds->tex_velocity_y);
- DRW_shgroup_uniform_texture(grp, "velocityZ", mds->tex_velocity_z);
- DRW_shgroup_uniform_float_copy(grp, "displaySize", mds->vector_scale);
- DRW_shgroup_uniform_float_copy(grp, "slicePosition", mds->slice_depth);
- DRW_shgroup_uniform_vec3_copy(grp, "cellSize", mds->cell_size);
- DRW_shgroup_uniform_vec3_copy(grp, "domainOriginOffset", mds->p0);
- DRW_shgroup_uniform_ivec3_copy(grp, "adaptiveCellOffset", mds->res_min);
+ DRW_shgroup_uniform_texture(grp, "velocityX", fds->tex_velocity_x);
+ DRW_shgroup_uniform_texture(grp, "velocityY", fds->tex_velocity_y);
+ DRW_shgroup_uniform_texture(grp, "velocityZ", fds->tex_velocity_z);
+ DRW_shgroup_uniform_float_copy(grp, "displaySize", fds->vector_scale);
+ DRW_shgroup_uniform_float_copy(grp, "slicePosition", fds->slice_depth);
+ DRW_shgroup_uniform_vec3_copy(grp, "cellSize", fds->cell_size);
+ DRW_shgroup_uniform_vec3_copy(grp, "domainOriginOffset", fds->p0);
+ DRW_shgroup_uniform_ivec3_copy(grp, "adaptiveCellOffset", fds->res_min);
DRW_shgroup_uniform_int_copy(grp, "sliceAxis", slice_axis);
DRW_shgroup_call_procedural_lines(grp, ob, line_count);
- BLI_addtail(&data->stl->pd->smoke_domains, BLI_genericNodeN(mmd));
+ BLI_addtail(&data->stl->pd->smoke_domains, BLI_genericNodeN(fmd));
}
}
@@ -1430,8 +1430,8 @@ static void OVERLAY_volume_free_smoke_textures(OVERLAY_Data *data)
* all viewport in a redraw at least. */
LinkData *link;
while ((link = BLI_pophead(&data->stl->pd->smoke_domains))) {
- FluidModifierData *mmd = (FluidModifierData *)link->data;
- GPU_free_smoke_velocity(mmd);
+ FluidModifierData *fmd = (FluidModifierData *)link->data;
+ GPU_free_smoke_velocity(fmd);
MEM_freeN(link);
}
}
diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c
index 21cb567aaae..8e345f8275b 100644
--- a/source/blender/draw/engines/workbench/workbench_volume.c
+++ b/source/blender/draw/engines/workbench/workbench_volume.c
@@ -65,53 +65,53 @@ static void workbench_volume_modifier_cache_populate(WORKBENCH_Data *vedata,
Object *ob,
ModifierData *md)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
- FluidDomainSettings *mds = mmd->domain;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ FluidDomainSettings *fds = fmd->domain;
WORKBENCH_PrivateData *wpd = vedata->stl->wpd;
WORKBENCH_TextureList *txl = vedata->txl;
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
DRWShadingGroup *grp = NULL;
/* Don't try to show liquid domains here */
- if (!mds->fluid || !(mds->type == FLUID_DOMAIN_TYPE_GAS)) {
+ if (!fds->fluid || !(fds->type == FLUID_DOMAIN_TYPE_GAS)) {
return;
}
wpd->volumes_do = true;
- if (mds->use_coba) {
- GPU_create_smoke_coba_field(mmd);
+ if (fds->use_coba) {
+ GPU_create_smoke_coba_field(fmd);
}
- else if (!(mds->flags & FLUID_DOMAIN_USE_NOISE)) {
- GPU_create_smoke(mmd, 0);
+ else if (!(fds->flags & FLUID_DOMAIN_USE_NOISE)) {
+ GPU_create_smoke(fmd, 0);
}
- else if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
- GPU_create_smoke(mmd, 1);
+ else if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
+ GPU_create_smoke(fmd, 1);
}
- if ((!mds->use_coba && (mds->tex_density == NULL && mds->tex_color == NULL)) ||
- (mds->use_coba && mds->tex_field == NULL)) {
+ if ((!fds->use_coba && (fds->tex_density == NULL && fds->tex_color == NULL)) ||
+ (fds->use_coba && fds->tex_field == NULL)) {
return;
}
- const bool use_slice = (mds->slice_method == FLUID_DOMAIN_SLICE_AXIS_ALIGNED &&
- mds->axis_slice_method == AXIS_SLICE_SINGLE);
- const bool cubic_interp = (mds->interp_method == VOLUME_INTERP_CUBIC);
- GPUShader *sh = workbench_shader_volume_get(use_slice, mds->use_coba, cubic_interp, true);
+ const bool use_slice = (fds->slice_method == FLUID_DOMAIN_SLICE_AXIS_ALIGNED &&
+ fds->axis_slice_method == AXIS_SLICE_SINGLE);
+ const bool cubic_interp = (fds->interp_method == VOLUME_INTERP_CUBIC);
+ GPUShader *sh = workbench_shader_volume_get(use_slice, fds->use_coba, cubic_interp, true);
if (use_slice) {
float invviewmat[4][4];
DRW_view_viewmat_get(NULL, invviewmat, true);
- const int axis = (mds->slice_axis == SLICE_AXIS_AUTO) ?
+ const int axis = (fds->slice_axis == SLICE_AXIS_AUTO) ?
axis_dominant_v3_single(invviewmat[2]) :
- mds->slice_axis - 1;
+ fds->slice_axis - 1;
float dim[3];
BKE_object_dimensions_get(ob, dim);
/* 0.05f to achieve somewhat the same opacity as the full view. */
float step_length = max_ff(1e-16f, dim[axis] * 0.05f);
grp = DRW_shgroup_create(sh, vedata->psl->volume_ps);
- DRW_shgroup_uniform_float_copy(grp, "slicePosition", mds->slice_depth);
+ DRW_shgroup_uniform_float_copy(grp, "slicePosition", fds->slice_depth);
DRW_shgroup_uniform_int_copy(grp, "sliceAxis", axis);
DRW_shgroup_uniform_float_copy(grp, "stepLength", step_length);
DRW_shgroup_state_disable(grp, DRW_STATE_CULL_FRONT);
@@ -120,8 +120,8 @@ static void workbench_volume_modifier_cache_populate(WORKBENCH_Data *vedata,
double noise_ofs;
BLI_halton_1d(3, 0.0, wpd->taa_sample, &noise_ofs);
float dim[3], step_length, max_slice;
- float slice_ct[3] = {mds->res[0], mds->res[1], mds->res[2]};
- mul_v3_fl(slice_ct, max_ff(0.001f, mds->slice_per_voxel));
+ float slice_ct[3] = {fds->res[0], fds->res[1], fds->res[2]};
+ mul_v3_fl(slice_ct, max_ff(0.001f, fds->slice_per_voxel));
max_slice = max_fff(slice_ct[0], slice_ct[1], slice_ct[2]);
BKE_object_dimensions_get(ob, dim);
invert_v3(slice_ct);
@@ -136,26 +136,26 @@ static void workbench_volume_modifier_cache_populate(WORKBENCH_Data *vedata,
DRW_shgroup_state_enable(grp, DRW_STATE_CULL_FRONT);
}
- if (mds->use_coba) {
- DRW_shgroup_uniform_texture(grp, "densityTexture", mds->tex_field);
- DRW_shgroup_uniform_texture(grp, "transferTexture", mds->tex_coba);
+ if (fds->use_coba) {
+ DRW_shgroup_uniform_texture(grp, "densityTexture", fds->tex_field);
+ DRW_shgroup_uniform_texture(grp, "transferTexture", fds->tex_coba);
}
else {
static float white[3] = {1.0f, 1.0f, 1.0f};
- bool use_constant_color = ((mds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) == 0 &&
- (mds->active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET) != 0);
+ bool use_constant_color = ((fds->active_fields & FLUID_DOMAIN_ACTIVE_COLORS) == 0 &&
+ (fds->active_fields & FLUID_DOMAIN_ACTIVE_COLOR_SET) != 0);
DRW_shgroup_uniform_texture(
- grp, "densityTexture", (mds->tex_color) ? mds->tex_color : mds->tex_density);
- DRW_shgroup_uniform_texture(grp, "shadowTexture", mds->tex_shadow);
+ grp, "densityTexture", (fds->tex_color) ? fds->tex_color : fds->tex_density);
+ DRW_shgroup_uniform_texture(grp, "shadowTexture", fds->tex_shadow);
DRW_shgroup_uniform_texture(
- grp, "flameTexture", (mds->tex_flame) ? mds->tex_flame : txl->dummy_volume_tx);
+ grp, "flameTexture", (fds->tex_flame) ? fds->tex_flame : txl->dummy_volume_tx);
DRW_shgroup_uniform_texture(
- grp, "flameColorTexture", (mds->tex_flame) ? mds->tex_flame_coba : txl->dummy_coba_tx);
+ grp, "flameColorTexture", (fds->tex_flame) ? fds->tex_flame_coba : txl->dummy_coba_tx);
DRW_shgroup_uniform_vec3(
- grp, "activeColor", (use_constant_color) ? mds->active_color : white, 1);
+ grp, "activeColor", (use_constant_color) ? fds->active_color : white, 1);
}
DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth);
- DRW_shgroup_uniform_float_copy(grp, "densityScale", 10.0f * mds->display_thickness);
+ DRW_shgroup_uniform_float_copy(grp, "densityScale", 10.0f * fds->display_thickness);
if (use_slice) {
DRW_shgroup_call(grp, DRW_cache_quad_get(), ob);
@@ -164,7 +164,7 @@ static void workbench_volume_modifier_cache_populate(WORKBENCH_Data *vedata,
DRW_shgroup_call(grp, DRW_cache_cube_get(), ob);
}
- BLI_addtail(&wpd->smoke_domains, BLI_genericNodeN(mmd));
+ BLI_addtail(&wpd->smoke_domains, BLI_genericNodeN(fmd));
}
static void workbench_volume_material_color(WORKBENCH_PrivateData *wpd,
@@ -292,8 +292,8 @@ void workbench_volume_draw_finish(WORKBENCH_Data *vedata)
* modifier is not used for display. We should share them for
* all viewport in a redraw at least. */
LISTBASE_FOREACH (LinkData *, link, &wpd->smoke_domains) {
- FluidModifierData *mmd = (FluidModifierData *)link->data;
- GPU_free_smoke(mmd);
+ FluidModifierData *fmd = (FluidModifierData *)link->data;
+ GPU_free_smoke(fmd);
}
BLI_freelistN(&wpd->smoke_domains);
}
diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c
index 8f6b5aa8bc3..583c68cb284 100644
--- a/source/blender/editors/physics/physics_fluid.c
+++ b/source/blender/editors/physics/physics_fluid.c
@@ -93,7 +93,7 @@ typedef struct FluidJob {
Depsgraph *depsgraph;
Object *ob;
- FluidModifierData *mmd;
+ FluidModifierData *fmd;
int success;
double start;
@@ -153,17 +153,17 @@ static inline bool fluid_is_free_guiding(FluidJob *job)
static bool fluid_initjob(
bContext *C, FluidJob *job, wmOperator *op, char *error_msg, int error_size)
{
- FluidModifierData *mmd = NULL;
- FluidDomainSettings *mds;
+ FluidModifierData *fmd = NULL;
+ FluidDomainSettings *fds;
Object *ob = ED_object_active_context(C);
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
- if (!mmd) {
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ if (!fmd) {
BLI_strncpy(error_msg, N_("Bake failed: no Fluid modifier found"), error_size);
return false;
}
- mds = mmd->domain;
- if (!mds) {
+ fds = fmd->domain;
+ if (!fds) {
BLI_strncpy(error_msg, N_("Bake failed: invalid domain"), error_size);
return false;
}
@@ -172,7 +172,7 @@ static bool fluid_initjob(
job->scene = CTX_data_scene(C);
job->depsgraph = CTX_data_depsgraph_pointer(C);
job->ob = ob;
- job->mmd = mmd;
+ job->fmd = fmd;
job->type = op->type->idname;
job->name = op->type->name;
@@ -181,7 +181,7 @@ static bool fluid_initjob(
static bool fluid_validatepaths(FluidJob *job, ReportList *reports)
{
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
char temp_dir[FILE_MAX];
temp_dir[0] = '\0';
bool is_relative = false;
@@ -189,17 +189,17 @@ static bool fluid_validatepaths(FluidJob *job, ReportList *reports)
const char *relbase = BKE_modifier_path_relbase(job->bmain, job->ob);
/* We do not accept empty paths, they can end in random places silently, see T51176. */
- if (mds->cache_directory[0] == '\0') {
+ if (fds->cache_directory[0] == '\0') {
char cache_name[64];
BKE_fluid_cache_new_name_for_current_session(sizeof(cache_name), cache_name);
- BKE_modifier_path_init(mds->cache_directory, sizeof(mds->cache_directory), cache_name);
+ BKE_modifier_path_init(fds->cache_directory, sizeof(fds->cache_directory), cache_name);
BKE_reportf(reports,
RPT_WARNING,
"Fluid: Empty cache path, reset to default '%s'",
- mds->cache_directory);
+ fds->cache_directory);
}
- BLI_strncpy(temp_dir, mds->cache_directory, FILE_MAXDIR);
+ BLI_strncpy(temp_dir, fds->cache_directory, FILE_MAXDIR);
is_relative = BLI_path_abs(temp_dir, relbase);
/* Ensure whole path exists */
@@ -210,13 +210,13 @@ static bool fluid_validatepaths(FluidJob *job, ReportList *reports)
if (!dir_exists) {
char cache_name[64];
BKE_fluid_cache_new_name_for_current_session(sizeof(cache_name), cache_name);
- BKE_modifier_path_init(mds->cache_directory, sizeof(mds->cache_directory), cache_name);
+ BKE_modifier_path_init(fds->cache_directory, sizeof(fds->cache_directory), cache_name);
BKE_reportf(reports,
RPT_ERROR,
"Fluid: Could not create cache directory '%s', reset to default '%s'",
temp_dir,
- mds->cache_directory);
+ fds->cache_directory);
/* Ensure whole path exists and is writable. */
if (!BLI_dir_create_recursive(temp_dir)) {
@@ -228,7 +228,7 @@ static bool fluid_validatepaths(FluidJob *job, ReportList *reports)
return false;
}
/* Copy final dir back into domain settings */
- BLI_strncpy(mds->cache_directory, temp_dir, FILE_MAXDIR);
+ BLI_strncpy(fds->cache_directory, temp_dir, FILE_MAXDIR);
return false;
}
@@ -239,7 +239,7 @@ static bool fluid_validatepaths(FluidJob *job, ReportList *reports)
}
/* Copy final dir back into domain settings */
- BLI_strncpy(mds->cache_directory, temp_dir, FILE_MAXDIR);
+ BLI_strncpy(fds->cache_directory, temp_dir, FILE_MAXDIR);
return true;
}
@@ -251,17 +251,17 @@ static void fluid_bake_free(void *customdata)
static void fluid_bake_sequence(FluidJob *job)
{
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
Scene *scene = job->scene;
int frame = 1, orig_frame;
int frames;
int *pause_frame = NULL;
bool is_first_frame;
- frames = mds->cache_frame_end - mds->cache_frame_start + 1;
+ frames = fds->cache_frame_end - fds->cache_frame_start + 1;
if (frames <= 0) {
- BLI_strncpy(mds->error, N_("No frames to bake"), sizeof(mds->error));
+ BLI_strncpy(fds->error, N_("No frames to bake"), sizeof(fds->error));
return;
}
@@ -275,15 +275,15 @@ static void fluid_bake_sequence(FluidJob *job)
/* Set frame to start point (depending on current pause frame value). */
is_first_frame = ((*pause_frame) == 0);
- frame = is_first_frame ? mds->cache_frame_start : (*pause_frame);
+ frame = is_first_frame ? fds->cache_frame_start : (*pause_frame);
/* Save orig frame and update scene frame. */
orig_frame = CFRA;
CFRA = frame;
/* Loop through selected frames. */
- for (; frame <= mds->cache_frame_end; frame++) {
- const float progress = (frame - mds->cache_frame_start) / (float)frames;
+ for (; frame <= fds->cache_frame_end; frame++) {
+ const float progress = (frame - fds->cache_frame_start) / (float)frames;
/* Keep track of pause frame - needed to init future loop. */
(*pause_frame) = frame;
@@ -321,32 +321,32 @@ static void fluid_bake_sequence(FluidJob *job)
static void fluid_bake_endjob(void *customdata)
{
FluidJob *job = customdata;
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
if (fluid_is_bake_noise(job) || fluid_is_bake_all(job)) {
- mds->cache_flag &= ~FLUID_DOMAIN_BAKING_NOISE;
- mds->cache_flag |= FLUID_DOMAIN_BAKED_NOISE;
- mds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_NOISE;
+ fds->cache_flag &= ~FLUID_DOMAIN_BAKING_NOISE;
+ fds->cache_flag |= FLUID_DOMAIN_BAKED_NOISE;
+ fds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_NOISE;
}
if (fluid_is_bake_mesh(job) || fluid_is_bake_all(job)) {
- mds->cache_flag &= ~FLUID_DOMAIN_BAKING_MESH;
- mds->cache_flag |= FLUID_DOMAIN_BAKED_MESH;
- mds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_MESH;
+ fds->cache_flag &= ~FLUID_DOMAIN_BAKING_MESH;
+ fds->cache_flag |= FLUID_DOMAIN_BAKED_MESH;
+ fds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_MESH;
}
if (fluid_is_bake_particle(job) || fluid_is_bake_all(job)) {
- mds->cache_flag &= ~FLUID_DOMAIN_BAKING_PARTICLES;
- mds->cache_flag |= FLUID_DOMAIN_BAKED_PARTICLES;
- mds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_PARTICLES;
+ fds->cache_flag &= ~FLUID_DOMAIN_BAKING_PARTICLES;
+ fds->cache_flag |= FLUID_DOMAIN_BAKED_PARTICLES;
+ fds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_PARTICLES;
}
if (fluid_is_bake_guiding(job) || fluid_is_bake_all(job)) {
- mds->cache_flag &= ~FLUID_DOMAIN_BAKING_GUIDE;
- mds->cache_flag |= FLUID_DOMAIN_BAKED_GUIDE;
- mds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_GUIDE;
+ fds->cache_flag &= ~FLUID_DOMAIN_BAKING_GUIDE;
+ fds->cache_flag |= FLUID_DOMAIN_BAKED_GUIDE;
+ fds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_GUIDE;
}
if (fluid_is_bake_data(job) || fluid_is_bake_all(job)) {
- mds->cache_flag &= ~FLUID_DOMAIN_BAKING_DATA;
- mds->cache_flag |= FLUID_DOMAIN_BAKED_DATA;
- mds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_DATA;
+ fds->cache_flag &= ~FLUID_DOMAIN_BAKING_DATA;
+ fds->cache_flag |= FLUID_DOMAIN_BAKED_DATA;
+ fds->cache_flag &= ~FLUID_DOMAIN_OUTDATED_DATA;
}
DEG_id_tag_update(&job->ob->id, ID_RECALC_GEOMETRY);
@@ -362,8 +362,8 @@ static void fluid_bake_endjob(void *customdata)
RPT_INFO, "Fluid: %s complete! (%.2f)", job->name, PIL_check_seconds_timer() - job->start);
}
else {
- if (mds->error[0] != '\0') {
- WM_reportf(RPT_ERROR, "Fluid: %s failed: %s", job->name, mds->error);
+ if (fds->error[0] != '\0') {
+ WM_reportf(RPT_ERROR, "Fluid: %s failed: %s", job->name, fds->error);
}
else { /* User canceled the bake. */
WM_reportf(RPT_WARNING, "Fluid: %s canceled!", job->name);
@@ -374,7 +374,7 @@ static void fluid_bake_endjob(void *customdata)
static void fluid_bake_startjob(void *customdata, short *stop, short *do_update, float *progress)
{
FluidJob *job = customdata;
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
char temp_dir[FILE_MAX];
const char *relbase = BKE_modifier_path_relbase_from_global(job->ob);
@@ -390,54 +390,54 @@ static void fluid_bake_startjob(void *customdata, short *stop, short *do_update,
BKE_spacedata_draw_locks(true);
if (fluid_is_bake_noise(job) || fluid_is_bake_all(job)) {
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_NOISE, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_NOISE, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'noise' subdir if it does not exist already */
- mds->cache_flag &= ~(FLUID_DOMAIN_BAKED_NOISE | FLUID_DOMAIN_OUTDATED_NOISE);
- mds->cache_flag |= FLUID_DOMAIN_BAKING_NOISE;
- job->pause_frame = &mds->cache_frame_pause_noise;
+ fds->cache_flag &= ~(FLUID_DOMAIN_BAKED_NOISE | FLUID_DOMAIN_OUTDATED_NOISE);
+ fds->cache_flag |= FLUID_DOMAIN_BAKING_NOISE;
+ job->pause_frame = &fds->cache_frame_pause_noise;
}
if (fluid_is_bake_mesh(job) || fluid_is_bake_all(job)) {
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_MESH, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_MESH, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'mesh' subdir if it does not exist already */
- mds->cache_flag &= ~(FLUID_DOMAIN_BAKED_MESH | FLUID_DOMAIN_OUTDATED_MESH);
- mds->cache_flag |= FLUID_DOMAIN_BAKING_MESH;
- job->pause_frame = &mds->cache_frame_pause_mesh;
+ fds->cache_flag &= ~(FLUID_DOMAIN_BAKED_MESH | FLUID_DOMAIN_OUTDATED_MESH);
+ fds->cache_flag |= FLUID_DOMAIN_BAKING_MESH;
+ job->pause_frame = &fds->cache_frame_pause_mesh;
}
if (fluid_is_bake_particle(job) || fluid_is_bake_all(job)) {
BLI_path_join(
- temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_PARTICLES, NULL);
+ temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_PARTICLES, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(
temp_dir); /* Create 'particles' subdir if it does not exist already */
- mds->cache_flag &= ~(FLUID_DOMAIN_BAKED_PARTICLES | FLUID_DOMAIN_OUTDATED_PARTICLES);
- mds->cache_flag |= FLUID_DOMAIN_BAKING_PARTICLES;
- job->pause_frame = &mds->cache_frame_pause_particles;
+ fds->cache_flag &= ~(FLUID_DOMAIN_BAKED_PARTICLES | FLUID_DOMAIN_OUTDATED_PARTICLES);
+ fds->cache_flag |= FLUID_DOMAIN_BAKING_PARTICLES;
+ job->pause_frame = &fds->cache_frame_pause_particles;
}
if (fluid_is_bake_guiding(job) || fluid_is_bake_all(job)) {
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_GUIDE, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_GUIDE, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'guiding' subdir if it does not exist already */
- mds->cache_flag &= ~(FLUID_DOMAIN_BAKED_GUIDE | FLUID_DOMAIN_OUTDATED_GUIDE);
- mds->cache_flag |= FLUID_DOMAIN_BAKING_GUIDE;
- job->pause_frame = &mds->cache_frame_pause_guide;
+ fds->cache_flag &= ~(FLUID_DOMAIN_BAKED_GUIDE | FLUID_DOMAIN_OUTDATED_GUIDE);
+ fds->cache_flag |= FLUID_DOMAIN_BAKING_GUIDE;
+ job->pause_frame = &fds->cache_frame_pause_guide;
}
if (fluid_is_bake_data(job) || fluid_is_bake_all(job)) {
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_CONFIG, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_CONFIG, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'config' subdir if it does not exist already */
- BLI_path_join(temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_DATA, NULL);
+ BLI_path_join(temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_DATA, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'data' subdir if it does not exist already */
- mds->cache_flag &= ~(FLUID_DOMAIN_BAKED_DATA | FLUID_DOMAIN_OUTDATED_DATA);
- mds->cache_flag |= FLUID_DOMAIN_BAKING_DATA;
- job->pause_frame = &mds->cache_frame_pause_data;
+ fds->cache_flag &= ~(FLUID_DOMAIN_BAKED_DATA | FLUID_DOMAIN_OUTDATED_DATA);
+ fds->cache_flag |= FLUID_DOMAIN_BAKING_DATA;
+ job->pause_frame = &fds->cache_frame_pause_data;
- if (mds->flags & FLUID_DOMAIN_EXPORT_MANTA_SCRIPT) {
+ if (fds->flags & FLUID_DOMAIN_EXPORT_MANTA_SCRIPT) {
BLI_path_join(
- temp_dir, sizeof(temp_dir), mds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
+ temp_dir, sizeof(temp_dir), fds->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
BLI_path_abs(temp_dir, relbase);
BLI_dir_create_recursive(temp_dir); /* Create 'script' subdir if it does not exist already */
}
@@ -457,7 +457,7 @@ static void fluid_bake_startjob(void *customdata, short *stop, short *do_update,
static void fluid_free_endjob(void *customdata)
{
FluidJob *job = customdata;
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
G.is_rendering = false;
BKE_spacedata_draw_locks(false);
@@ -474,8 +474,8 @@ static void fluid_free_endjob(void *customdata)
RPT_INFO, "Fluid: %s complete! (%.2f)", job->name, PIL_check_seconds_timer() - job->start);
}
else {
- if (mds->error[0] != '\0') {
- WM_reportf(RPT_ERROR, "Fluid: %s failed: %s", job->name, mds->error);
+ if (fds->error[0] != '\0') {
+ WM_reportf(RPT_ERROR, "Fluid: %s failed: %s", job->name, fds->error);
}
else { /* User canceled the free job */
WM_reportf(RPT_WARNING, "Fluid: %s canceled!", job->name);
@@ -486,7 +486,7 @@ static void fluid_free_endjob(void *customdata)
static void fluid_free_startjob(void *customdata, short *stop, short *do_update, float *progress)
{
FluidJob *job = customdata;
- FluidDomainSettings *mds = job->mmd->domain;
+ FluidDomainSettings *fds = job->fmd->domain;
job->stop = stop;
job->do_update = do_update;
@@ -519,9 +519,9 @@ static void fluid_free_startjob(void *customdata, short *stop, short *do_update,
FLUID_DOMAIN_OUTDATED_GUIDE);
}
#ifdef WITH_FLUID
- BKE_fluid_cache_free(mds, job->ob, cache_map);
+ BKE_fluid_cache_free(fds, job->ob, cache_map);
#else
- UNUSED_VARS(mds);
+ UNUSED_VARS(fds);
#endif
*do_update = true;
@@ -615,27 +615,27 @@ static int fluid_bake_modal(bContext *C, wmOperator *UNUSED(op), const wmEvent *
static int fluid_free_exec(struct bContext *C, struct wmOperator *op)
{
- FluidModifierData *mmd = NULL;
- FluidDomainSettings *mds;
+ FluidModifierData *fmd = NULL;
+ FluidDomainSettings *fds;
Object *ob = ED_object_active_context(C);
Scene *scene = CTX_data_scene(C);
/*
* Get modifier data
*/
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
- if (!mmd) {
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ if (!fmd) {
BKE_report(op->reports, RPT_ERROR, "Bake free failed: no Fluid modifier found");
return OPERATOR_CANCELLED;
}
- mds = mmd->domain;
- if (!mds) {
+ fds = fmd->domain;
+ if (!fds) {
BKE_report(op->reports, RPT_ERROR, "Bake free failed: invalid domain");
return OPERATOR_CANCELLED;
}
/* Cannot free data if other bakes currently working */
- if (mmd->domain->cache_flag & (FLUID_DOMAIN_BAKING_DATA | FLUID_DOMAIN_BAKING_NOISE |
+ if (fmd->domain->cache_flag & (FLUID_DOMAIN_BAKING_DATA | FLUID_DOMAIN_BAKING_NOISE |
FLUID_DOMAIN_BAKING_MESH | FLUID_DOMAIN_BAKING_PARTICLES)) {
BKE_report(op->reports, RPT_ERROR, "Bake free failed: pending bake jobs found");
return OPERATOR_CANCELLED;
@@ -646,7 +646,7 @@ static int fluid_free_exec(struct bContext *C, struct wmOperator *op)
job->scene = scene;
job->depsgraph = CTX_data_depsgraph_pointer(C);
job->ob = ob;
- job->mmd = mmd;
+ job->fmd = fmd;
job->type = op->type->idname;
job->name = op->type->name;
@@ -678,20 +678,20 @@ static int fluid_free_exec(struct bContext *C, struct wmOperator *op)
static int fluid_pause_exec(struct bContext *C, struct wmOperator *op)
{
- FluidModifierData *mmd = NULL;
- FluidDomainSettings *mds;
+ FluidModifierData *fmd = NULL;
+ FluidDomainSettings *fds;
Object *ob = ED_object_active_context(C);
/*
* Get modifier data
*/
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
- if (!mmd) {
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ if (!fmd) {
BKE_report(op->reports, RPT_ERROR, "Bake free failed: no Fluid modifier found");
return OPERATOR_CANCELLED;
}
- mds = mmd->domain;
- if (!mds) {
+ fds = fmd->domain;
+ if (!fds) {
BKE_report(op->reports, RPT_ERROR, "Bake free failed: invalid domain");
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h
index 1cd5c4d519e..b364bd0ef95 100644
--- a/source/blender/gpu/GPU_draw.h
+++ b/source/blender/gpu/GPU_draw.h
@@ -79,11 +79,11 @@ void GPU_free_images_anim(struct Main *bmain);
void GPU_free_images_old(struct Main *bmain);
/* gpu_draw_smoke.c */
-void GPU_free_smoke(struct FluidModifierData *mmd);
-void GPU_free_smoke_velocity(struct FluidModifierData *mmd);
-void GPU_create_smoke(struct FluidModifierData *mmd, int highres);
-void GPU_create_smoke_coba_field(struct FluidModifierData *mmd);
-void GPU_create_smoke_velocity(struct FluidModifierData *mmd);
+void GPU_free_smoke(struct FluidModifierData *fmd);
+void GPU_free_smoke_velocity(struct FluidModifierData *fmd);
+void GPU_create_smoke(struct FluidModifierData *fmd, int highres);
+void GPU_create_smoke_coba_field(struct FluidModifierData *fmd);
+void GPU_create_smoke_velocity(struct FluidModifierData *fmd);
/* Delayed free of OpenGL buffers by main thread */
void GPU_free_unused_buffers(void);
diff --git a/source/blender/gpu/intern/gpu_draw_smoke.c b/source/blender/gpu/intern/gpu_draw_smoke.c
index 67947df0ff7..79b3861d339 100644
--- a/source/blender/gpu/intern/gpu_draw_smoke.c
+++ b/source/blender/gpu/intern/gpu_draw_smoke.c
@@ -132,74 +132,74 @@ static void swizzle_texture_channel_single(GPUTexture *tex)
GPU_texture_unbind(tex);
}
-static GPUTexture *create_field_texture(FluidDomainSettings *mds)
+static GPUTexture *create_field_texture(FluidDomainSettings *fds)
{
float *field = NULL;
- switch (mds->coba_field) {
+ switch (fds->coba_field) {
case FLUID_DOMAIN_FIELD_DENSITY:
- field = manta_smoke_get_density(mds->fluid);
+ field = manta_smoke_get_density(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_HEAT:
- field = manta_smoke_get_heat(mds->fluid);
+ field = manta_smoke_get_heat(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_FUEL:
- field = manta_smoke_get_fuel(mds->fluid);
+ field = manta_smoke_get_fuel(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_REACT:
- field = manta_smoke_get_react(mds->fluid);
+ field = manta_smoke_get_react(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_FLAME:
- field = manta_smoke_get_flame(mds->fluid);
+ field = manta_smoke_get_flame(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_VELOCITY_X:
- field = manta_get_velocity_x(mds->fluid);
+ field = manta_get_velocity_x(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_VELOCITY_Y:
- field = manta_get_velocity_y(mds->fluid);
+ field = manta_get_velocity_y(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_VELOCITY_Z:
- field = manta_get_velocity_z(mds->fluid);
+ field = manta_get_velocity_z(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_COLOR_R:
- field = manta_smoke_get_color_r(mds->fluid);
+ field = manta_smoke_get_color_r(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_COLOR_G:
- field = manta_smoke_get_color_g(mds->fluid);
+ field = manta_smoke_get_color_g(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_COLOR_B:
- field = manta_smoke_get_color_b(mds->fluid);
+ field = manta_smoke_get_color_b(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_FORCE_X:
- field = manta_get_force_x(mds->fluid);
+ field = manta_get_force_x(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_FORCE_Y:
- field = manta_get_force_y(mds->fluid);
+ field = manta_get_force_y(fds->fluid);
break;
case FLUID_DOMAIN_FIELD_FORCE_Z:
- field = manta_get_force_z(mds->fluid);
+ field = manta_get_force_z(fds->fluid);
break;
default:
return NULL;
}
GPUTexture *tex = GPU_texture_create_nD(
- mds->res[0], mds->res[1], mds->res[2], 3, field, GPU_R8, GPU_DATA_FLOAT, 0, true, NULL);
+ fds->res[0], fds->res[1], fds->res[2], 3, field, GPU_R8, GPU_DATA_FLOAT, 0, true, NULL);
swizzle_texture_channel_single(tex);
return tex;
}
-static GPUTexture *create_density_texture(FluidDomainSettings *mds, int highres)
+static GPUTexture *create_density_texture(FluidDomainSettings *fds, int highres)
{
- int *dim = (highres) ? mds->res_noise : mds->res;
+ int *dim = (highres) ? fds->res_noise : fds->res;
float *data;
if (highres) {
- data = manta_smoke_turbulence_get_density(mds->fluid);
+ data = manta_smoke_turbulence_get_density(fds->fluid);
}
else {
- data = manta_smoke_get_density(mds->fluid);
+ data = manta_smoke_get_density(fds->fluid);
}
GPUTexture *tex = GPU_texture_create_nD(
@@ -210,17 +210,17 @@ static GPUTexture *create_density_texture(FluidDomainSettings *mds, int highres)
return tex;
}
-static GPUTexture *create_color_texture(FluidDomainSettings *mds, int highres)
+static GPUTexture *create_color_texture(FluidDomainSettings *fds, int highres)
{
- const bool has_color = (highres) ? manta_smoke_turbulence_has_colors(mds->fluid) :
- manta_smoke_has_colors(mds->fluid);
+ const bool has_color = (highres) ? manta_smoke_turbulence_has_colors(fds->fluid) :
+ manta_smoke_has_colors(fds->fluid);
if (!has_color) {
return NULL;
}
- int cell_count = (highres) ? manta_smoke_turbulence_get_cells(mds->fluid) : mds->total_cells;
- int *dim = (highres) ? mds->res_noise : mds->res;
+ int cell_count = (highres) ? manta_smoke_turbulence_get_cells(fds->fluid) : fds->total_cells;
+ int *dim = (highres) ? fds->res_noise : fds->res;
float *data = MEM_callocN(sizeof(float) * cell_count * 4, "smokeColorTexture");
if (data == NULL) {
@@ -228,10 +228,10 @@ static GPUTexture *create_color_texture(FluidDomainSettings *mds, int highres)
}
if (highres) {
- manta_smoke_turbulence_get_rgba(mds->fluid, data, 0);
+ manta_smoke_turbulence_get_rgba(fds->fluid, data, 0);
}
else {
- manta_smoke_get_rgba(mds->fluid, data, 0);
+ manta_smoke_get_rgba(fds->fluid, data, 0);
}
GPUTexture *tex = GPU_texture_create_nD(
@@ -242,22 +242,22 @@ static GPUTexture *create_color_texture(FluidDomainSettings *mds, int highres)
return tex;
}
-static GPUTexture *create_flame_texture(FluidDomainSettings *mds, int highres)
+static GPUTexture *create_flame_texture(FluidDomainSettings *fds, int highres)
{
float *source = NULL;
- const bool has_fuel = (highres) ? manta_smoke_turbulence_has_fuel(mds->fluid) :
- manta_smoke_has_fuel(mds->fluid);
- int *dim = (highres) ? mds->res_noise : mds->res;
+ const bool has_fuel = (highres) ? manta_smoke_turbulence_has_fuel(fds->fluid) :
+ manta_smoke_has_fuel(fds->fluid);
+ int *dim = (highres) ? fds->res_noise : fds->res;
if (!has_fuel) {
return NULL;
}
if (highres) {
- source = manta_smoke_turbulence_get_flame(mds->fluid);
+ source = manta_smoke_turbulence_get_flame(fds->fluid);
}
else {
- source = manta_smoke_get_flame(mds->fluid);
+ source = manta_smoke_get_flame(fds->fluid);
}
GPUTexture *tex = GPU_texture_create_nD(
@@ -276,90 +276,90 @@ static GPUTexture *create_flame_texture(FluidDomainSettings *mds, int highres)
/** \name Public API
* \{ */
-void GPU_free_smoke(FluidModifierData *mmd)
+void GPU_free_smoke(FluidModifierData *fmd)
{
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN && mmd->domain) {
- if (mmd->domain->tex_density) {
- GPU_texture_free(mmd->domain->tex_density);
- mmd->domain->tex_density = NULL;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
+ if (fmd->domain->tex_density) {
+ GPU_texture_free(fmd->domain->tex_density);
+ fmd->domain->tex_density = NULL;
}
- if (mmd->domain->tex_color) {
- GPU_texture_free(mmd->domain->tex_color);
- mmd->domain->tex_color = NULL;
+ if (fmd->domain->tex_color) {
+ GPU_texture_free(fmd->domain->tex_color);
+ fmd->domain->tex_color = NULL;
}
- if (mmd->domain->tex_shadow) {
- GPU_texture_free(mmd->domain->tex_shadow);
- mmd->domain->tex_shadow = NULL;
+ if (fmd->domain->tex_shadow) {
+ GPU_texture_free(fmd->domain->tex_shadow);
+ fmd->domain->tex_shadow = NULL;
}
- if (mmd->domain->tex_flame) {
- GPU_texture_free(mmd->domain->tex_flame);
- mmd->domain->tex_flame = NULL;
+ if (fmd->domain->tex_flame) {
+ GPU_texture_free(fmd->domain->tex_flame);
+ fmd->domain->tex_flame = NULL;
}
- if (mmd->domain->tex_flame_coba) {
- GPU_texture_free(mmd->domain->tex_flame_coba);
- mmd->domain->tex_flame_coba = NULL;
+ if (fmd->domain->tex_flame_coba) {
+ GPU_texture_free(fmd->domain->tex_flame_coba);
+ fmd->domain->tex_flame_coba = NULL;
}
- if (mmd->domain->tex_coba) {
- GPU_texture_free(mmd->domain->tex_coba);
- mmd->domain->tex_coba = NULL;
+ if (fmd->domain->tex_coba) {
+ GPU_texture_free(fmd->domain->tex_coba);
+ fmd->domain->tex_coba = NULL;
}
- if (mmd->domain->tex_field) {
- GPU_texture_free(mmd->domain->tex_field);
- mmd->domain->tex_field = NULL;
+ if (fmd->domain->tex_field) {
+ GPU_texture_free(fmd->domain->tex_field);
+ fmd->domain->tex_field = NULL;
}
}
}
-void GPU_create_smoke_coba_field(FluidModifierData *mmd)
+void GPU_create_smoke_coba_field(FluidModifierData *fmd)
{
#ifndef WITH_FLUID
- UNUSED_VARS(mmd);
+ UNUSED_VARS(fmd);
#else
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ FluidDomainSettings *fds = fmd->domain;
- if (!mds->tex_field) {
- mds->tex_field = create_field_texture(mds);
+ if (!fds->tex_field) {
+ fds->tex_field = create_field_texture(fds);
}
- if (!mds->tex_coba) {
- mds->tex_coba = create_transfer_function(TFUNC_COLOR_RAMP, mds->coba);
+ if (!fds->tex_coba) {
+ fds->tex_coba = create_transfer_function(TFUNC_COLOR_RAMP, fds->coba);
}
}
#endif
}
-void GPU_create_smoke(FluidModifierData *mmd, int highres)
+void GPU_create_smoke(FluidModifierData *fmd, int highres)
{
#ifndef WITH_FLUID
- UNUSED_VARS(mmd, highres);
+ UNUSED_VARS(fmd, highres);
#else
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ FluidDomainSettings *fds = fmd->domain;
- if (!mds->tex_density) {
- mds->tex_density = create_density_texture(mds, highres);
+ if (!fds->tex_density) {
+ fds->tex_density = create_density_texture(fds, highres);
}
- if (!mds->tex_color) {
- mds->tex_color = create_color_texture(mds, highres);
+ if (!fds->tex_color) {
+ fds->tex_color = create_color_texture(fds, highres);
}
- if (!mds->tex_flame) {
- mds->tex_flame = create_flame_texture(mds, highres);
+ if (!fds->tex_flame) {
+ fds->tex_flame = create_flame_texture(fds, highres);
}
- if (!mds->tex_flame_coba && mds->tex_flame) {
- mds->tex_flame_coba = create_transfer_function(TFUNC_FLAME_SPECTRUM, NULL);
+ if (!fds->tex_flame_coba && fds->tex_flame) {
+ fds->tex_flame_coba = create_transfer_function(TFUNC_FLAME_SPECTRUM, NULL);
}
- if (!mds->tex_shadow) {
- mds->tex_shadow = GPU_texture_create_nD(mds->res[0],
- mds->res[1],
- mds->res[2],
+ if (!fds->tex_shadow) {
+ fds->tex_shadow = GPU_texture_create_nD(fds->res[0],
+ fds->res[1],
+ fds->res[2],
3,
- manta_smoke_get_shadow(mds->fluid),
+ manta_smoke_get_shadow(fds->fluid),
GPU_R8,
GPU_DATA_FLOAT,
0,
@@ -370,53 +370,53 @@ void GPU_create_smoke(FluidModifierData *mmd, int highres)
#endif /* WITH_FLUID */
}
-void GPU_create_smoke_velocity(FluidModifierData *mmd)
+void GPU_create_smoke_velocity(FluidModifierData *fmd)
{
#ifndef WITH_FLUID
- UNUSED_VARS(mmd);
+ UNUSED_VARS(fmd);
#else
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN) {
- FluidDomainSettings *mds = mmd->domain;
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN) {
+ FluidDomainSettings *fds = fmd->domain;
- const float *vel_x = manta_get_velocity_x(mds->fluid);
- const float *vel_y = manta_get_velocity_y(mds->fluid);
- const float *vel_z = manta_get_velocity_z(mds->fluid);
+ const float *vel_x = manta_get_velocity_x(fds->fluid);
+ const float *vel_y = manta_get_velocity_y(fds->fluid);
+ const float *vel_z = manta_get_velocity_z(fds->fluid);
if (ELEM(NULL, vel_x, vel_y, vel_z)) {
return;
}
- if (!mds->tex_velocity_x) {
- mds->tex_velocity_x = GPU_texture_create_3d(
- mds->res[0], mds->res[1], mds->res[2], GPU_R16F, vel_x, NULL);
- mds->tex_velocity_y = GPU_texture_create_3d(
- mds->res[0], mds->res[1], mds->res[2], GPU_R16F, vel_y, NULL);
- mds->tex_velocity_z = GPU_texture_create_3d(
- mds->res[0], mds->res[1], mds->res[2], GPU_R16F, vel_z, NULL);
+ if (!fds->tex_velocity_x) {
+ fds->tex_velocity_x = GPU_texture_create_3d(
+ fds->res[0], fds->res[1], fds->res[2], GPU_R16F, vel_x, NULL);
+ fds->tex_velocity_y = GPU_texture_create_3d(
+ fds->res[0], fds->res[1], fds->res[2], GPU_R16F, vel_y, NULL);
+ fds->tex_velocity_z = GPU_texture_create_3d(
+ fds->res[0], fds->res[1], fds->res[2], GPU_R16F, vel_z, NULL);
}
}
#endif /* WITH_FLUID */
}
/* TODO Unify with the other GPU_free_smoke. */
-void GPU_free_smoke_velocity(FluidModifierData *mmd)
+void GPU_free_smoke_velocity(FluidModifierData *fmd)
{
- if (mmd->type & MOD_FLUID_TYPE_DOMAIN && mmd->domain) {
- if (mmd->domain->tex_velocity_x) {
- GPU_texture_free(mmd->domain->tex_velocity_x);
+ if (fmd->type & MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
+ if (fmd->domain->tex_velocity_x) {
+ GPU_texture_free(fmd->domain->tex_velocity_x);
}
- if (mmd->domain->tex_velocity_y) {
- GPU_texture_free(mmd->domain->tex_velocity_y);
+ if (fmd->domain->tex_velocity_y) {
+ GPU_texture_free(fmd->domain->tex_velocity_y);
}
- if (mmd->domain->tex_velocity_z) {
- GPU_texture_free(mmd->domain->tex_velocity_z);
+ if (fmd->domain->tex_velocity_z) {
+ GPU_texture_free(fmd->domain->tex_velocity_z);
}
- mmd->domain->tex_velocity_x = NULL;
- mmd->domain->tex_velocity_y = NULL;
- mmd->domain->tex_velocity_z = NULL;
+ fmd->domain->tex_velocity_x = NULL;
+ fmd->domain->tex_velocity_y = NULL;
+ fmd->domain->tex_velocity_z = NULL;
}
}
diff --git a/source/blender/makesdna/DNA_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h
index cb0b92c481c..b54ff7ccc17 100644
--- a/source/blender/makesdna/DNA_fluid_types.h
+++ b/source/blender/makesdna/DNA_fluid_types.h
@@ -427,7 +427,7 @@ typedef struct FluidDomainSettings {
/* -- Runtime-only fields (from here on). -- */
- struct FluidModifierData *mmd; /* For fast RNA access. */
+ struct FluidModifierData *fmd; /* For fast RNA access. */
struct MANTA *fluid;
struct MANTA *fluid_old; /* Adaptive domain needs access to old fluid state. */
void *fluid_mutex;
@@ -689,7 +689,7 @@ typedef struct FluidFlowSettings {
/* -- Runtime-only fields (from here on). -- */
/* For fast RNA access. */
- struct FluidModifierData *mmd;
+ struct FluidModifierData *fmd;
struct Mesh *mesh;
struct ParticleSystem *psys;
struct Tex *noise_texture;
@@ -765,7 +765,7 @@ typedef struct FluidEffectorSettings {
/* -- Runtime-only fields (from here on). -- */
/* For fast RNA access. */
- struct FluidModifierData *mmd;
+ struct FluidModifierData *fmd;
struct Mesh *mesh;
float *verts_old;
int numverts;
diff --git a/source/blender/makesrna/intern/rna_fluid.c b/source/blender/makesrna/intern/rna_fluid.c
index 0a634cc8b7f..ab0cc6def6f 100644
--- a/source/blender/makesrna/intern/rna_fluid.c
+++ b/source/blender/makesrna/intern/rna_fluid.c
@@ -77,7 +77,7 @@ static void rna_Fluid_datacache_reset(Main *UNUSED(bmain), Scene *UNUSED(scene),
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- if (settings->mmd && settings->mmd->domain) {
+ if (settings->fmd && settings->fmd->domain) {
Object *ob = (Object *)ptr->owner_id;
int cache_map = (FLUID_DOMAIN_OUTDATED_DATA | FLUID_DOMAIN_OUTDATED_NOISE |
FLUID_DOMAIN_OUTDATED_MESH | FLUID_DOMAIN_OUTDATED_PARTICLES);
@@ -90,7 +90,7 @@ static void rna_Fluid_noisecache_reset(Main *UNUSED(bmain), Scene *UNUSED(scene)
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- if (settings->mmd && settings->mmd->domain) {
+ if (settings->fmd && settings->fmd->domain) {
Object *ob = (Object *)ptr->owner_id;
int cache_map = FLUID_DOMAIN_OUTDATED_NOISE;
BKE_fluid_cache_free(settings, ob, cache_map);
@@ -102,7 +102,7 @@ static void rna_Fluid_meshcache_reset(Main *UNUSED(bmain), Scene *UNUSED(scene),
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- if (settings->mmd && settings->mmd->domain) {
+ if (settings->fmd && settings->fmd->domain) {
Object *ob = (Object *)ptr->owner_id;
int cache_map = FLUID_DOMAIN_OUTDATED_MESH;
BKE_fluid_cache_free(settings, ob, cache_map);
@@ -116,7 +116,7 @@ static void rna_Fluid_particlescache_reset(Main *UNUSED(bmain),
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- if (settings->mmd && settings->mmd->domain) {
+ if (settings->fmd && settings->fmd->domain) {
Object *ob = (Object *)ptr->owner_id;
int cache_map = FLUID_DOMAIN_OUTDATED_PARTICLES;
BKE_fluid_cache_free(settings, ob, cache_map);
@@ -130,7 +130,7 @@ static void rna_Fluid_guidingcache_reset(Main *UNUSED(bmain),
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- if (settings->mmd && settings->mmd->domain) {
+ if (settings->fmd && settings->fmd->domain) {
Object *ob = (Object *)ptr->owner_id;
int cache_map = (FLUID_DOMAIN_OUTDATED_DATA | FLUID_DOMAIN_OUTDATED_NOISE |
FLUID_DOMAIN_OUTDATED_MESH | FLUID_DOMAIN_OUTDATED_PARTICLES |
@@ -165,7 +165,7 @@ static void rna_Fluid_domain_reset(Main *bmain, Scene *scene, PointerRNA *ptr)
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- BKE_fluid_modifier_reset(settings->mmd);
+ BKE_fluid_modifier_reset(settings->fmd);
# endif
rna_Fluid_datacache_reset(bmain, scene, ptr);
@@ -176,7 +176,7 @@ static void rna_Fluid_reset_dependency(Main *bmain, Scene *scene, PointerRNA *pt
{
# ifdef WITH_FLUID
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- BKE_fluid_modifier_reset(settings->mmd);
+ BKE_fluid_modifier_reset(settings->fmd);
# endif
rna_Fluid_dependency_update(bmain, scene, ptr);
@@ -223,15 +223,15 @@ static bool rna_Fluid_parts_exists(PointerRNA *ptr, int ptype)
static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FLIP);
/* Only create a particle system in liquid domain mode.
* Remove any remaining data from a liquid sim when switching to gas. */
- if (mmd->domain->type != FLUID_DOMAIN_TYPE_LIQUID) {
+ if (fmd->domain->type != FLUID_DOMAIN_TYPE_LIQUID) {
rna_Fluid_parts_delete(ptr, PART_FLUID_FLIP);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
rna_Fluid_domain_reset(bmain, scene, ptr);
return;
}
@@ -239,11 +239,11 @@ static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *p
if (ob->type == OB_MESH && !exists) {
rna_Fluid_parts_create(
bmain, ptr, "LiquidParticleSettings", "Liquid", "Liquid Particle System", PART_FLUID_FLIP);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FLIP;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FLIP;
}
else {
rna_Fluid_parts_delete(ptr, PART_FLUID_FLIP);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
}
rna_Fluid_update(bmain, scene, ptr);
}
@@ -251,26 +251,26 @@ static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *p
static void rna_Fluid_spray_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAY);
if (ob->type == OB_MESH && !exists) {
rna_Fluid_parts_create(
bmain, ptr, "SprayParticleSettings", "Spray", "Spray Particle System", PART_FLUID_SPRAY);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
}
else {
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAY);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_SPRAY;
}
}
static void rna_Fluid_bubble_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_BUBBLE);
if (ob->type == OB_MESH && !exists) {
@@ -280,37 +280,37 @@ static void rna_Fluid_bubble_parts_update(Main *bmain, Scene *UNUSED(scene), Poi
"Bubbles",
"Bubble Particle System",
PART_FLUID_BUBBLE);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
}
else {
rna_Fluid_parts_delete(ptr, PART_FLUID_BUBBLE);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_BUBBLE;
}
}
static void rna_Fluid_foam_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FOAM);
if (ob->type == OB_MESH && !exists) {
rna_Fluid_parts_create(
bmain, ptr, "FoamParticleSettings", "Foam", "Foam Particle System", PART_FLUID_FOAM);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
}
else {
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAM);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FOAM;
}
}
static void rna_Fluid_tracer_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_TRACER);
if (ob->type == OB_MESH && !exists) {
@@ -320,21 +320,21 @@ static void rna_Fluid_tracer_parts_update(Main *bmain, Scene *UNUSED(scene), Poi
"Tracers",
"Tracer Particle System",
PART_FLUID_TRACER);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_TRACER;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_TRACER;
}
else {
rna_Fluid_parts_delete(ptr, PART_FLUID_TRACER);
- mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_TRACER;
+ fmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_TRACER;
}
}
static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Object *ob = (Object *)ptr->owner_id;
- FluidModifierData *mmd;
- mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
+ FluidModifierData *fmd;
+ fmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
- if (mmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_OFF) {
+ if (fmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_OFF) {
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAYFOAM);
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAYBUBBLE);
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAMBUBBLE);
@@ -345,17 +345,17 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
bool exists_bubble = rna_Fluid_parts_exists(ptr, PART_FLUID_BUBBLE);
/* Re-add each particle type if enabled and no particle system exists for them anymore. */
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && !exists_spray) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && !exists_spray) {
rna_Fluid_spray_parts_update(bmain, scene, ptr);
}
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && !exists_foam) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && !exists_foam) {
rna_Fluid_foam_parts_update(bmain, scene, ptr);
}
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && !exists_bubble) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && !exists_bubble) {
rna_Fluid_bubble_parts_update(bmain, scene, ptr);
}
}
- else if (mmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_SPRAY_FOAM) {
+ else if (fmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_SPRAY_FOAM) {
if (ob->type == OB_MESH && !rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAYFOAM)) {
rna_Fluid_parts_create(bmain,
@@ -365,8 +365,8 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
"Spray + Foam Particle System",
PART_FLUID_SPRAYFOAM);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAY);
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAM);
@@ -376,12 +376,12 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
/* Re-add spray if enabled and no particle system exists for it anymore. */
bool exists_bubble = rna_Fluid_parts_exists(ptr, PART_FLUID_BUBBLE);
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && !exists_bubble) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_BUBBLE) && !exists_bubble) {
rna_Fluid_bubble_parts_update(bmain, scene, ptr);
}
}
}
- else if (mmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_SPRAY_BUBBLE) {
+ else if (fmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_SPRAY_BUBBLE) {
if (ob->type == OB_MESH && !rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAYBUBBLE)) {
rna_Fluid_parts_create(bmain,
@@ -391,8 +391,8 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
"Spray + Bubble Particle System",
PART_FLUID_SPRAYBUBBLE);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAY);
rna_Fluid_parts_delete(ptr, PART_FLUID_BUBBLE);
@@ -402,12 +402,12 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
/* Re-add foam if enabled and no particle system exists for it anymore. */
bool exists_foam = rna_Fluid_parts_exists(ptr, PART_FLUID_FOAM);
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && !exists_foam) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_FOAM) && !exists_foam) {
rna_Fluid_foam_parts_update(bmain, scene, ptr);
}
}
}
- else if (mmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_FOAM_BUBBLE) {
+ else if (fmd->domain->sndparticle_combined_export == SNDPARTICLE_COMBINED_EXPORT_FOAM_BUBBLE) {
if (ob->type == OB_MESH && !rna_Fluid_parts_exists(ptr, PART_FLUID_FOAMBUBBLE)) {
rna_Fluid_parts_create(bmain,
@@ -417,8 +417,8 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
"Foam + Bubble Particle System",
PART_FLUID_FOAMBUBBLE);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAM);
rna_Fluid_parts_delete(ptr, PART_FLUID_BUBBLE);
@@ -428,12 +428,12 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
/* Re-add foam if enabled and no particle system exists for it anymore. */
bool exists_spray = rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAY);
- if ((mmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && !exists_spray) {
+ if ((fmd->domain->particle_type & FLUID_DOMAIN_PARTICLE_SPRAY) && !exists_spray) {
rna_Fluid_spray_parts_update(bmain, scene, ptr);
}
}
}
- else if (mmd->domain->sndparticle_combined_export ==
+ else if (fmd->domain->sndparticle_combined_export ==
SNDPARTICLE_COMBINED_EXPORT_SPRAY_FOAM_BUBBLE) {
if (ob->type == OB_MESH && !rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAYFOAMBUBBLE)) {
@@ -444,9 +444,9 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
"Spray + Foam + Bubble Particle System",
PART_FLUID_SPRAYFOAMBUBBLE);
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
- mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
+ fmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAY);
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAM);
@@ -512,20 +512,20 @@ static void rna_Fluid_guide_parent_set(struct PointerRNA *ptr,
struct PointerRNA value,
struct ReportList *UNUSED(reports))
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
Object *par = (Object *)value.data;
- FluidModifierData *mmd_par = NULL;
+ FluidModifierData *fmd_par = NULL;
if (par != NULL) {
- mmd_par = (FluidModifierData *)BKE_modifiers_findby_type(par, eModifierType_Fluid);
- if (mmd_par && mmd_par->domain) {
- mds->guide_parent = value.data;
- copy_v3_v3_int(mds->guide_res, mmd_par->domain->res);
+ fmd_par = (FluidModifierData *)BKE_modifiers_findby_type(par, eModifierType_Fluid);
+ if (fmd_par && fmd_par->domain) {
+ fds->guide_parent = value.data;
+ copy_v3_v3_int(fds->guide_res, fmd_par->domain->res);
}
}
else {
- mds->guide_parent = NULL;
+ fds->guide_parent = NULL;
}
}
@@ -580,9 +580,9 @@ static const EnumPropertyItem *rna_Fluid_cachetype_volume_itemf(bContext *UNUSED
# endif
/* Support for deprecated .raw format. */
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
- if (mds->cache_data_format == FLUID_DOMAIN_FILE_RAW ||
- mds->cache_noise_format == FLUID_DOMAIN_FILE_RAW) {
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
+ if (fds->cache_data_format == FLUID_DOMAIN_FILE_RAW ||
+ fds->cache_noise_format == FLUID_DOMAIN_FILE_RAW) {
tmp.value = FLUID_DOMAIN_FILE_RAW;
tmp.identifier = "RAW";
tmp.name = "Raw Cache";
@@ -642,7 +642,7 @@ static void rna_Fluid_domaintype_set(struct PointerRNA *ptr, int value)
static char *rna_FluidDomainSettings_path(PointerRNA *ptr)
{
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
- ModifierData *md = (ModifierData *)settings->mmd;
+ ModifierData *md = (ModifierData *)settings->fmd;
char name_esc[sizeof(md->name) * 2];
BLI_strescape(name_esc, md->name, sizeof(name_esc));
@@ -652,7 +652,7 @@ static char *rna_FluidDomainSettings_path(PointerRNA *ptr)
static char *rna_FluidFlowSettings_path(PointerRNA *ptr)
{
FluidFlowSettings *settings = (FluidFlowSettings *)ptr->data;
- ModifierData *md = (ModifierData *)settings->mmd;
+ ModifierData *md = (ModifierData *)settings->fmd;
char name_esc[sizeof(md->name) * 2];
BLI_strescape(name_esc, md->name, sizeof(name_esc));
@@ -662,7 +662,7 @@ static char *rna_FluidFlowSettings_path(PointerRNA *ptr)
static char *rna_FluidEffectorSettings_path(PointerRNA *ptr)
{
FluidEffectorSettings *settings = (FluidEffectorSettings *)ptr->data;
- ModifierData *md = (ModifierData *)settings->mmd;
+ ModifierData *md = (ModifierData *)settings->fmd;
char name_esc[sizeof(md->name) * 2];
BLI_strescape(name_esc, md->name, sizeof(name_esc));
@@ -677,23 +677,23 @@ static char *rna_FluidEffectorSettings_path(PointerRNA *ptr)
static int rna_FluidModifier_grid_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
float *density = NULL;
int size = 0;
- if (mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
/* high resolution smoke */
int res[3];
- manta_smoke_turbulence_get_res(mds->fluid, res);
+ manta_smoke_turbulence_get_res(fds->fluid, res);
size = res[0] * res[1] * res[2];
- density = manta_smoke_turbulence_get_density(mds->fluid);
+ density = manta_smoke_turbulence_get_density(fds->fluid);
}
- else if (mds->fluid) {
+ else if (fds->fluid) {
/* regular resolution */
- size = mds->res[0] * mds->res[1] * mds->res[2];
- density = manta_smoke_get_density(mds->fluid);
+ size = fds->res[0] * fds->res[1] * fds->res[2];
+ density = manta_smoke_get_density(fds->fluid);
}
length[0] = (density) ? size : 0;
@@ -712,18 +712,18 @@ static int rna_FluidModifier_color_grid_get_length(PointerRNA *ptr,
static int rna_FluidModifier_velocity_grid_get_length(PointerRNA *ptr,
int length[RNA_MAX_ARRAY_DIMENSION])
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
float *vx = NULL;
float *vy = NULL;
float *vz = NULL;
int size = 0;
/* Velocity data is always low-resolution. */
- if (mds->fluid) {
- size = 3 * mds->res[0] * mds->res[1] * mds->res[2];
- vx = manta_get_velocity_x(mds->fluid);
- vy = manta_get_velocity_y(mds->fluid);
- vz = manta_get_velocity_z(mds->fluid);
+ if (fds->fluid) {
+ size = 3 * fds->res[0] * fds->res[1] * fds->res[2];
+ vx = manta_get_velocity_x(fds->fluid);
+ vy = manta_get_velocity_y(fds->fluid);
+ vz = manta_get_velocity_z(fds->fluid);
}
length[0] = (vx && vy && vz) ? size : 0;
@@ -733,14 +733,14 @@ static int rna_FluidModifier_velocity_grid_get_length(PointerRNA *ptr,
static int rna_FluidModifier_heat_grid_get_length(PointerRNA *ptr,
int length[RNA_MAX_ARRAY_DIMENSION])
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
float *heat = NULL;
int size = 0;
/* Heat data is always low-resolution. */
- if (mds->fluid) {
- size = mds->res[0] * mds->res[1] * mds->res[2];
- heat = manta_smoke_get_heat(mds->fluid);
+ if (fds->fluid) {
+ size = fds->res[0] * fds->res[1] * fds->res[2];
+ heat = manta_smoke_get_heat(fds->fluid);
}
length[0] = (heat) ? size : 0;
@@ -749,38 +749,38 @@ static int rna_FluidModifier_heat_grid_get_length(PointerRNA *ptr,
static void rna_FluidModifier_density_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_grid_get_length(ptr, length);
float *density;
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- if (mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
- density = manta_smoke_turbulence_get_density(mds->fluid);
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
+ density = manta_smoke_turbulence_get_density(fds->fluid);
}
else {
- density = manta_smoke_get_density(mds->fluid);
+ density = manta_smoke_get_density(fds->fluid);
}
memcpy(values, density, size * sizeof(float));
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
static void rna_FluidModifier_velocity_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_velocity_grid_get_length(ptr, length);
float *vx, *vy, *vz;
int i;
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- vx = manta_get_velocity_x(mds->fluid);
- vy = manta_get_velocity_y(mds->fluid);
- vz = manta_get_velocity_z(mds->fluid);
+ vx = manta_get_velocity_x(fds->fluid);
+ vy = manta_get_velocity_y(fds->fluid);
+ vz = manta_get_velocity_z(fds->fluid);
for (i = 0; i < size; i += 3) {
*(values++) = *(vx++);
@@ -788,56 +788,56 @@ static void rna_FluidModifier_velocity_grid_get(PointerRNA *ptr, float *values)
*(values++) = *(vz++);
}
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
static void rna_FluidModifier_color_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_grid_get_length(ptr, length);
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- if (!mds->fluid) {
+ if (!fds->fluid) {
memset(values, 0, size * sizeof(float));
}
else {
- if (mds->flags & FLUID_DOMAIN_USE_NOISE) {
- if (manta_smoke_turbulence_has_colors(mds->fluid)) {
- manta_smoke_turbulence_get_rgba(mds->fluid, values, 0);
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE) {
+ if (manta_smoke_turbulence_has_colors(fds->fluid)) {
+ manta_smoke_turbulence_get_rgba(fds->fluid, values, 0);
}
else {
- manta_smoke_turbulence_get_rgba_fixed_color(mds->fluid, mds->active_color, values, 0);
+ manta_smoke_turbulence_get_rgba_fixed_color(fds->fluid, fds->active_color, values, 0);
}
}
else {
- if (manta_smoke_has_colors(mds->fluid)) {
- manta_smoke_get_rgba(mds->fluid, values, 0);
+ if (manta_smoke_has_colors(fds->fluid)) {
+ manta_smoke_get_rgba(fds->fluid, values, 0);
}
else {
- manta_smoke_get_rgba_fixed_color(mds->fluid, mds->active_color, values, 0);
+ manta_smoke_get_rgba_fixed_color(fds->fluid, fds->active_color, values, 0);
}
}
}
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
static void rna_FluidModifier_flame_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_grid_get_length(ptr, length);
float *flame;
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- if (mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
- flame = manta_smoke_turbulence_get_flame(mds->fluid);
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
+ flame = manta_smoke_turbulence_get_flame(fds->fluid);
}
else {
- flame = manta_smoke_get_flame(mds->fluid);
+ flame = manta_smoke_get_flame(fds->fluid);
}
if (flame) {
@@ -847,19 +847,19 @@ static void rna_FluidModifier_flame_grid_get(PointerRNA *ptr, float *values)
memset(values, 0, size * sizeof(float));
}
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
static void rna_FluidModifier_heat_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_heat_grid_get_length(ptr, length);
float *heat;
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- heat = manta_smoke_get_heat(mds->fluid);
+ heat = manta_smoke_get_heat(fds->fluid);
if (heat != NULL) {
/* scale heat values from -2.0-2.0 to -1.0-1.0. */
@@ -871,29 +871,29 @@ static void rna_FluidModifier_heat_grid_get(PointerRNA *ptr, float *values)
memset(values, 0, size * sizeof(float));
}
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
static void rna_FluidModifier_temperature_grid_get(PointerRNA *ptr, float *values)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
int length[RNA_MAX_ARRAY_DIMENSION];
int size = rna_FluidModifier_grid_get_length(ptr, length);
float *flame;
- BLI_rw_mutex_lock(mds->fluid_mutex, THREAD_LOCK_READ);
+ BLI_rw_mutex_lock(fds->fluid_mutex, THREAD_LOCK_READ);
- if (mds->flags & FLUID_DOMAIN_USE_NOISE && mds->fluid) {
- flame = manta_smoke_turbulence_get_flame(mds->fluid);
+ if (fds->flags & FLUID_DOMAIN_USE_NOISE && fds->fluid) {
+ flame = manta_smoke_turbulence_get_flame(fds->fluid);
}
else {
- flame = manta_smoke_get_flame(mds->fluid);
+ flame = manta_smoke_get_flame(fds->fluid);
}
if (flame) {
/* Output is such that 0..1 maps to 0..1000K */
- float offset = mds->flame_ignition;
- float scale = mds->flame_max_temp - mds->flame_ignition;
+ float offset = fds->flame_ignition;
+ float scale = fds->flame_max_temp - fds->flame_ignition;
for (int i = 0; i < size; i++) {
values[i] = (flame[i] > 0.01f) ? offset + flame[i] * scale : 0.0f;
@@ -903,7 +903,7 @@ static void rna_FluidModifier_temperature_grid_get(PointerRNA *ptr, float *value
memset(values, 0, size * sizeof(float));
}
- BLI_rw_mutex_unlock(mds->fluid_mutex);
+ BLI_rw_mutex_unlock(fds->fluid_mutex);
}
# endif /* WITH_FLUID */
@@ -935,12 +935,12 @@ static void rna_FluidFlow_uvlayer_set(struct PointerRNA *ptr, const char *value)
static void rna_Fluid_use_color_ramp_set(struct PointerRNA *ptr, bool value)
{
- FluidDomainSettings *mds = (FluidDomainSettings *)ptr->data;
+ FluidDomainSettings *fds = (FluidDomainSettings *)ptr->data;
- mds->use_coba = value;
+ fds->use_coba = value;
- if (value && mds->coba == NULL) {
- mds->coba = BKE_colorband_add(false);
+ if (value && fds->coba == NULL) {
+ fds->coba = BKE_colorband_add(false);
}
}
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index fd7b6b3f0d6..c92fe5ee508 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -1040,20 +1040,20 @@ static void rna_UVProjector_object_set(PointerRNA *ptr,
static void rna_fluid_set_type(Main *bmain, Scene *scene, PointerRNA *ptr)
{
- FluidModifierData *mmd = (FluidModifierData *)ptr->data;
+ FluidModifierData *fmd = (FluidModifierData *)ptr->data;
Object *ob = (Object *)ptr->owner_id;
/* nothing changed */
- if ((mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
+ if ((fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
return;
}
# ifdef WITH_FLUID
- BKE_fluid_modifier_free(mmd); /* XXX TODO: completely free all 3 pointers */
- BKE_fluid_modifier_create_type_data(mmd); /* create regarding of selected type */
+ BKE_fluid_modifier_free(fmd); /* XXX TODO: completely free all 3 pointers */
+ BKE_fluid_modifier_create_type_data(fmd); /* create regarding of selected type */
# endif
- switch (mmd->type) {
+ switch (fmd->type) {
case MOD_FLUID_TYPE_DOMAIN:
ob->dt = OB_WIRE;
break;
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index 0a4e714c2ef..0b932f3236f 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -805,8 +805,8 @@ static char *rna_EffectorWeight_path(PointerRNA *ptr)
/* check smoke modifier */
md = (ModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid);
if (md) {
- FluidModifierData *mmd = (FluidModifierData *)md;
- if (mmd->domain->effector_weights == ew) {
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ if (fmd->domain->effector_weights == ew) {
char name_esc[sizeof(md->name) * 2];
BLI_strescape(name_esc, md->name, sizeof(name_esc));
return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", name_esc);
diff --git a/source/blender/modifiers/intern/MOD_fluid.c b/source/blender/modifiers/intern/MOD_fluid.c
index 3cc5280100a..e994b80ddea 100644
--- a/source/blender/modifiers/intern/MOD_fluid.c
+++ b/source/blender/modifiers/intern/MOD_fluid.c
@@ -59,13 +59,13 @@
static void initData(ModifierData *md)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- mmd->domain = NULL;
- mmd->flow = NULL;
- mmd->effector = NULL;
- mmd->type = 0;
- mmd->time = -1;
+ fmd->domain = NULL;
+ fmd->flow = NULL;
+ fmd->effector = NULL;
+ fmd->type = 0;
+ fmd->time = -1;
}
static void copyData(const ModifierData *md, ModifierData *target, const int flag)
@@ -73,11 +73,11 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
#ifndef WITH_FLUID
UNUSED_VARS(md, target, flag);
#else
- const FluidModifierData *mmd = (const FluidModifierData *)md;
- FluidModifierData *tmmd = (FluidModifierData *)target;
+ const FluidModifierData *fmd = (const FluidModifierData *)md;
+ FluidModifierData *tfmd = (FluidModifierData *)target;
- BKE_fluid_modifier_free(tmmd);
- BKE_fluid_modifier_copy(mmd, tmmd, flag);
+ BKE_fluid_modifier_free(tfmd);
+ BKE_fluid_modifier_copy(fmd, tfmd, flag);
#endif /* WITH_FLUID */
}
@@ -86,9 +86,9 @@ static void freeData(ModifierData *md)
#ifndef WITH_FLUID
UNUSED_VARS(md);
#else
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- BKE_fluid_modifier_free(mmd);
+ BKE_fluid_modifier_free(fmd);
#endif /* WITH_FLUID */
}
@@ -96,16 +96,16 @@ static void requiredDataMask(Object *UNUSED(ob),
ModifierData *md,
CustomData_MeshMasks *r_cddata_masks)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd && (mmd->type & MOD_FLUID_TYPE_FLOW) && mmd->flow) {
- if (mmd->flow->source == FLUID_FLOW_SOURCE_MESH) {
+ if (fmd && (fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow) {
+ if (fmd->flow->source == FLUID_FLOW_SOURCE_MESH) {
/* vertex groups */
- if (mmd->flow->vgroup_density) {
+ if (fmd->flow->vgroup_density) {
r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT;
}
/* uv layer */
- if (mmd->flow->texture_type == FLUID_FLOW_TEXTURE_MAP_UV) {
+ if (fmd->flow->texture_type == FLUID_FLOW_TEXTURE_MAP_UV) {
r_cddata_masks->fmask |= CD_MASK_MTFACE;
}
}
@@ -118,7 +118,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
UNUSED_VARS(md, ctx);
return me;
#else
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
Mesh *result = NULL;
if (ctx->flag & MOD_APPLY_ORCO) {
@@ -127,7 +127,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
- result = BKE_fluid_modifier_do(mmd, ctx->depsgraph, scene, ctx->object, me);
+ result = BKE_fluid_modifier_do(fmd, ctx->depsgraph, scene, ctx->object, me);
return result ? result : me;
#endif /* WITH_FLUID */
}
@@ -139,69 +139,69 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
static bool is_flow_cb(Object *UNUSED(ob), ModifierData *md)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
- return (mmd->type & MOD_FLUID_TYPE_FLOW) && mmd->flow;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ return (fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow;
}
static bool is_coll_cb(Object *UNUSED(ob), ModifierData *md)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
- return (mmd->type & MOD_FLUID_TYPE_EFFEC) && mmd->effector;
+ FluidModifierData *fmd = (FluidModifierData *)md;
+ return (fmd->type & MOD_FLUID_TYPE_EFFEC) && fmd->effector;
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd && (mmd->type & MOD_FLUID_TYPE_DOMAIN) && mmd->domain) {
+ if (fmd && (fmd->type & MOD_FLUID_TYPE_DOMAIN) && fmd->domain) {
DEG_add_collision_relations(ctx->node,
ctx->object,
- mmd->domain->fluid_group,
+ fmd->domain->fluid_group,
eModifierType_Fluid,
is_flow_cb,
"Fluid Flow");
DEG_add_collision_relations(ctx->node,
ctx->object,
- mmd->domain->effector_group,
+ fmd->domain->effector_group,
eModifierType_Fluid,
is_coll_cb,
"Fluid Effector");
DEG_add_forcefield_relations(ctx->node,
ctx->object,
- mmd->domain->effector_weights,
+ fmd->domain->effector_weights,
true,
PFIELD_FLUIDFLOW,
"Fluid Force Field");
- if (mmd->domain->guide_parent != NULL) {
+ if (fmd->domain->guide_parent != NULL) {
DEG_add_object_relation(
- ctx->node, mmd->domain->guide_parent, DEG_OB_COMP_TRANSFORM, "Fluid Guiding Object");
+ ctx->node, fmd->domain->guide_parent, DEG_OB_COMP_TRANSFORM, "Fluid Guiding Object");
DEG_add_object_relation(
- ctx->node, mmd->domain->guide_parent, DEG_OB_COMP_GEOMETRY, "Fluid Guiding Object");
+ ctx->node, fmd->domain->guide_parent, DEG_OB_COMP_GEOMETRY, "Fluid Guiding Object");
}
}
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
- FluidModifierData *mmd = (FluidModifierData *)md;
+ FluidModifierData *fmd = (FluidModifierData *)md;
- if (mmd->type == MOD_FLUID_TYPE_DOMAIN && mmd->domain) {
- walk(userData, ob, (ID **)&mmd->domain->effector_group, IDWALK_CB_NOP);
- walk(userData, ob, (ID **)&mmd->domain->fluid_group, IDWALK_CB_NOP);
- walk(userData, ob, (ID **)&mmd->domain->force_group, IDWALK_CB_NOP);
+ if (fmd->type == MOD_FLUID_TYPE_DOMAIN && fmd->domain) {
+ walk(userData, ob, (ID **)&fmd->domain->effector_group, IDWALK_CB_NOP);
+ walk(userData, ob, (ID **)&fmd->domain->fluid_group, IDWALK_CB_NOP);
+ walk(userData, ob, (ID **)&fmd->domain->force_group, IDWALK_CB_NOP);
- if (mmd->domain->guide_parent) {
- walk(userData, ob, (ID **)&mmd->domain->guide_parent, IDWALK_CB_NOP);
+ if (fmd->domain->guide_parent) {
+ walk(userData, ob, (ID **)&fmd->domain->guide_parent, IDWALK_CB_NOP);
}
- if (mmd->domain->effector_weights) {
- walk(userData, ob, (ID **)&mmd->domain->effector_weights->group, IDWALK_CB_NOP);
+ if (fmd->domain->effector_weights) {
+ walk(userData, ob, (ID **)&fmd->domain->effector_weights->group, IDWALK_CB_NOP);
}
}
- if (mmd->type == MOD_FLUID_TYPE_FLOW && mmd->flow) {
- walk(userData, ob, (ID **)&mmd->flow->noise_texture, IDWALK_CB_USER);
+ if (fmd->type == MOD_FLUID_TYPE_FLOW && fmd->flow) {
+ walk(userData, ob, (ID **)&fmd->flow->noise_texture, IDWALK_CB_USER);
}
}