[Bf-blender-cvs] [497c40b] fluid-mantaflow: refactored updatePointers functions

Sebastián Barschkis noreply at git.blender.org
Thu Jan 28 12:36:36 CET 2016


Commit: 497c40b29c978aed9943d4f18cb5c44f5774b583
Author: Sebastián Barschkis
Date:   Tue Sep 8 01:02:59 2015 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB497c40b29c978aed9943d4f18cb5c44f5774b583

refactored updatePointers functions

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

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

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

diff --git a/intern/smoke/intern/FLUID_3D.cpp b/intern/smoke/intern/FLUID_3D.cpp
index a0a6eed..17faded 100644
--- a/intern/smoke/intern/FLUID_3D.cpp
+++ b/intern/smoke/intern/FLUID_3D.cpp
@@ -666,7 +666,7 @@ _xRes(res[0]), _yRes(res[1]), _zRes(res[2]), _res(0.0f)
 	vector<string> a;
 	a.push_back("manta_scene.py");
 	runMantaScript(final_script,a); /*need this to delete previous solvers and grids*/
-	Manta_API::updatePointers(this, using_colors);
+	Manta_API::updatePointers(this);
 }
 
 void FLUID_3D::initHeat()
@@ -676,7 +676,7 @@ void FLUID_3D::initHeat()
 		PyGILState_STATE gilstate = PyGILState_Ensure();
 		PyRun_SimpleString(smoke_init_heat_low.c_str());
 		PyGILState_Release(gilstate);
-		Manta_API::updatePointers(this, using_colors);
+		Manta_API::updatePointers(this);
 	}
 }
 
@@ -692,7 +692,7 @@ void FLUID_3D::initColors(float init_r, float init_g, float init_b)
 		PyRun_SimpleString(ss.str().c_str());
 		PyRun_SimpleString(smoke_init_colors_low.c_str());
 		PyGILState_Release(gilstate);
-		Manta_API::updatePointers(this, true);
+		Manta_API::updatePointers(this);
 	}
 }
 
@@ -703,7 +703,7 @@ void FLUID_3D::initFire()
 		PyGILState_STATE gilstate = PyGILState_Ensure();
 		PyRun_SimpleString(smoke_init_fire_low.c_str());
 		PyGILState_Release(gilstate);
-		Manta_API::updatePointers(this, true);
+		Manta_API::updatePointers(this);
 	}
 }
 
@@ -759,7 +759,7 @@ void FLUID_3D::step(float dt, float gravity[3])
 {
 	// Blender computes heat buoyancy, not yet impl. in Manta
 	manta_write_effectors(this);
-	Manta_API::updatePointers(this,using_colors);
+	Manta_API::updatePointers(this);
 //	diffuseHeat();
 
 	int sim_frame = 1;
@@ -770,7 +770,7 @@ void FLUID_3D::step(float dt, float gravity[3])
 	PyRun_SimpleString(py_string_1.c_str());
 	cout<< "done"<<manta_sim_running<<endl;
 	PyGILState_Release(gilstate);
-	Manta_API::updatePointers(this,using_colors);
+	Manta_API::updatePointers(this);
 
 	for (int i = 0; i < _totalCells; i++)
 	{
@@ -788,7 +788,7 @@ void FLUID_3D::processBurn(float *fuel, float *smoke, float *react, float *heat,
 	PyGILState_STATE gilstate = PyGILState_Ensure();
 	PyRun_SimpleString(fire_process_burn.c_str());
 	PyGILState_Release(gilstate);
-	Manta_API::updatePointers(this, true);
+	Manta_API::updatePointers(this);
 }
 
 void FLUID_3D::updateFlame(float *react, float *flame, int total_cells)
@@ -796,7 +796,7 @@ void FLUID_3D::updateFlame(float *react, float *flame, int total_cells)
 	PyGILState_STATE gilstate = PyGILState_Ensure();
 	PyRun_SimpleString(fire_update_flame.c_str());
 	PyGILState_Release(gilstate);
-	Manta_API::updatePointers(this, true);
+	Manta_API::updatePointers(this);
 }
 
 #endif /*WITH_MANTA*/
diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index 8f11a51..6697ef0 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -390,12 +390,10 @@ void Manta_API::run_manta_sim_highRes(WTURBULENCE *wt)
 	std::string frame_str = static_cast<ostringstream*>( &(ostringstream() << sim_frame) )->str();
 	std::string py_string_0 = string("sim_step_high(").append(frame_str);
 	std::string py_string_1 = py_string_0.append(")\0");
-	cout << "Debug C++: densityPointer:" << Manta_API::getGridPointer("density", "s")<<endl;
 	PyRun_SimpleString("print ('pyhton density pointer:' + density.getDataPointer())");
 	PyRun_SimpleString(py_string_1.c_str());
-	cout<< "done"<<manta_sim_running<<endl;
 	PyGILState_Release(gilstate);
-	updateHighResPointers(wt,false);
+	updateHighResPointers(wt/*,false*/);
 }
 
 void Manta_API::generate_manta_sim_file_highRes(SmokeModifierData *smd)
@@ -607,7 +605,7 @@ void * Manta_API::pointerFromString(const std::string& s){
 }
 
 
