[Bf-blender-cvs] [c1e7a49] testbuild: squashed commit of fracture_modifier

Martin Felke noreply at git.blender.org
Fri Nov 14 04:32:43 CET 2014


Commit: c1e7a49e1a05040f96235c7ebc759fae8a5586b3
Author: Martin Felke
Date:   Sun Oct 5 22:08:20 2014 +0200
Branches: testbuild
https://developer.blender.org/rBc1e7a49e1a05040f96235c7ebc759fae8a5586b3

squashed commit of fracture_modifier

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

M	CMakeLists.txt
M	SConstruct
M	build_files/cmake/macros.cmake
M	build_files/scons/tools/btools.py
M	extern/CMakeLists.txt
M	extern/SConscript
M	extern/bullet2/src/LinearMath/btVector3.h
A	extern/voro++/CMakeLists.txt
A	extern/voro++/LICENSE
A	extern/voro++/NEWS
A	extern/voro++/README2
A	extern/voro++/SConscript
A	extern/voro++/src/Doxyfile
A	extern/voro++/src/LICENSE
A	extern/voro++/src/Makefile
A	extern/voro++/src/Makefile.dep
A	extern/voro++/src/README
A	extern/voro++/src/c_interface.cc
A	extern/voro++/src/c_interface.hh
A	extern/voro++/src/c_loops.cc
A	extern/voro++/src/c_loops.hh
A	extern/voro++/src/cell.cc
A	extern/voro++/src/cell.hh
A	extern/voro++/src/cmd_line.cc
A	extern/voro++/src/common.cc
A	extern/voro++/src/common.hh
A	extern/voro++/src/config.hh
A	extern/voro++/src/container.cc
A	extern/voro++/src/container.hh
A	extern/voro++/src/container_prd.cc
A	extern/voro++/src/container_prd.hh
A	extern/voro++/src/pre_container.cc
A	extern/voro++/src/pre_container.hh
A	extern/voro++/src/rad_option.hh
A	extern/voro++/src/unitcell.cc
A	extern/voro++/src/unitcell.hh
A	extern/voro++/src/v_base.cc
A	extern/voro++/src/v_base.hh
A	extern/voro++/src/v_base_wl.cc
A	extern/voro++/src/v_compute.cc
A	extern/voro++/src/v_compute.hh
A	extern/voro++/src/voro++.cc
A	extern/voro++/src/voro++.hh
A	extern/voro++/src/wall.cc
A	extern/voro++/src/wall.hh
A	extern/voro++/src/worklist.hh
A	extern/voro++/src/worklist_gen.pl
M	intern/rigidbody/RBI_api.h
M	intern/rigidbody/rb_bullet_api.cpp
M	release/scripts/startup/bl_operators/presets.py
M	release/scripts/startup/bl_operators/rigidbody.py
M	release/scripts/startup/bl_ui/__init__.py
M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	release/scripts/startup/bl_ui/properties_physics_common.py
A	release/scripts/startup/bl_ui/properties_physics_fracture.py
M	source/blender/blenkernel/BKE_deform.h
A	source/blender/blenkernel/BKE_fracture.h
A	source/blender/blenkernel/BKE_fracture_util.h
M	source/blender/blenkernel/BKE_rigidbody.h
M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/SConscript
M	source/blender/blenkernel/intern/depsgraph.c
A	source/blender/blenkernel/intern/fracture.c
A	source/blender/blenkernel/intern/fracture_util.c
M	source/blender/blenkernel/intern/object.c
M	source/blender/blenkernel/intern/pointcache.c
M	source/blender/blenkernel/intern/rigidbody.c
M	source/blender/blenkernel/intern/softbody.c
M	source/blender/blenlib/BLI_edgehash.h
M	source/blender/blenlib/BLI_ghash.h
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/writefile.c
M	source/blender/bmesh/CMakeLists.txt
M	source/blender/bmesh/intern/bmesh_opdefines.c
M	source/blender/bmesh/intern/bmesh_operators.c
M	source/blender/bmesh/operators/bmo_bisect_plane.c
M	source/blender/bmesh/tools/bmesh_decimate_dissolve.c
M	source/blender/editors/interface/interface_templates.c
M	source/blender/editors/mesh/editmesh_utils.c
M	source/blender/editors/object/object_edit.c
M	source/blender/editors/object/object_intern.h
M	source/blender/editors/object/object_modifier.c
M	source/blender/editors/object/object_ops.c
M	source/blender/editors/object/object_relations.c
M	source/blender/editors/physics/CMakeLists.txt
M	source/blender/editors/physics/physics_intern.h
M	source/blender/editors/physics/physics_ops.c
M	source/blender/editors/physics/rigidbody_constraint.c
M	source/blender/editors/physics/rigidbody_object.c
M	source/blender/editors/space_buttons/buttons_context.c
M	source/blender/editors/space_outliner/outliner_draw.c
M	source/blender/editors/transform/transform_conversions.c
A	source/blender/makesdna/DNA_fracture_types.h
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesdna/DNA_object_force.h
M	source/blender/makesdna/DNA_rigidbody_types.h
M	source/blender/makesdna/intern/makesdna.c
M	source/blender/makesrna/RNA_access.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/makesrna/intern/rna_rigidbody.c
M	source/blender/modifiers/CMakeLists.txt
M	source/blender/modifiers/MOD_modifiertypes.h
M	source/blender/modifiers/SConscript
M	source/blender/modifiers/intern/MOD_boolean_util.c
A	source/blender/modifiers/intern/MOD_fracture.c
M	source/blender/modifiers/intern/MOD_util.c
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/intern/wm_jobs.c
M	source/blenderplayer/CMakeLists.txt

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

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3222feb..dac84e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -151,6 +151,7 @@ option(WITH_GAMEENGINE    "Enable Game Engine" ON)
 option(WITH_PLAYER        "Build Player" OFF)
 option(WITH_OPENCOLORIO   "Enable OpenColorIO color management" ON)
 option(WITH_COMPOSITOR    "Enable the tile based nodal compositor" ON)
