[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