Commit: aa59cb66150077f8e5f09ceab6adebcde2052e8a
Author: Roman Pogribnyi
Date:   Sat Jun 21 10:26:36 2014 +0200
https://developer.blender.org/rBaa59cb66150077f8e5f09ceab6adebcde2052e8a

Running Manta in separate thread

===================================================================

M       intern/smoke/intern/MANTA.h

===================================================================

diff --git a/intern/smoke/intern/MANTA.h b/intern/smoke/intern/MANTA.h
index fad7074..1c72169 100644
--- a/intern/smoke/intern/MANTA.h
+++ b/intern/smoke/intern/MANTA.h
@@ -8,6 +8,7 @@
 #include <sstream>
 #include <stdlib.h>
 #include <fstream>
+#include <pthread.h>
 
 extern "C" bool manta_check_grid_size(struct FLUID_3D *fluid, int dimX, int 
dimY, int dimZ)
 {
@@ -162,6 +163,12 @@ static void add_mesh_transform_method(stringstream& ss)
        "  obj.offset(vec3(res/2, res/2, res/2))\n\n";
 }
 
+void *run_manta_scene(void *threadid)
+{
+       system("./manta manta_scene.py");
+       pthread_exit(NULL);
+}
+
 static void generate_manta_sim_file(Scene *scene, SmokeModifierData *smd)
 {
        /*for now, simpleplume file creation
@@ -355,9 +362,11 @@ static void generate_manta_sim_file(Scene *scene, 
SmokeModifierData *smd)
                //ss << "    densityInflow( flags=xl_flags, density=xl_density, 
noise=xl_noise, shape=xl_source, scale=1, sigma=0.5 ) \n";
                ss << "  xl.step()   \n";
        }
-       
        manta_setup_file << ss.rdbuf();
        manta_setup_file.close();
+       pthread_t manta_thread;
+       int rc = pthread_create(&manta_thread, NULL, run_manta_scene, NULL);
+       pthread_detach(manta_thread);
 }
 
 #endif /* MANTA_H */

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

Reply via email to