+option(WITH_VORO    "Enable Voronoi Fracture based on Voro++" ON)
 
 # GHOST Windowing Library Options
 option(WITH_GHOST_DEBUG   "Enable debugging output for the GHOST library" OFF)
@@ -2430,6 +2431,7 @@ if(FIRST_RUN)
 	info_cfg_option(WITH_CYCLES)
 	info_cfg_option(WITH_FREESTYLE)
 	info_cfg_option(WITH_OPENCOLORIO)
+	info_cfg_option(WITH_VORO)
 
 	info_cfg_text("Compiler Options:")
 	info_cfg_option(WITH_BUILDINFO)
diff --git a/SConstruct b/SConstruct
index 1ff984a..9ca1372 100644
--- a/SConstruct
+++ b/SConstruct
@@ -263,6 +263,7 @@ if 'blenderlite' in B.targets:
     target_env_defs['WITH_BF_SMOKE'] = False
     target_env_defs['WITH_BF_BOOLEAN'] = False
     target_env_defs['WITH_BF_REMESH'] = False
+    target_env_defs['WITH_BF_VORONOI'] = False
     target_env_defs['WITH_BF_PYTHON'] = False
     target_env_defs['WITH_BF_3DMOUSE'] = False
     target_env_defs['WITH_BF_LIBMV'] = False
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index adbba81..d51caf7 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -629,6 +629,10 @@ macro(SETUP_BLENDER_SORTED_LIBS)
 		list_insert_after(BLENDER_SORTED_LIBS "ge_logic_ngnetwork" "extern_bullet")
 	endif()
 
+	if(WITH_VORO)
+		list(APPEND BLENDER_SORTED_LIBS extern_voro)
+	endif()
+
 	foreach(SORTLIB ${BLENDER_SORTED_LIBS})
 		set(REMLIB ${SORTLIB})
 		foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
