[Bf-blender-cvs] [ada6ead] soc-2014-fluid: manta readfile to separate function

Roman Pogribnyi noreply at git.blender.org
Tue Jul 29 11:46:25 CEST 2014


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




More information about the Bf-blender-cvs mailing list