[Bf-blender-cvs] [a9ca030] fluid-mantaflow: Merge branch 'master' into fluid-mantaflow
Sebastián Barschkis
noreply at git.blender.org
Tue Apr 19 12:01:36 CEST 2016
Commit: a9ca030f61896cd7c83a7da874d5404504713951
Author: Sebastián Barschkis
Date: Wed Apr 6 13:15:12 2016 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBa9ca030f61896cd7c83a7da874d5404504713951
Merge branch 'master' into fluid-mantaflow
===================================================================
===================================================================
diff --cc CMakeLists.txt
index eec1239,014401a..2dd4df9
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -2584,13 -2623,59 +2624,66 @@@ if(WITH_PYTHON_MODULE
endif()
#-----------------------------------------------------------------------------
+# Configure mantaflow.
+
+if(WITH_MOD_MANTA)
+ add_definitions(-DWITH_MANTA)
+endif()
+
+#-----------------------------------------------------------------------------
+ # Configure GLog/GFlags
+
+ if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING))
+ set(GLOG_DEFINES
+ -DGOOGLE_GLOG_DLL_DECL=
+ )
+
+ set(GFLAGS_DEFINES
+ -DGFLAGS_DLL_DEFINE_FLAG=
+ -DGFLAGS_DLL_DECLARE_FLAG=
+ -DGFLAGS_DLL_DECL=
+ )
+ endif()
+
+ #-----------------------------------------------------------------------------
+ # Configure Ceres
+
+ if(WITH_LIBMV)
+ set(CERES_DEFINES)
+
+ if(SHARED_PTR_FOUND)
+ if(SHARED_PTR_TR1_MEMORY_HEADER)
+ list(APPEND CERES_DEFINES -DCERES_TR1_MEMORY_HEADER)
+ endif()
+ if(SHARED_PTR_TR1_NAMESPACE)
+ list(APPEND CERES_DEFINES -DCERES_TR1_SHARED_PTR)
+ endif()
+ else()
+ message(FATAL_ERROR "Ceres: Unable to find shared_ptr.")
+ endif()
+
+ if(HAVE_STD_UNORDERED_MAP_HEADER)
+ if(HAVE_UNORDERED_MAP_IN_STD_NAMESPACE)
+ list(APPEND CERES_DEFINES -DCERES_STD_UNORDERED_MAP)
+ else()
+ if(HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE)
+ list(APPEND CERES_DEFINES -DCERES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE)
+ else()
+ list(APPEND CERES_DEFINES -DCERES_NO_UNORDERED_MAP)
+ message(STATUS "Ceres: Replacing unordered_map/set with map/set (warning: slower!)")
+ endif()
+ endif()
+ else()
+ if(HAVE_UNORDERED_MAP_IN_TR1_NAMESPACE)
+ list(APPEND CERES_DEFINES -DCERES_TR1_UNORDERED_MAP)
+ else()
+ list(APPEND CERES_DEFINES -DCERES_NO_UNORDERED_MAP)
+ message(STATUS "Ceres: Replacing unordered_map/set with map/set (warning: slower!)")
+ endif()
+ endif()
+ endif()
+
+ #-----------------------------------------------------------------------------
# Extra compile flags
if(CMAKE_COMPILER_IS_GNUCC)
diff --cc intern/CMakeLists.txt
index c95dffe,43e5b6b..7aa8aab
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@@ -83,6 -83,6 +83,10 @@@ if(WIN32
add_subdirectory(utfconv)
endif()
+if(WITH_MOD_MANTA)
+ add_subdirectory(mantaflow)
+endif()
++
+ if(WITH_OPENVDB)
+ add_subdirectory(openvdb)
+ endif()
diff --cc intern/smoke/extern/smoke_API.h
index 6833267,a68a587..2963c77
--- a/intern/smoke/extern/smoke_API.h
+++ b/intern/smoke/extern/smoke_API.h
@@@ -39,97 -38,78 +39,96 @@@ extern "C"
struct FLUID_3D;
// low res
-struct FLUID_3D *smoke_init(int *res, float dx, float dtdef, int use_heat, int use_fire, int use_colors);
-void smoke_free(struct FLUID_3D *fluid);
+#ifndef WITH_MANTA
+struct FLUID_3D *old_smoke_init(int *res, float dx, float dtdef, int use_heat, int use_fire, int use_colors);
+#else
+struct FLUID_3D *old_smoke_init(int *res, float dx, float dtdef, int use_heat, int use_fire, int use_colors, struct SmokeModifierData *smd);
+#endif
+void old_smoke_free(struct FLUID_3D *fluid);
-void smoke_initBlenderRNA(struct FLUID_3D *fluid, float *alpha, float *beta, float *dt_factor, float *vorticity, int *border_colli, float *burning_rate,
+void old_smoke_initBlenderRNA(struct FLUID_3D *fluid, float *alpha, float *beta, float *dt_factor, float *vorticity, int *border_colli, float *burning_rate,
float *flame_smoke, float *flame_smoke_color, float *flame_vorticity, float *flame_ignition_temp, float *flame_max_temp);
-void smoke_step(struct FLUID_3D *fluid, float gravity[3], float dtSubdiv);
-
-float *smoke_get_density(struct FLUID_3D *fluid);
-float *smoke_get_flame(struct FLUID_3D *fluid);
-float *smoke_get_fuel(struct FLUID_3D *fluid);
-float *smoke_get_react(struct FLUID_3D *fluid);
-float *smoke_get_color_r(struct FLUID_3D *fluid);
-float *smoke_get_color_g(struct FLUID_3D *fluid);
-float *smoke_get_color_b(struct FLUID_3D *fluid);
-void smoke_get_rgba(struct FLUID_3D *fluid, float *data, int sequential);
-void smoke_get_rgba_from_density(struct FLUID_3D *fluid, float color[3], float *data, int sequential);
-float *smoke_get_heat(struct FLUID_3D *fluid);
-float *smoke_get_velocity_x(struct FLUID_3D *fluid);
-float *smoke_get_velocity_y(struct FLUID_3D *fluid);
-float *smoke_get_velocity_z(struct FLUID_3D *fluid);
+void old_smoke_step(struct FLUID_3D *fluid, float gravity[3], float dtSubdiv);
+
+float *old_smoke_get_density(struct FLUID_3D *fluid);
+float *old_smoke_get_flame(struct FLUID_3D *fluid);
+float *old_smoke_get_fuel(struct FLUID_3D *fluid);
+float *old_smoke_get_react(struct FLUID_3D *fluid);
+float *old_smoke_get_color_r(struct FLUID_3D *fluid);
+float *old_smoke_get_color_g(struct FLUID_3D *fluid);
+float *old_smoke_get_color_b(struct FLUID_3D *fluid);
+void old_smoke_get_rgba(struct FLUID_3D *fluid, float *data, int sequential);
+void old_smoke_get_rgba_from_density(struct FLUID_3D *fluid, float color[3], float *data, int sequential);
+float *old_smoke_get_heat(struct FLUID_3D *fluid);
+float *old_smoke_get_velocity_x(struct FLUID_3D *fluid);
+float *old_smoke_get_velocity_y(struct FLUID_3D *fluid);
+float *old_smoke_get_velocity_z(struct FLUID_3D *fluid);
/* Moving obstacle velocity provided by blender */
-void smoke_get_ob_velocity(struct FLUID_3D *fluid, float **x, float **y, float **z);
-
-float *smoke_get_force_x(struct FLUID_3D *fluid);
-float *smoke_get_force_y(struct FLUID_3D *fluid);
-float *smoke_get_force_z(struct FLUID_3D *fluid);
-
-unsigned char *smoke_get_obstacle(struct FLUID_3D *fluid);
-
-size_t smoke_get_index(int x, int max_x, int y, int max_y, int z);
-size_t smoke_get_index2d(int x, int max_x, int y);
-
-void smoke_dissolve(struct FLUID_3D *fluid, int speed, int log);
-
+void old_smoke_get_ob_velocity(struct FLUID_3D *fluid, float **x, float **y, float **z);
+
+float *old_smoke_get_force_x(struct FLUID_3D *fluid);
+float *old_smoke_get_force_y(struct FLUID_3D *fluid);
+float *old_smoke_get_force_z(struct FLUID_3D *fluid);
+
+int *old_smoke_get_manta_flags(struct FLUID_3D *fluid);
+float *old_smoke_get_inflow_grid(struct FLUID_3D *fluid);
+float *old_smoke_get_fuel_inflow(struct FLUID_3D *fluid);
+void old_smoke_manta_export(struct SmokeModifierData *smd);
+
+unsigned char *old_smoke_get_obstacle(struct FLUID_3D *fluid);
+
+size_t old_smoke_get_index(int x, int max_x, int y, int max_y, int z);
+size_t old_smoke_get_index2d(int x, int max_x, int y);
+void old_smoke_dissolve(struct FLUID_3D *fluid, int speed, int log);
// wavelet turbulence functions
-struct WTURBULENCE *smoke_turbulence_init(int *res, int amplify, int noisetype, const char *noisefile_path, int use_fire, int use_colors);
-void smoke_turbulence_free(struct WTURBULENCE *wt);
-void smoke_turbulence_step(struct WTURBULENCE *wt, struct FLUID_3D *fluid);
-
-float *smoke_turbulence_get_density(struct WTURBULENCE *wt);
-float *smoke_turbulence_get_color_r(struct WTURBULENCE *wt);
-float *smoke_turbulence_get_color_g(struct WTURBULENCE *wt);
-float *smoke_turbulence_get_color_b(struct WTURBULENCE *wt);
-void smoke_turbulence_get_rgba(struct WTURBULENCE *wt, float *data, int sequential);
-void smoke_turbulence_get_rgba_from_density(struct WTURBULENCE *wt, float color[3], float *data, int sequential);
-float *smoke_turbulence_get_flame(struct WTURBULENCE *wt);
-float *smoke_turbulence_get_fuel(struct WTURBULENCE *wt);
-float *smoke_turbulence_get_react(struct WTURBULENCE *wt);
-void smoke_turbulence_get_res(struct WTURBULENCE *wt, int *res);
-int smoke_turbulence_get_cells(struct WTURBULENCE *wt);
-void smoke_turbulence_set_noise(struct WTURBULENCE *wt, int type, const char *noisefile_path);
-void smoke_initWaveletBlenderRNA(struct WTURBULENCE *wt, float *strength);
-void smoke_dissolve_wavelet(struct WTURBULENCE *wt, int speed, int log);
+#ifndef WITH_MANTA
+struct WTURBULENCE *old_smoke_turbulence_init(int *res, int amplify, int noisetype, const char *noisefile_path, int use_fire, int use_colors);
+#else
+struct WTURBULENCE *old_smoke_turbulence_init(int *res, int amplify, int noisetype, const char *noisefile_path, int use_fire, int use_colors, struct SmokeDomainSettings *sds);
+#endif
+void old_smoke_turbulence_free(struct WTURBULENCE *wt);
+void old_smoke_turbulence_step(struct WTURBULENCE *wt, struct FLUID_3D *fluid);
+float *old_smoke_turbulence_get_density(struct WTURBULENCE *wt);
+float *old_smoke_turbulence_get_color_r(struct WTURBULENCE *wt);
+float *old_smoke_turbulence_get_color_g(struct WTURBULENCE *wt);
+float *old_smoke_turbulence_get_color_b(struct WTURBULENCE *wt);
+void old_smoke_turbulence_get_rgba(struct WTURBULENCE *wt, float *data, int sequential);
+void old_smoke_turbulence_get_rgba_from_density(struct WTURBULENCE *wt, float color[3], float *data, int sequential);
+float *old_smoke_turbulence_get_flame(struct WTURBULENCE *wt);
+float *old_smoke_turbulence_get_fuel(struct WTURBULENCE *wt);
+float *old_smoke_turbulence_get_react(struct WTURBULENCE *wt);
+void old_smoke_turbulence_get_res(struct WTURBULENCE *wt, int *res);
+int old_smoke_turbulence_get_cells(struct WTURBULENCE *wt);
+void old_smoke_turbulence_set_noise(struct WTURBULENCE *wt, int type, const char *noisefile_path);
+void old_smoke_initWaveletBlenderRNA(struct WTURBULENCE *wt, float *strength);
+void old_smoke_dissolve_wavelet(struct WTURBULENCE *wt, int speed, int log);
/* export */
-void smoke_export(struct FLUID_3D *fluid, float *dt, float *dx, float **dens, float **react, float **flame, float **fuel, float **heat, float **heatold,
+void old_smoke_export(struct FLUID_3D *fluid, float *dt, float *dx, float **dens, float **react, float **flame, float **fuel, float **heat, float **heatold,
float **vx, float **vy, float **vz, float **r, float **g, float **b, unsigned char **obstacles);
-void smoke_turbulence_export(struct WTURBULENCE *wt, float **dens, float **react, float **flame, float **fuel,
+void old_smoke_turbulence_export(struct WTURBULENCE *wt, float **dens, float **react, float **flame, float **fuel,
float **r, float **g, float **b, float **tcu, float **tcv
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list