index 4106c03..26e643f 100644
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@ -167,6 +167,7 @@ def validate_arguments(args, bc):
             'WITH_BF_BOOLEAN',
             'WITH_BF_REMESH',
             'WITH_BF_OCEANSIM',
+            'WITH_BF_VORONOI',
             'WITH_BF_SMOKE',
             'WITH_BF_CXX_GUARDEDALLOC',
             'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
@@ -282,6 +283,7 @@ def read_opts(env, cfg, args):
         (BoolVariable('WITH_BF_REMESH', 'Build with remesh modifier', True)),
         (BoolVariable('WITH_BF_OCEANSIM', 'Build with ocean simulation', False)),
         (BoolVariable('WITH_BF_SMOKE', 'Build with smoke simulation', True)),
+        (BoolVariable('WITH_BF_VORONOI', 'Build with voronoi cells in explo modifier', True)),
         ('BF_PROFILE_FLAGS', 'Profiling compiler flags', ''),
         (BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)),
         ('BF_OPENAL', 'Base path for OpenAL', ''),
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index 8d85551..c016576 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -85,6 +85,10 @@ if(WITH_GHOST_XDND)
 	endif()
 endif()
 
+if(WITH_VORO)
+	add_subdirectory(voro++)
+endif()
+
 if(WITH_GTESTS)
 	add_subdirectory(gtest)
 endif()
diff --git a/extern/SConscript b/extern/SConscript
index 714dfd2..b7c77b3 100644
--- a/extern/SConscript
+++ b/extern/SConscript
@@ -46,3 +46,6 @@ if env['WITH_GHOST_XDND']:
     # FreeBSD doesn't seems to support XDND protocol
     if env['OURPLATFORM'] in ('linux', 'openbsd3', 'sunos5', 'aix4', 'aix5'):
         SConscript(['xdnd/SConscript'])
