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;
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to