[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