Commit: 965ac27fb757f7f5e7bc3e8867dd303381cb6ba8
Author: Sebastián Barschkis
Date:   Fri Jan 8 02:12:57 2016 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rB965ac27fb757f7f5e7bc3e8867dd303381cb6ba8

refactoring manta api and started to comment out old code -> removing it later

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

M       intern/smoke/extern/smoke_API.h
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
M       intern/smoke/intern/smoke_API.cpp
M       release/scripts/startup/bl_ui/properties_physics_smoke.py
M       source/blender/editors/physics/physics_fluid.c
M       source/blender/editors/physics/physics_intern.h
M       source/blender/editors/physics/physics_ops.c

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

diff --git a/intern/smoke/extern/smoke_API.h b/intern/smoke/extern/smoke_API.h
index f0e3a4f..2051c35 100644
--- a/intern/smoke/extern/smoke_API.h
+++ b/intern/smoke/extern/smoke_API.h
@@ -122,14 +122,14 @@ void smoke_ensure_fire(struct FLUID_3D *fluid, struct 
WTURBULENCE *wt);
 void smoke_ensure_colors(struct FLUID_3D *fluid, struct WTURBULENCE *wt, float 
init_r, float init_g, float init_b);
 
 
-       /*Mantaflow functions*/
-int smoke_mantaflow_read(struct SmokeDomainSettings *sds, char* name, bool 
with_wavelets); //1:success, 0: no file,error
-void smoke_mantaflow_stop_sim(struct Manta_API *fluid);
-void manta_write_effectors(struct FLUID_3D *fluid);
-void manta_update_effectors(struct Scene *scene, struct Object *ob,struct 
SmokeDomainSettings *sds, float dt);
-void manta_write_emitters(struct SmokeFlowSettings *sfs, bool highRes, int 
min_x, int min_y, int min_z, int max_x, int max_y, int max_z, int d_x, int d_y, 
int d_z,float *influence, float *vel);      
-void manta_export_obstacles(float * influence, int x, int y, int z);
-       int cell_index_3D(int index_2d,int sizex,int sizey, int sizez); /*For 
2D sims only: transforms 2D manta cell index into 3D Blender index*/
+//     /*Mantaflow functions*/
+//int smoke_mantaflow_read(struct SmokeDomainSettings *sds, char* name, bool 
with_wavelets); //1:success, 0: no file,error
+//void smoke_mantaflow_stop_sim(struct Manta_API *fluid);
+//void manta_write_effectors(struct FLUID_3D *fluid);
+//void manta_update_effectors(struct Scene *scene, struct Object *ob,struct 
SmokeDomainSettings *sds, float dt);
+//void manta_write_emitters(struct SmokeFlowSettings *sfs, bool highRes, int 
min_x, int min_y, int min_z, int max_x, int max_y, int max_z, int d_x, int d_y, 
int d_z,float *influence, float *vel);    
+//void manta_export_obstacles(float * influence, int x, int y, int z);
+//     int cell_index_3D(int index_2d,int sizex,int sizey, int sizez); /*For 
2D sims only: transforms 2D manta cell index into 3D Blender index*/
 #ifdef __cplusplus
 }
 #endif
diff --git a/intern/smoke/intern/FLUID_3D.cpp b/intern/smoke/intern/FLUID_3D.cpp
index fcf0a4e..7bb539e 100644
--- a/intern/smoke/intern/FLUID_3D.cpp
+++ b/intern/smoke/intern/FLUID_3D.cpp
@@ -618,7 +618,7 @@ _xRes(res[0]), _yRes(res[1]), _zRes(res[2]), _res(0.0f)
                initColors(0.0f, 0.0f, 0.0f);
        }
        
-       Manta_API::updatePointers(this);
+       Manta_API::update_pointers(this);
 }
 
 void FLUID_3D::initHeat()
@@ -723,7 +723,7 @@ void FLUID_3D::step(float dt, float gravity[3])
        std::string py_string_0 = string("step_low()");
        PyRun_SimpleString(py_string_0.c_str());
        PyGILState_Release(gilstate);
-       Manta_API::updatePointers(this);
+       Manta_API::update_pointers(this);
 }
 
 void FLUID_3D::processBurn(float *fuel, float *smoke, float *react, float 
*heat,
@@ -733,7 +733,7 @@ void FLUID_3D::processBurn(float *fuel, float *smoke, float 
*react, float *heat,
        std::string py_string_0 = string("process_burn_low()");
        PyRun_SimpleString(py_string_0.c_str());
        PyGILState_Release(gilstate);
-       Manta_API::updatePointers(this);
+       Manta_API::update_pointers(this);
 }
 
 void FLUID_3D::updateFlame(float *react, float *flame, int total_cells)
@@ -742,7 +742,7 @@ void FLUID_3D::updateFlame(float *react, float *flame, int 
total_cells)
        std::string py_string_0 = string("update_flame_low()");
        PyRun_SimpleString(py_string_0.c_str());
        PyGILState_Release(gilstate);
-       Manta_API::updatePointers(this);
+       Manta_API::update_pointers(this);
 }
 
 #endif /*WITH_MANTA*/
diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index 71e0f99..b7f7ea9 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -3,382 +3,382 @@
 #include "scenarios/smoke.h"
 #include "../../../source/blender/python/manta_pp/pwrapper/manta.h"
 
-extern "C" bool manta_check_grid_size(struct FLUID_3D *fluid, int dimX, int 
dimY, int dimZ)
-{
-       /*Y and Z axes are swapped in manta and blender*/
-       if (!(dimX == fluid->xRes() && dimY == fluid->yRes() && dimZ == 
fluid->zRes())) {
-               for (int cnt(0); cnt < fluid->_totalCells; cnt++)
-                       fluid->_density[cnt] = 0.0f;
-               return false;
-       }
-       return true;
-}
-
-extern "C" bool manta_check_wavelets_size(struct WTURBULENCE *wt, int dimX, 
int dimY, int dimZ)
-{
-       /*Y and Z axes are swapped in manta and blender*/
-       if (!(dimX == wt->_xResBig && dimY == wt->_yResBig && dimZ == 
wt->_zResBig)) {
-               for (int cnt(0); cnt < wt->_totalCellsBig; cnt++)
-                       wt->_densityBig[cnt] = 0.0f;
-               return false;
-       }
-       return true;
-}
-
-void read_rotated_grid(gzFile gzf, float *data, int size_x, int size_y, int 
size_z)
-{
-       assert(size_x > 1 && size_y > 1 && size_z > 1);
-       float* temp_data = (float*)malloc(sizeof(float) * size_x * size_y * 
size_z);
-//     data = (float*)malloc(sizeof(float) * size_x * size_y * size_z);
-       gzread(gzf, temp_data, sizeof(float)* size_x * size_y * size_z);
-       for (int cnt_x(0); cnt_x < size_x; ++cnt_x)
-{
-               for (int cnt_y(0); cnt_y < size_y; ++cnt_y)
-               {
-                       for (int cnt_z(0); cnt_z < size_z; ++cnt_z)
-                       {
-                               data[cnt_x + size_x * cnt_y + size_x*size_y * 
cnt_z] = temp_data[cnt_x + size_x * cnt_y + size_x*size_y * cnt_z];
-                       }                       
-               }
-       }
-}
-
-static void wavelets_add_lowres_density(SmokeDomainSettings *sds)
-{
-       assert(sds != NULL);
-       for (int cnt_x(0); cnt_x < sds->wt->_xResBig; ++cnt_x)
-       {
-               for (int cnt_y(0); cnt_y < sds->wt->_yResBig; ++cnt_y)
-               {
-                       for (int cnt_z(0); cnt_z < sds->wt->_zResBig; ++cnt_z)
-                       {
-                               //scale down to domain res
-                               float x_sc = 1. * sds->base_res[0] * cnt_x / 
sds->wt->_xResBig;
-                               float y_sc = 1. * sds->base_res[1] * cnt_y / 
sds->wt->_yResBig;
-                               float z_sc = 1. * sds->base_res[2] * cnt_z / 
sds->wt->_zResBig;
-                               //finding cells to interpolate from
-                               int start_x = int(x_sc / 1);
-                               int start_y = int(y_sc / 1);
-                               int start_z = int(z_sc / 1);
-                               int end_x = ((x_sc - start_x > 0.001) && 
(start_x + 1 < sds->base_res[0]))? start_x + 1: start_x;
-                               int end_y = ((y_sc - start_y > 0.001) && 
(start_y + 1 < sds->base_res[1]))? start_y + 1: start_y;
-                               int end_z = ((z_sc - start_z > 0.001) && 
(start_z + 1 < sds->base_res[2]))? start_z + 1: start_z;
-                               //interpolation
-                               float add_value = 0;
-                               int cnt=0;
-                               for(int x(start_x); x <= end_x; ++x)
-                               {
-                                       for(int y(start_y); y <= end_y; ++y)
-                                       {
-                                               for(int z(start_z); z <= end_z; 
++z)
-                                               {
-                                                       cnt++;
-                                                       add_value += 
sds->fluid->_density[x + y*sds->base_res[0] + z * 
sds->base_res[0]*sds->base_res[1]];      
-                                               }                       
-                                       }       
-                               }
-                               add_value /= float(cnt);
-                               sds->wt->_densityBig[cnt_x + cnt_y 
*sds->wt->_xResBig + cnt_z*sds->wt->_xResBig*sds->wt->_yResBig] += add_value;
-                       }
-               }
-       }
-}
-
-//PR need SMD data here for wavelets 
-extern "C" int read_mantaflow_sim(struct SmokeDomainSettings *sds, char *name, 
bool reading_wavelets)
-{
-    /*! l /*! legacy headers for reading old files */
-       typedef struct {
-               int dimX, dimY, dimZ;
-               int frames, elements, elementType, bytesPerElement, 
bytesPerFrame;
-       } UniLegacyHeader;
-       
-       typedef struct {
-               int dimX, dimY, dimZ;
-               int gridType, elementType, bytesPerElement;
-       } UniLegacyHeader2;
-       
-       /* uni file header - currently used */ 
-       typedef struct {
-               int dimX, dimY, dimZ;
-               int gridType, elementType, bytesPerElement;
-               char info[256]; /* mantaflow build information */
-               unsigned long long timestamp; /* creation time */
-       } UniHeader;
-       
-#      if NO_ZLIB!=1
-    gzFile gzf = gzopen(name, "rb");
-//    if (!gzf) {
-//             if(reading_wavelets){
-//                     for (int cnt(0); cnt < sds->wt->_totalCellsBig; cnt++)
-//                             sds->wt->_densityBig[cnt] = 0.0f;
+//extern "C" bool manta_check_grid_size(struct FLUID_3D *fluid, int dimX, int 
dimY, int dimZ)
+//{
+//     /*Y and Z axes are swapped in manta and blender*/
+//     if (!(dimX == fluid->xRes() && dimY == fluid->yRes() && dimZ == 
fluid->zRes())) {
+//             for (int cnt(0); cnt < fluid->_totalCells; cnt++)
+//                     fluid->_density[cnt] = 0.0f;
+//             return false;
+//     }
+//     return true;
+//}
+//
+//extern "C" bool manta_check_wavelets_size(struct WTURBULENCE *wt, int dimX, 
int dimY, int dimZ)
+//{
+//     /*Y and Z axes are swapped in manta and blender*/
+//     if (!(dimX == wt->_xResBig && dimY == wt->_yResBig && dimZ == 
wt->_zResBig)) {
+//             for (int cnt(0); cnt < wt->_totalCellsBig; cnt++)
+//                     wt->_densityBig[cnt] = 0.0f;
+//             return false;
+//     }
+//     return true;
+//}
+//
+//void read_rotated_grid(gzFile gzf, float *data, int size_x, int size_y, int 
size_z)
+//{
+//     assert(size_x > 1 && size_y > 1 && size_z > 1);
+//     float* temp_data = (float*)malloc(sizeof(float) * size_x * size_y * 
size_z);
+////   data = (float*)malloc(sizeof(float) * size_x * size_y * size_z);
+//     gzread(gzf, temp_data, sizeof(float)* size_x * size_y * size_z);
+//     for (int cnt_x(0); cnt_x < size_x; ++cnt_x)
+//{
+//             for (int cnt_y(0); cnt_y < size_y; ++cnt_y)
+//             {
+//                     for (int cnt_z(0); cnt_z < size_z; ++cnt_z)
+//                     {
+//                             data[cnt_x + size_x * cnt_y + size_x*size_y * 
cnt_z] = temp_data[cnt_x + size_x * cnt_y + size_x*size_y * cnt_z];
+//                     }                       
+//             }
+//     }
+//}
+//
+//static void wavelets_add_lowres_density(SmokeDomainSettings *sds)
+//{
+//     assert(sds != NULL);
+//     for (int cnt_x(0); cnt_x < sds->wt->_xResBig; ++cnt_x)
+//     {
+//             for (int cnt_y(0); cnt_y < sds->wt->_yResBig; ++cnt_y)
+//             {
+//                     for (int cnt_z(0); cnt_z < sds->wt->_zResBig; ++cnt_z)
+//                     {
+//                             //scale down to domain res
+//                             float x_sc = 1. * sds->base_res[0] * cnt_x / 
sds->wt->_xResBig;
+//                             float y_sc = 1. * sds->base_res[1] * cnt_y / 
sds->wt->_yResBig;
+//                             float z_sc = 1. * sds->base_res[2] * cnt_z / 
sds->wt->_zResBig;
+//                             //finding cells to interpolate from
+//                             int start_x = int(x_sc / 1);
+//                             int start_y = int(y_sc / 1);
+//                             int start_z = int(z_sc / 1);
+//                             int end_x = ((x_sc - start_x > 0.001) && 
(start_x + 1 < sds->base_res[0]))? start_x + 1: start_x;
+//                             int end_y = ((y_sc - start_y > 0.001) && 
(start_y + 1 < sds->base_res[1]))? start_y + 1: start_y;
+//                             int end_z = ((z_sc - start_z > 0.001) && 
(start_z + 1 < sds->base_res[2]))? start_z + 1: start_z;
+//                             //interpolation
+//                             float add_value = 0;
+//                             int cnt=0;
+//                             for(int x(start_x); x <= end_x; ++x)
+//                             {
+//                                     for(int y(start_y); y <= end_y; ++y)
+//                                     {
+//                                             for(int z(start_z); z <= end_z; 
++z)

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to