Commit: e0597baed57fa7a9dfaf6dff6d0fa120784d21ea Author: Sergey Sharybin Date: Wed Feb 7 14:44:59 2018 +0100 Branches: master https://developer.blender.org/rBe0597baed57fa7a9dfaf6dff6d0fa120784d21ea
Remove Carve boolean We've got quite comprehensive BMesh based implementation, which is way easier for maintenance than abandoned Carve library. After all the time BMesh implementation was working on the same level of limitations about manifold meshes and touching edges than Carve. Is better to focus on maintaining one boolean implementation now. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D3050 =================================================================== M CMakeLists.txt M build_files/cmake/config/blender_full.cmake M build_files/cmake/config/blender_lite.cmake M build_files/cmake/config/blender_release.cmake M build_files/cmake/macros.cmake M extern/CMakeLists.txt D extern/carve/CMakeLists.txt D extern/carve/LICENSE.GPL2 D extern/carve/LICENSE.GPL3 D extern/carve/README.blender D extern/carve/bundle.sh D extern/carve/carve-capi.cc D extern/carve/carve-capi.h D extern/carve/carve-util.cc D extern/carve/carve-util.h D extern/carve/files.txt D extern/carve/include/carve/aabb.hpp D extern/carve/include/carve/aabb_impl.hpp D extern/carve/include/carve/carve.hpp D extern/carve/include/carve/cbrt.h D extern/carve/include/carve/classification.hpp D extern/carve/include/carve/collection.hpp D extern/carve/include/carve/collection/unordered.hpp D extern/carve/include/carve/collection/unordered/boost_impl.hpp D extern/carve/include/carve/collection/unordered/fallback_impl.hpp D extern/carve/include/carve/collection/unordered/libstdcpp_impl.hpp D extern/carve/include/carve/collection/unordered/std_impl.hpp D extern/carve/include/carve/collection/unordered/tr1_impl.hpp D extern/carve/include/carve/collection/unordered/vcpp_impl.hpp D extern/carve/include/carve/collection_types.hpp D extern/carve/include/carve/colour.hpp D extern/carve/include/carve/config.h D extern/carve/include/carve/convex_hull.hpp D extern/carve/include/carve/csg.hpp D extern/carve/include/carve/csg_triangulator.hpp D extern/carve/include/carve/debug_hooks.hpp D extern/carve/include/carve/djset.hpp D extern/carve/include/carve/edge_decl.hpp D extern/carve/include/carve/edge_impl.hpp D extern/carve/include/carve/exact.hpp D extern/carve/include/carve/face_decl.hpp D extern/carve/include/carve/face_impl.hpp D extern/carve/include/carve/faceloop.hpp D extern/carve/include/carve/geom.hpp D extern/carve/include/carve/geom2d.hpp D extern/carve/include/carve/geom3d.hpp D extern/carve/include/carve/geom_impl.hpp D extern/carve/include/carve/gnu_cxx.h D extern/carve/include/carve/heap.hpp D extern/carve/include/carve/input.hpp D extern/carve/include/carve/interpolator.hpp D extern/carve/include/carve/intersection.hpp D extern/carve/include/carve/iobj.hpp D extern/carve/include/carve/kd_node.hpp D extern/carve/include/carve/math.hpp D extern/carve/include/carve/math_constants.hpp D extern/carve/include/carve/matrix.hpp D extern/carve/include/carve/mesh.hpp D extern/carve/include/carve/mesh_impl.hpp D extern/carve/include/carve/mesh_ops.hpp D extern/carve/include/carve/mesh_simplify.hpp D extern/carve/include/carve/octree_decl.hpp D extern/carve/include/carve/octree_impl.hpp D extern/carve/include/carve/pointset.hpp D extern/carve/include/carve/pointset_decl.hpp D extern/carve/include/carve/pointset_impl.hpp D extern/carve/include/carve/pointset_iter.hpp D extern/carve/include/carve/poly.hpp D extern/carve/include/carve/poly_decl.hpp D extern/carve/include/carve/poly_impl.hpp D extern/carve/include/carve/polyhedron_base.hpp D extern/carve/include/carve/polyhedron_decl.hpp D extern/carve/include/carve/polyhedron_impl.hpp D extern/carve/include/carve/polyline.hpp D extern/carve/include/carve/polyline_decl.hpp D extern/carve/include/carve/polyline_impl.hpp D extern/carve/include/carve/polyline_iter.hpp D extern/carve/include/carve/random/random.h D extern/carve/include/carve/rescale.hpp D extern/carve/include/carve/rtree.hpp D extern/carve/include/carve/spacetree.hpp D extern/carve/include/carve/tag.hpp D extern/carve/include/carve/timing.hpp D extern/carve/include/carve/tree.hpp D extern/carve/include/carve/triangle_intersection.hpp D extern/carve/include/carve/triangulator.hpp D extern/carve/include/carve/triangulator_impl.hpp D extern/carve/include/carve/util.hpp D extern/carve/include/carve/vcpp_config.h D extern/carve/include/carve/vector.hpp D extern/carve/include/carve/vertex_decl.hpp D extern/carve/include/carve/vertex_impl.hpp D extern/carve/include/carve/win32.h D extern/carve/lib/carve.cpp D extern/carve/lib/convex_hull.cpp D extern/carve/lib/csg.cpp D extern/carve/lib/csg_collector.cpp D extern/carve/lib/csg_collector.hpp D extern/carve/lib/csg_data.hpp D extern/carve/lib/csg_detail.hpp D extern/carve/lib/face.cpp D extern/carve/lib/geom2d.cpp D extern/carve/lib/geom3d.cpp D extern/carve/lib/intersect.cpp D extern/carve/lib/intersect_classify_common.hpp D extern/carve/lib/intersect_classify_common_impl.hpp D extern/carve/lib/intersect_classify_edge.cpp D extern/carve/lib/intersect_classify_group.cpp D extern/carve/lib/intersect_common.hpp D extern/carve/lib/intersect_debug.cpp D extern/carve/lib/intersect_debug.hpp D extern/carve/lib/intersect_face_division.cpp D extern/carve/lib/intersect_group.cpp D extern/carve/lib/intersect_half_classify_group.cpp D extern/carve/lib/intersection.cpp D extern/carve/lib/math.cpp D extern/carve/lib/mesh.cpp D extern/carve/lib/octree.cpp D extern/carve/lib/pointset.cpp D extern/carve/lib/polyhedron.cpp D extern/carve/lib/polyline.cpp D extern/carve/lib/tag.cpp D extern/carve/lib/timing.cpp D extern/carve/lib/triangulator.cpp D extern/carve/mkfiles.sh D extern/carve/patches/clang_is_heap_fix.patch D extern/carve/patches/face_hole_merge_workaround.patch D extern/carve/patches/files/config.h D extern/carve/patches/files/random.h D extern/carve/patches/gcc46.patch D extern/carve/patches/includes.patch D extern/carve/patches/interpolator_reorder.patch D extern/carve/patches/memory_leak_fix.patch D extern/carve/patches/mesh_iterator.patch D extern/carve/patches/mesh_simplify_dissolve_edges.patch D extern/carve/patches/mesh_simplify_uninitialized_var.patch D extern/carve/patches/msvc_fix.patch D extern/carve/patches/random.patch D extern/carve/patches/series D extern/carve/patches/strict_flags.patch D extern/carve/patches/win32.patch M release/scripts/startup/bl_ui/properties_data_modifier.py M source/blender/makesdna/DNA_modifier_types.h M source/blender/makesrna/intern/rna_modifier.c M source/blender/modifiers/CMakeLists.txt M source/blender/modifiers/intern/MOD_boolean.c D source/blender/modifiers/intern/MOD_boolean_util.c D source/blender/modifiers/intern/MOD_boolean_util.h M source/blender/python/intern/CMakeLists.txt M source/blender/python/intern/bpy_app_build_options.c M source/blenderplayer/CMakeLists.txt =================================================================== diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c4ce5030ac..c0a0b4bd27f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -310,7 +310,6 @@ endif() # Modifiers option(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON) option(WITH_MOD_SMOKE "Enable Smoke Modifier (Smoke Simulation)" ON) -option(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON) option(WITH_MOD_REMESH "Enable Remesh Modifier" ON) # option(WITH_MOD_CLOTH_ELTOPO "Enable Experimental cloth solver" OFF) # this is now only available in a branch # mark_as_advanced(WITH_MOD_CLOTH_ELTOPO) @@ -645,13 +644,12 @@ if(NOT WITH_BOOST) set_and_warn(WITH_INTERNATIONAL OFF) set_and_warn(WITH_OPENVDB OFF) set_and_warn(WITH_OPENCOLORIO OFF) - set_and_warn(WITH_MOD_BOOLEAN OFF) set_and_warn(WITH_OPENAL OFF) # depends on AUDASPACE set_and_warn(WITH_GAMEENGINE OFF) # depends on AUDASPACE set_and_warn(WITH_PLAYER OFF) # depends on GAMEENGINE elseif(WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_AUDASPACE OR WITH_INTERNATIONAL OR - WITH_OPENVDB OR WITH_OPENCOLORIO OR WITH_MOD_BOOLEAN) + WITH_OPENVDB OR WITH_OPENCOLORIO) # Keep enabled else() # New dependency graph needs either Boost or C++11 for function bindings. @@ -1758,7 +1756,6 @@ if(FIRST_RUN) endif() info_cfg_text("Modifiers:") - info_cfg_option(WITH_MOD_BOOLEAN) info_cfg_option(WITH_MOD_REMESH) info_cfg_option(WITH_MOD_FLUID) info_cfg_option(WITH_MOD_OCEANSIM) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index 35eba1e6a41..c896c0452b3 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -34,7 +34,6 @@ set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE) set(WITH_JACK ON CACHE BOOL "" FORCE) set(WITH_LZMA ON CACHE BOOL "" FORCE) set(WITH_LZO ON CACHE BOOL "" FORCE) -set(WITH_MOD_BOOLEAN ON CACHE BOOL "" FORCE) set(WITH_MOD_FLUID ON CACHE BOOL "" FORCE) set(WITH_MOD_REMESH ON CACHE BOOL "" FORCE) set(WITH_MOD_SMOKE ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index 98818d4ab50..7db26c3f7c0 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -38,7 +38,6 @@ set(WITH_INTERNATIONAL OFF CACHE BOOL "" FORCE) set(WITH_JACK OFF CACHE BOOL "" FORCE) set(WITH_LZMA OFF CACHE BOOL "" FORCE) set(WITH_LZO OFF CACHE BOOL "" FORCE) -set(WITH_MOD_BOOLEAN OFF CACHE BOOL "" FORCE) set(WITH_MOD_FLUID OFF CACHE BOOL "" FORCE) set(WITH_MOD_REMESH OFF CACHE BOOL "" FORCE) set(WITH_MOD_SMOKE OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index 3cdbfdfcf3b..1d1793e0aba 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -34,7 +34,6 @@ set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE) set(WITH_JACK ON CACHE BOOL "" FORCE) set(WITH_LZMA ON CACHE BOOL "" FORCE) set(WITH_LZO ON CACHE BOOL "" FORCE) -set(WITH_MOD_BOOLEAN ON CACHE BOOL "" FORCE) set(WITH_MOD_FLUID ON CACHE BOOL "" FORCE) set(WITH_MOD_REMESH ON CACHE BOOL "" FORCE) set(WITH_MOD_SMOKE ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 8ec2b1c6da5..e3eb4d9241a 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -721,10 +721,6 @@ function(SETUP_BLENDER_SORTED_LIBS) list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc) endif() - if(WITH_MOD_BOOLEAN) - list(APPEND BLENDER_SORTED_LIBS extern_carve) - endif() - if(WITH_GHOST_XDND) list(APPEND BLENDER_SORTED_LIBS extern_xdnd) endif() diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 91919adb4a2..2e8589ffd17 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -86,10 +86,6 @@ if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV) endif() endif() -if(WITH_MOD_BOOLEAN) - add_subdirectory(carve) -endif() - if(WITH_X11 AND WITH_GHOST_XDND) add_subdirectory(xdnd) endif() diff --git a/extern/carve/CMakeLists.txt b/extern/carve/CMakeLists.txt deleted file mode 100644 index bb81332917e..00000000000 --- a/extern/carve/CMakeLists.txt +++ /dev/null @@ -1,170 +0,0 @@ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# The Original Code is Copyright (C) 2006, Blender Foundation -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): Jacques Beaurai, Erwin Coumans -# -# ***** END GPL LICENSE BLOCK ***** - -# NOTE: This file is automatically generated by bundle.sh script -# If you're doing changes in this file, please update template -# in that script too - -set(INC - include -) - -set(INC_SYS -) - -set(SRC - carve-capi.cc - carve-util.cc - lib/carve.cpp - lib/convex_hull.cpp - lib/csg_collector.cpp - lib/csg.cpp - lib/face.cpp - lib/geom2d.cpp - lib/geom3d.cpp - lib/intersect_classify_edge.cpp - lib/intersect_classify_group.cpp - lib/intersect.cpp - lib/intersect_debug.cpp - lib/intersect_face_division.cpp - lib/intersect_group.cpp - lib/intersect_half_classify_group.cpp - lib/intersection.cpp - lib/math.cpp - lib/mesh.cpp - lib/octree.cpp - lib/pointset.cpp - lib/polyhedron.cpp - lib/polyline.cpp - lib/tag.cpp - lib/timing.cpp - lib/triangulator.cpp - - carve-capi.h - carve-util.h - lib/csg_collector.hpp - lib/csg_data.hpp - lib/csg_detail.hpp - lib/intersect_classify_common.hpp - lib/intersect_classify_common_impl.hpp - lib/intersect_common.hpp - lib/intersect_debug.hpp - - include/carve/aabb.hpp - include/carve/aabb_impl.hpp - include/carve/carve.hpp - include/carve/cbrt.h - include/carve/classification.hpp - include/carve/collection.hpp - include/carve/collection_types.hpp - include/carve/collection/unordered/boost_impl.hpp - include/carve/collection/unordered/fallback_impl.hpp - include/carve/collection/unordered.hpp - include/carve/collection/unordered/libstdcpp_impl.hpp - include/carve/collection/unordered/std_impl.hpp - include/carve/collection/unordered/tr1_impl.hpp - include/carve/collection/unordered/vcpp_impl.hpp - include/carve/colour.hpp - include/carve/convex_hull.hpp - include/carve/csg.hpp - include/carve/csg_triangulator.hpp - include/carve/debug_hooks.hpp - include/carve/djset.hpp - include/carve/edge_decl.hpp - include/carve/edge_impl.hpp - include/carve/exact.hpp - include/carve/face_decl.hpp - include/carve/face_impl.hpp - include/carve/faceloop.hpp - include/carve/geom2d.hpp - include/carve/geom3d.hpp - include/carve/geom.hpp - include/carve/geom_impl.hpp - include/carve/gnu_cxx.h - include/carve/heap.hpp - include/carve/input.hpp - include/carve/interpolator.hpp - include/carve/intersection.hpp - include/carve/iobj.hpp - include/carve/kd_node.hpp - include/carve/math_constants.hpp - include/carve/math.hpp - include/carve/matrix.hpp - include/carve/mesh.hpp - include/carve/mesh_impl.hpp - include/carve/mesh_ops.hpp - include/carve/mesh_simplify.hpp - include/carve/octree_decl.hpp - include/carve/octree_impl.hpp - include/carve/pointset_decl.hpp - include/carve/pointset.hpp - include/carve/pointset_impl.hpp - include/carve/pointset_iter.hpp - include/carve/poly_decl.hpp - include/carve/polyhedron_base.hpp - include/carve/polyhedron_decl.hpp - include/carve/polyhedron_impl.hpp - include/carve/poly.hpp - include/carve/poly_impl.hpp - include/carve/polyline_decl.hpp - include/carve/polyline.hpp - include/carve/polyline_impl.hpp - include/carve/polyline_iter.hpp - include/carve/rescale.hpp - include/carve/rtree.hpp - include/carve/spacetree.hpp - include/carve/tag.hpp - include/carve/timing.hpp - include/carve/tree.hpp - include/carve/triangle_intersection.hpp - include/carve/triangulator.hpp - include/carve/triangulator_impl.hpp - include/carve/util.hpp - include/carve/vcpp_config.h - include/carve/vector.hpp - include/carve/vertex_decl.hpp - include/carve/vertex_impl.hpp - include/carve/win32.h -) - -if(WITH_BOOST) - if(NOT MSVC) - # Boost is setting as preferred collections library in the Carve code when using MSVC compiler - add_definitions( - -DHAVE_BOOST_UNORDERED_COLLECTIONS - ) - endif() - - add_definitions( - -DCARVE_SYSTEM_BOOST - -DHAVE_BOOST_LIBRARY - ) - - list(APPEND INC_SYS - ${BOOST_INCLUDE_DIR} - ) -endif() - -blender_add_lib(extern_carve "${SRC}" "${INC}" "${INC_SYS}") diff --git a/extern/carve/LICENSE.GPL2 b/extern/carve/LICENSE.GPL2 deleted file mode 100644 index 792acb92f6a..00000000000 --- a/extern/carve/LICENSE.GPL2 +++ /dev/null @@ -1,361 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - - The Qt GUI Toolkit is Copyright (C) 1994-2008 Trolltech ASA. - - You may use, distribute and copy the Qt GUI Toolkit under the terms of - GNU General Public License version 2, which is displayed below. - -------------------------------------------------------------------------- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs