[Bf-blender-cvs] [c92be53] soc-2014-fluid: Not using disk setup file anymore

Roman Pogribnyi noreply at git.blender.org
Tue Nov 11 23:43:02 CET 2014


Commit: c92be53d244548fbfacabab3ec77aae0ec9699ca
Author: Roman Pogribnyi
Date:   Mon Oct 27 09:56:29 2014 +0100
Branches: soc-2014-fluid
https://developer.blender.org/rBc92be53d244548fbfacabab3ec77aae0ec9699ca

Not using disk setup file anymore

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

M	intern/smoke/intern/MANTA.cpp
M	intern/smoke/intern/MANTA.h
M	source/blender/python/manta_pp/pwrapper/pymain.cpp

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

diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index 7a7ba09..ecae53d 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -464,15 +464,15 @@ void Manta_API::generate_manta_sim_file(SmokeModifierData *smd)
 
 	/*constrcting final setup*/
 	string smoke_script = smoke_setup_low + ((wavelets)?smoke_setup_high:"") + smoke_step_low + ((wavelets)?smoke_step_high:"");	
-	ofstream manta_setup_file;
-	manta_setup_file.open("manta_scene.py", std::fstream::trunc);
-	manta_setup_file << smoke_script ;
-	manta_setup_file.close();
+//	ofstream manta_setup_file;
+//	manta_setup_file.open("manta_scene.py", std::fstream::trunc);
+//	manta_setup_file << smoke_script ;
+//	manta_setup_file.close();
 
-	parseFile(smoke_script, smd);
+	std::string final_script = parseScript(smoke_script, smd);
 	vector<string> a;
 	a.push_back("manta_scene.py");
-	runMantaScript("",a);
+	runMantaScript(final_script,a);
 	updatePointers();
 }
 
@@ -564,23 +564,26 @@ std::string Manta_API::parseLine(const string& line, SmokeModifierData *smd)
 	return res;
 }
 
-void Manta_API::parseFile(const string & setup_string, SmokeModifierData *smd)
+std::string Manta_API::parseScript(const string & setup_string, SmokeModifierData *smd)
 {
 //	ifstream f (file);
-std::istringstream f(setup_string);
-	ofstream of;
-	of.open("manta_scene.py", std::fstream::trunc);
+	std::istringstream f(setup_string);
+//	ofstream of; /*PR: for Debug*/
+	ostringstream res;
+//	of.open("manta_scene.py", std::fstream::trunc);
 	string line="";
 //	if (f.is_open()){
 		while(getline(f,line)){
-			of << parseLine(line,smd) << "\n";
+//			of << parseLine(line,smd) << "\n";
+			res << parseLine(line,smd) << "\n"; 
 		}
 //		f.close();
 //	}
 //	else{
 //		printf ("Error: No scenario file found");
 //	}
-	of.close();
+//	of.close();
+	return res.str();
 }
 
 string Manta_API::getGridPointer(std::string gridName, std::string solverName)
diff --git a/intern/smoke/intern/MANTA.h b/intern/smoke/intern/MANTA.h
index 6ea6f2b..e38fbfd 100644
--- a/intern/smoke/intern/MANTA.h
+++ b/intern/smoke/intern/MANTA.h
@@ -115,7 +115,7 @@ public:
 	
 	std::string parseLine(const string& line, SmokeModifierData *sds);
 	
-	void parseFile(const string& setup_string, SmokeModifierData *sds);	
+	std::string parseScript(const string& setup_string, SmokeModifierData *sds);	
 	
 	pthread_t manta_thread;
 	
diff --git a/source/blender/python/manta_pp/pwrapper/pymain.cpp b/source/blender/python/manta_pp/pwrapper/pymain.cpp
index 611afe9..83bc587 100644
--- a/source/blender/python/manta_pp/pwrapper/pymain.cpp
+++ b/source/blender/python/manta_pp/pwrapper/pymain.cpp
@@ -193,12 +193,12 @@ void runMantaScript(const string& ss,vector<string>& args) {
 	PySys_SetArgv( args.size(), (pyChar**) cargs);
 	
 	// Try to load python script
-	FILE* fp = fopen(filename.c_str(),"rb");
-	if (fp == NULL) {
-		debMsg("Cannot open '" << filename << "'", 0);
-		Pb::finalize();
-		return;
-	}
+//	FILE* fp = fopen(filename.c_str(),"rb");
+//	if (fp == NULL) {
+//		debMsg("Cannot open '" << filename << "'", 0);
+//		Pb::finalize();
+//		return;
+//	}
 	
 	// Run the python script file
 	debMsg("Loading script '" << filename << "'", 0);
@@ -217,8 +217,8 @@ void runMantaScript(const string& ss,vector<string>& args) {
 	// for linux, use this as it produces nicer error messages
 	string toExec = "";
 	
-//	PyRun_SimpleString(ss.c_str());
-	PyRun_SimpleFileEx(fp, filename.c_str(), 0);    
+	PyRun_SimpleString(ss.c_str());
+//	PyRun_SimpleFileEx(fp, filename.c_str(), 0);    
 //	for (int frame=0; frame < 4; ++frame)
 //	{
 //		std::string frame_str = static_cast<ostringstream*>( &(ostringstream() << frame) )->str();
@@ -226,9 +226,9 @@ void runMantaScript(const string& ss,vector<string>& args) {
 //		std::string py_string_1 = py_string_0.append(")\0");
 //		PyRun_SimpleString(py_string_1.c_str());
 //	}
-	if (fp != NULL){
-		fclose(fp);    
-	}
+//	if (fp != NULL){
+//		fclose(fp);    
+//	}
 #endif
 	
 	debMsg("Script finished.", 0);




More information about the Bf-blender-cvs mailing list