+
+if env ['WITH_BF_VORONOI']:
+    SConscript(['voro++/SConscript'])
diff --git a/extern/bullet2/src/LinearMath/btVector3.h b/extern/bullet2/src/LinearMath/btVector3.h
index 112b70d..d467748 100644
--- a/extern/bullet2/src/LinearMath/btVector3.h
+++ b/extern/bullet2/src/LinearMath/btVector3.h
@@ -296,7 +296,6 @@ public:
    * x^2 + y^2 + z^2 = 1 */
 	SIMD_FORCE_INLINE btVector3& normalize() 
 	{
-		
 		btAssert(!fuzzyZero());
 
 #if defined(BT_USE_SSE_IN_API) && defined (BT_USE_SSE)		
diff --git a/extern/voro++/CMakeLists.txt b/extern/voro++/CMakeLists.txt
new file mode 100644
index 0000000..938f3fc
--- /dev/null
+++ b/extern/voro++/CMakeLists.txt
@@ -0,0 +1,40 @@
+set (INC 
+	src
+)
+
+set (INC_SYS
+)
+
+set (SRC 
+	src/c_loops.cc
+    src/cell.cc
+    src/cmd_line.cc
+    src/common.cc
+    src/container_prd.cc
+    src/container.cc
+    src/pre_container.cc
+    src/unitcell.cc
+    src/v_base.cc
+    src/v_compute.cc
+#    src/voro++.cc
+    src/wall.cc
+    src/c_interface.cc
+    
+    src/c_loops.hh
+    src/cell.hh
+    src/common.hh
+    src/config.hh
+    src/container_prd.hh
+    src/container.hh
+    src/pre_container.hh
+    src/rad_option.hh
+    src/unitcell.hh
+    src/v_base.hh
+    src/v_compute.hh
+#    src/voro++.hh
+    src/wall.hh
+    src/worklist.hh
+    src/c_interface.hh
+)
+
+blender_add_lib(extern_voro "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/voro++/LICENSE b/extern/voro++/LICENSE
new file mode 100644
index 0000000..7b05ace
--- /dev/null
+++ b/extern/voro++/LICENSE
@@ -0,0 +1,39 @@
+Voro++ Copyright (c) 2008, The Regents of the University of California, through
+Lawrence Berkeley National Laboratory (subject to receipt of any required
+approvals from the U.S. Dept. of Energy). All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met: 
+
+(1) Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer. 
+
+(2) Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution. 
+
+(3) Neither the name of the University of California, Lawrence Berkeley
+National Laboratory, U.S. Dept. of Energy nor the names of its contributors may
+be used to endorse or promote products derived from this software without
+specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+
+You are under no obligation whatsoever to provide any bug fixes, patches, or
+upgrades to the features, functionality or performance of the source code
+("Enhancements") to anyone; however, if you choose to make your Enhancements
+available either publicly, or directly to Lawrence Berkeley National
+Laboratory, without imposing a separate written license agreement for such
+Enhancements, then you hereby grant the following license: a  non-exclusive,
+royalty-free perpetual license to install, use, modify, prepare derivative
+works, incorporate into other computer software, distribute, and sublicense
+such enhancements or derivative works thereof, in binary and source code form.
diff --git a/extern/voro++/NEWS b/extern/voro++/NEWS
new file mode 100644
index 0000000..c7cf8d7
--- /dev/null
+++ b/extern/voro++/NEWS
@@ -0,0 +1,341 @@
+Version 0.4.6 (October 17th 2013)
+=================================
+* Fixed an issue with template instantiation in wall.cc that was causing
+  compilation problems with new versions of Apple Xcode. Thanks to Barend
+  Thijsse (Delft University of Technology) and Juan Pablo Cruz Pérez (Instituto
+  de Física y Matemáticas) for pointing this out.
+* Added routines to the container classes to compute a ghost Voronoi cell at
+  any given location, as though an extra particle was inserted at that
+  location
+* Removed unused private variable in c_loops.hh
+* Updated Doxyfile to 1.8.5
+
+Version 0.4.5 (July 27th 2012)
+==============================
+* Removed "using namespace std" from the header files and added extra "std::"
+  qualifiers on STL vectors and queues. This is to prevent naming conflicts
+  with other libraries. Thanks to Florian Hoffmann (University of Luxembourg)
+  for pointing this out.
+* Fixed an error in the check_facets diagnostic routine. Thanks to Tristan
+  Carrier-Baudouin (Université catholique de Louvain) for pointing this out.
+* Fixed a memory leak in the new container_periodic class. Thanks to Massimo
+  Marchi (Commissariat á l'Energie Atomique) for pointing this out.
+* Removed some duplicate or unnecessary #include statements of the standard C++
+  header files
+* Fix small naming mismatch between cell.cc and cell.hh in plane_intersects
+  and nplane routines, which would give a warning with Doxygen
+* More changes for older MS Visual C++ compatability
+* Updated Doxyfile to 1.8.1.1
+
+Version 0.4.4 (January 17th 2012)
+=================================
+* Fixed an error in pointer arithmetic that was introduced in version 0.4,
+  which would occur in cases where the delete stack was extended when a large
+  number of vertices were being removed. Thanks to Jeff Johnson (Lawrence
+  Berkeley Laboratory) and Matt Freeman (Texas A&M University) for pointing
+  this out.
+
+Version 0.4.3 (November 12th 2011)
+==================================
+* Removed spurious Gnuplot output line from torus.cc example
+* More changes for better Visual C++ compatibility
+* Fixed indexing error in worklist generation routine. This had no effect
+  on the generated worklists, but would become apparent in other situations.
+* Added rad_option.hh to the list of files included by voro++.hh for
+  completeness
+* Fix errors in Gnuplot commands in the basic examples README file. Thanks to
+  William-Fernando

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list