-void Manta_API::updatePointers(FLUID_3D *fluid, bool updateColor)
+void Manta_API::updatePointers(FLUID_3D *fluid)
 {
 	//blender_to_manta: whether we copy data from blender density/velocity field to mantaflow or the other way around
 	/*in 2D case, we want to copy in the Z-axis field that is in the middle of X and Y axes */
@@ -651,9 +649,7 @@ void Manta_API::updatePointers(FLUID_3D *fluid, bool updateColor)
 		fluid->_color_b = (float* )pointerFromString(getGridPointer("color_b_low", "s"));
 	}
 	if (fluid->using_heat) {
-		cout<< "Updating Heat" << fluid->_heat<< endl;
 		fluid->_heat = (float* )pointerFromString(getGridPointer("heat_low", "s"));
-		cout<< "Updating Heat" << fluid->_heat<< endl;
 	}
 	if (fluid->using_fire) {
 		fluid->_flame = (float* )pointerFromString(getGridPointer("flame_low", "s"));
@@ -662,10 +658,10 @@ void Manta_API::updatePointers(FLUID_3D *fluid, bool updateColor)
 	}
 }
 
-void Manta_API::updateHighResPointers(WTURBULENCE *wt, bool updateColor)
+void Manta_API::updateHighResPointers(WTURBULENCE *wt)
 {
 	wt->_densityBig = (float* )pointerFromString(getGridPointer("xl_density", "xl"));;
-	if (updateColor){
+	if (wt->using_colors){
 		wt->_color_rBig = (float* )pointerFromString(getGridPointer("color_r_high", "xl"));
 		wt->_color_gBig = (float* )pointerFromString(getGridPointer("color_g_high", "xl"));
 		wt->_color_bBig = (float* )pointerFromString(getGridPointer("color_b_high", "xl"));
diff --git a/intern/smoke/intern/MANTA.h b/intern/smoke/intern/MANTA.h
index fad858a..cb2cb2e 100644
--- a/intern/smoke/intern/MANTA.h
+++ b/intern/smoke/intern/MANTA.h
@@ -125,8 +125,8 @@ public:
 	static void export_obstacles(float *data, int x, int y, int z, bool is2D);
 	
 	static std::string getGridPointer(string gridName, string solverName);
-	static void updatePointers(FLUID_3D *fluid, bool updateColor);
-	static void updateHighResPointers(WTURBULENCE *wt,bool updateColor);
+	static void updatePointers(FLUID_3D *fluid);
+	static void updateHighResPointers(WTURBULENCE *wt);
 	static void manta_export_grids(SmokeModifierData *smd);
 };
 
diff --git a/intern/smoke/intern/WTURBULENCE.cpp b/intern/smoke/intern/WTURBULENCE.cpp
index 4db2c49..58fff5f 100644
--- a/intern/smoke/intern/WTURBULENCE.cpp
+++ b/intern/smoke/intern/WTURBULENCE.cpp
@@ -1292,7 +1292,7 @@ WTURBULENCE::WTURBULENCE(int xResSm, int yResSm, int zResSm, int amplify, int no
 	setNoise(noisetype, noisefile_path);
 	sds->smd->domain->wt = this;
 	Manta_API::generate_manta_sim_file_highRes(sds->smd);
-	Manta_API::updateHighResPointers(this,using_colors);
+	Manta_API::updateHighResPointers(this);
 }
 
 /// destructor
@@ -1330,7 +1330,7 @@ void WTURBULENCE::initFire()
 		PyGILState_STATE gilstate = PyGILState_Ensure();
 		PyRun_SimpleString(smoke_init_fire_high.c_str());
 		PyGILState_Release(gilstate);
-		Manta_API::updateHighResPointers(this, true);
+		Manta_API::updateHighResPointers(this);
 	}
 }
 
@@ -1346,7 +1346,7 @@ void WTURBULENCE::initColors(float init_r, float init_g, float init_b)
 		PyRun_SimpleString(ss.str().c_str());
 		PyRun_SimpleString(smoke_init_colors_high.c_str());
 		PyGILState_Release(gilstate);
-		Manta_API::updateHighResPointers(this,true);
+		Manta_API::updateHighResPointers(this);
 	}
 }
 
@@ -1367,7 +1367,7 @@ void WTURBULENCE::stepTurbulenceReadable(float dt, float* xvel, float* yvel, flo
 	std::string py_string_1 = py_string_0.append(")\0");
 	PyRun_SimpleString(py_string_1.c_str());
 	PyGILState_Release(gilstate);
-	Manta_API::updateHighResPointers(this,using_colors);
+	Manta_API::updateHighResPointers(this);
 }
 
 // step more complete version -- include rotation correction
@@ -1382,7 +1382,7 @@ void WTURBULENCE::stepTurbulenceFull(float dt, float* xvel, float* yvel, float*
 	std::string py_string_1 = py_string_0.append(")\0");
 	PyRun_SimpleString(py_string_1.c_str());
 	PyGILState_Release(gilstate);
-	Manta_API::updateHighResPointers(this,using_colors);
+	Manta_API::updateHighResPointers(this);
 }
 
 // texcoord functions




More information about the Bf-blender-cvs mailing list