Blender Git Loki
Git Commits -> Revision 9e09b5c
Revision 9e09b5c by Howard Trickey (master) August 28, 2020, 15:01 (GMT) |
Merge newboolean branch into master. This is for design task T67744, Boolean Redesign. It adds a choice of solver to the Boolean modifier and the Intersect (Boolean) and Intersect (Knife) tools. The 'Fast' choice is the current Bmesh boolean. The new 'Exact' choice is a more advanced algorithm that supports overlapping geometry and uses more robust calculations, but is slower than the Fast choice. The default with this commit is set to 'Exact'. We can decide before the 2.91 release whether or not this is the right choice, but this choice now will get us more testing and feedback on the new code. |
Commit Details:
Full Hash: 9e09b5c418c0a436e3c84ccf38c065527988b0a0
Parent Commit: 4a17508
Lines Changed: +17584, -6403
17 Added Paths:
/source/blender/blenlib/BLI_double2.hh (+143, -0) (View)
/source/blender/blenlib/BLI_double3.hh (+245, -0) (View)
/source/blender/blenlib/BLI_math_boolean.hh (+61, -0) (View)
/source/blender/blenlib/BLI_math_mpq.hh (+36, -0) (View)
/source/blender/blenlib/BLI_mesh_boolean.hh (+79, -0) (View)
/source/blender/blenlib/BLI_mesh_intersect.hh (+359, -0) (View)
/source/blender/blenlib/BLI_mpq2.hh (+184, -0) (View)
/source/blender/blenlib/BLI_mpq3.hh (+281, -0) (View)
/source/blender/blenlib/intern/delaunay_2d.cc (+2500, -0) (View)
/source/blender/blenlib/intern/math_boolean.cc (+2533, -0) (View)
/source/blender/blenlib/intern/math_vec.cc (+193, -0) (View)
/source/blender/blenlib/intern/mesh_boolean.cc (+3382, -0) (View)
/source/blender/blenlib/intern/mesh_intersect.cc (+3304, -0) (View)
/source/blender/blenlib/tests/BLI_mesh_boolean_test.cc (+908, -0) (View)
/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc (+1072, -0) (View)
/source/blender/bmesh/tools/bmesh_boolean.cc (+479, -0) (View)
/source/blender/bmesh/tools/bmesh_boolean.h (+45, -0) (View)
/source/blender/blenlib/BLI_double3.hh (+245, -0) (View)
/source/blender/blenlib/BLI_math_boolean.hh (+61, -0) (View)
/source/blender/blenlib/BLI_math_mpq.hh (+36, -0) (View)
/source/blender/blenlib/BLI_mesh_boolean.hh (+79, -0) (View)
/source/blender/blenlib/BLI_mesh_intersect.hh (+359, -0) (View)
/source/blender/blenlib/BLI_mpq2.hh (+184, -0) (View)
/source/blender/blenlib/BLI_mpq3.hh (+281, -0) (View)
/source/blender/blenlib/intern/delaunay_2d.cc (+2500, -0) (View)
/source/blender/blenlib/intern/math_boolean.cc (+2533, -0) (View)
/source/blender/blenlib/intern/math_vec.cc (+193, -0) (View)
/source/blender/blenlib/intern/mesh_boolean.cc (+3382, -0) (View)
/source/blender/blenlib/intern/mesh_intersect.cc (+3304, -0) (View)
/source/blender/blenlib/tests/BLI_mesh_boolean_test.cc (+908, -0) (View)
/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc (+1072, -0) (View)
/source/blender/bmesh/tools/bmesh_boolean.cc (+479, -0) (View)
/source/blender/bmesh/tools/bmesh_boolean.h (+45, -0) (View)
1 Deleted Path:
/source/blender/blenlib/intern/delaunay_2d.c (+0, -5173)
34 Modified Paths:
/build_files/build_environment/CMakeLists.txt (+1, -0) (Diff)
/build_files/cmake/config/blender_full.cmake (+1, -0) (Diff)
/build_files/cmake/config/blender_lite.cmake (+1, -0) (Diff)
/build_files/cmake/config/blender_release.cmake (+1, -0) (Diff)
/build_files/cmake/macros.cmake (+4, -0) (Diff)
/build_files/cmake/Modules/GTestTesting.cmake (+3, -0) (Diff)
/build_files/cmake/platform/platform_apple.cmake (+9, -0) (Diff)
/build_files/cmake/platform/platform_unix.cmake (+9, -0) (Diff)
/CMakeLists.txt (+2, -0) (Diff)
/source/blender/blenlib/BLI_delaunay_2d.h (+72, -13) (Diff)
/source/blender/blenlib/BLI_float2.hh (+46, -0) (Diff)
/source/blender/blenlib/BLI_float3.hh (+5, -0) (Diff)
/source/blender/blenlib/BLI_math_base.h (+8, -0) (Diff)
/source/blender/blenlib/BLI_math_vector.h (+9, -2) (Diff)
/source/blender/blenlib/CMakeLists.txt (+28, -1) (Diff)
/source/blender/blenlib/intern/math_vector.c (+20, -0) (Diff)
/source/blender/blenlib/intern/math_vector_inline.c (+42, -3) (Diff)
/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc (+1228, -1150) (Diff)
/source/blender/blenloader/intern/versioning_290.c (+12, -0) (Diff)
/source/blender/bmesh/bmesh_tools.h (+1, -0) (Diff)
/source/blender/bmesh/CMakeLists.txt (+14, -0) (Diff)
/source/blender/bmesh/tools/bmesh_decimate_collapse.c (+1, -1) (Diff)
/source/blender/bmesh/tools/bmesh_edgesplit.h (+8, -0) (Diff)
/source/blender/editors/mesh/CMakeLists.txt (+4, -0) (Diff)
/source/blender/editors/mesh/editmesh_intersect.c (+154, -28) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+8, -2) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+4, -0) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+16, -0) (Diff)
/source/blender/modifiers/CMakeLists.txt (+4, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+43, -15) (Diff)
/source/blender/python/bmesh/CMakeLists.txt (+4, -0) (Diff)
/source/blender/python/mathutils/mathutils_geometry.c (+0, -1) (Diff)
/source/creator/CMakeLists.txt (+4, -0) (Diff)
/tests/python/CMakeLists.txt (+14, -14) (Diff)
/build_files/cmake/config/blender_full.cmake (+1, -0) (Diff)
/build_files/cmake/config/blender_lite.cmake (+1, -0) (Diff)
/build_files/cmake/config/blender_release.cmake (+1, -0) (Diff)
/build_files/cmake/macros.cmake (+4, -0) (Diff)
/build_files/cmake/Modules/GTestTesting.cmake (+3, -0) (Diff)
/build_files/cmake/platform/platform_apple.cmake (+9, -0) (Diff)
/build_files/cmake/platform/platform_unix.cmake (+9, -0) (Diff)
/CMakeLists.txt (+2, -0) (Diff)
/source/blender/blenlib/BLI_delaunay_2d.h (+72, -13) (Diff)
/source/blender/blenlib/BLI_float2.hh (+46, -0) (Diff)
/source/blender/blenlib/BLI_float3.hh (+5, -0) (Diff)
/source/blender/blenlib/BLI_math_base.h (+8, -0) (Diff)
/source/blender/blenlib/BLI_math_vector.h (+9, -2) (Diff)
/source/blender/blenlib/CMakeLists.txt (+28, -1) (Diff)
/source/blender/blenlib/intern/math_vector.c (+20, -0) (Diff)
/source/blender/blenlib/intern/math_vector_inline.c (+42, -3) (Diff)
/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc (+1228, -1150) (Diff)
/source/blender/blenloader/intern/versioning_290.c (+12, -0) (Diff)
/source/blender/bmesh/bmesh_tools.h (+1, -0) (Diff)
/source/blender/bmesh/CMakeLists.txt (+14, -0) (Diff)
/source/blender/bmesh/tools/bmesh_decimate_collapse.c (+1, -1) (Diff)
/source/blender/bmesh/tools/bmesh_edgesplit.h (+8, -0) (Diff)
/source/blender/editors/mesh/CMakeLists.txt (+4, -0) (Diff)
/source/blender/editors/mesh/editmesh_intersect.c (+154, -28) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+8, -2) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+4, -0) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+16, -0) (Diff)
/source/blender/modifiers/CMakeLists.txt (+4, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+43, -15) (Diff)
/source/blender/python/bmesh/CMakeLists.txt (+4, -0) (Diff)
/source/blender/python/mathutils/mathutils_geometry.c (+0, -1) (Diff)
/source/creator/CMakeLists.txt (+4, -0) (Diff)
/tests/python/CMakeLists.txt (+14, -14) (Diff)