[Bf-blender-cvs] [e3aecd0] soc-2014-fluid: using user-defined frame bounds
Roman Pogribnyi
noreply at git.blender.org
Fri Jul 25 22:34:21 CEST 2014
Commit: e3aecd084ebe782c146bb1317af5d27a95b34ddb
Author: Roman Pogribnyi
Date: Fri Jul 25 20:35:00 2014 +0200
Branches: soc-2014-fluid
https://developer.blender.org/rBe3aecd084ebe782c146bb1317af5d27a95b34ddb
using user-defined frame bounds
===================================================================
M intern/smoke/intern/MANTA.cpp
M release/scripts/startup/bl_ui/properties_physics_smoke.py
M source/blender/blenkernel/intern/smoke.c
===================================================================
diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index d1e85e6..d4ffade 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -204,7 +204,9 @@ void generate_manta_sim_file(Scene *scene, SmokeModifierData *smd)
float noise_val_scale = smd->domain->noise_val_scale;
float noise_val_offset = smd->domain->noise_val_offset;
float noise_time_anim = smd->domain->noise_time_anim;
-
+ int num_sim_frames = smd->domain->manta_end_frame - smd->domain->manta_start_frame + 1;
+ if(num_sim_frames < 1)
+ return;
FLUID_3D *fluid = smd->domain->fluid;
ofstream manta_setup_file;
manta_setup_file.open("manta_scene.py", std::fstream::trunc);
@@ -328,7 +330,8 @@ void generate_manta_sim_file(Scene *scene, SmokeModifierData *smd)
/*Flow solving stepsv, main loop*/
//setting 20 sim frames for now
- ss << "for t in range(0,20): \n"; // << scene->r.sfra << ", " << scene->r.efra << "): \n";
+// ss << "for t in range(0,20): \n"; // << scene->r.sfra << ", " << scene->r.efra << "): \n";
+ ss << "for t in range(0, " << num_sim_frames << "): \n";
manta_advect_SemiLagr(ss, 1, "flags", "vel", "density", 2);
manta_advect_SemiLagr(ss, 1, "flags", "vel", "vel", 2);
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index 3f46517..e6f8e78 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -405,7 +405,10 @@ class PHYSICS_PT_smoke_manta_settings(PhysicButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ #consistency check
domain = context.smoke.domain_settings
+ #if(domain.manta_end_frame < domain.manta_start_frame):
+ # domain.manta_end_frame = domain.manta_start_frame + 1
layout.active = domain.use_manta
split = layout.split()
split.operator("manta.export_scene", text="Create Manta Setup")
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index e8f3861..cc91219 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -2698,7 +2698,9 @@ static void smokeModifier_process(SmokeModifierData *smd, Scene *scene, Object *
if(smd->domain->flags & MOD_SMOKE_USE_MANTA)
{
char buff[100];
- sprintf(buff, "./den%04d.uni", scene->r.cfra);
+ if(smd->domain->manta_start_frame > scene->r.cfra)
+ return;
+ sprintf(buff, "./den%04d.uni", scene->r.cfra - smd->domain->manta_start_frame);
smoke_mantaflow_read(smd->domain->fluid, buff);
return;
}
More information about the Bf-blender-cvs
mailing list