Commit: ada6ead6cc63649995c4c1d476e6928424afbea5
Author: Roman Pogribnyi
Date:   Mon Jul 28 12:09:00 2014 +0200
Branches: soc-2014-fluid
https://developer.blender.org/rBada6ead6cc63649995c4c1d476e6928424afbea5

manta readfile to separate function

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

M       intern/smoke/intern/MANTA.cpp
M       intern/smoke/intern/MANTA.h

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

diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index d4ffade..5aef064 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -174,23 +174,33 @@ void create_manta_folder()
        
 }
 
-void *run_manta_scene(void *threadid)
+void *run_manta_scene_thread(void *arguments)
 {
+       struct manta_arg_struct *args = (struct manta_arg_struct *)arguments;
        //create_manta_folder();
        //PyInterpreterState *st = PyThreadState_GET()->interp;
        //PyThreadState *ts = Py_NewInterpreter();
        
-       vector<string> args;
-       args.push_back("manta_scene.py");
+       vector<string> a;
+       a.push_back(args->filepath);
+       //a.push_back("manta_scene.py");
        //args.push_back("test_1.py");
        
-       runMantaScript(args);
+       runMantaScript(a);
        
        //system("./manta manta_scene.py");
-       //      pthread_exit(NULL);
+       pthread_exit(NULL);
+       return NULL;
 }
 
-
+void run_manta_scene(char *filepath)
+{
+       pthread_t manta_thread;
+       struct manta_arg_struct args;
+       args.filepath = filepath;
+       int rc = pthread_create(&manta_thread, NULL, run_manta_scene_thread, 
(void *)&args);
+       pthread_detach(manta_thread);
+}
 
 void generate_manta_sim_file(Scene *scene, SmokeModifierData *smd)
 {
@@ -390,9 +400,6 @@ void generate_manta_sim_file(Scene *scene, 
SmokeModifierData *smd)
        }
        manta_setup_file << ss.rdbuf();
        manta_setup_file.close();
-       //      create_manta_folder();
-       pthread_t manta_thread;
-       int rc = pthread_create(&manta_thread, NULL, run_manta_scene, NULL);
-       pthread_detach(manta_thread);
+       run_manta_scene("manta_scene.py");
 }
 
diff --git a/intern/smoke/intern/MANTA.h b/intern/smoke/intern/MANTA.h
index 42bc09a..8801f42 100644
--- a/intern/smoke/intern/MANTA.h
+++ b/intern/smoke/intern/MANTA.h
@@ -15,6 +15,10 @@
 //#include "../../../source/blender/blenlib/BLI_fileops.h"
 //#include "../../../source/blender/python/manta_pp/pwrapper/pymain.cpp"
 
+struct manta_arg_struct {
+       std::string filepath;
+};
+
 void runMantaScript(vector<string>& args);//defined in 
manta_pp/pwrapper/pymain.cpp
 
 extern "C" bool manta_check_grid_size(struct FLUID_3D *fluid, int dimX, int 
dimY, int dimZ);
@@ -42,7 +46,9 @@ void manta_cache_path(char *filepath);
 //void BLI_dir_create_recursive(const char *filepath);
 void create_manta_folder();
 
-void *run_manta_scene(void *threadid);
+void *run_manta_scene_thread(void *threadid);
+
+void run_manta_scene(char * filepath);
 
 void generate_manta_sim_file(Scene *scene, SmokeModifierData *smd);

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

Reply via email to