[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