Blender Git Commit Log
Git Commits -> Revision 1ba15f1
Revision 1ba15f1 by Howard Trickey (master) March 7, 2021, 23:13 (GMT) |
Speedup for usual non-manifold exact boolean case. The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles. |
Commit Details:
Full Hash: 1ba15f1f7f94616d52e8bbd80e22c9e34e45a81e
Parent Commit: 7a34bd7
Lines Changed: +289, -84
13 Modified Paths:
/source/blender/blenkernel/BKE_mesh_boolean_convert.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/mesh_boolean_convert.cc (+6, -1) (Diff)
/source/blender/blenlib/BLI_mesh_boolean.hh (+2, -0) (Diff)
/source/blender/blenlib/intern/mesh_boolean.cc (+153, -50) (Diff)
/source/blender/blenlib/tests/BLI_mesh_boolean_test.cc (+63, -16) (Diff)
/source/blender/bmesh/tools/bmesh_boolean.cc (+8, -1) (Diff)
/source/blender/bmesh/tools/bmesh_boolean.h (+2, -0) (Diff)
/source/blender/editors/mesh/editmesh_intersect.c (+11, -2) (Diff)
/source/blender/editors/sculpt_paint/paint_mask.c (+2, -1) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+34, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_boolean.cc (+1, -1) (Diff)
/source/blender/blenkernel/intern/mesh_boolean_convert.cc (+6, -1) (Diff)
/source/blender/blenlib/BLI_mesh_boolean.hh (+2, -0) (Diff)
/source/blender/blenlib/intern/mesh_boolean.cc (+153, -50) (Diff)
/source/blender/blenlib/tests/BLI_mesh_boolean_test.cc (+63, -16) (Diff)
/source/blender/bmesh/tools/bmesh_boolean.cc (+8, -1) (Diff)
/source/blender/bmesh/tools/bmesh_boolean.h (+2, -0) (Diff)
/source/blender/editors/mesh/editmesh_intersect.c (+11, -2) (Diff)
/source/blender/editors/sculpt_paint/paint_mask.c (+2, -1) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+34, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_boolean.cc (+1, -1) (Diff)