diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2021-03-08 02:13:19 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2021-03-08 02:13:19 +0300 |
commit | 1ba15f1f7f94616d52e8bbd80e22c9e34e45a81e (patch) | |
tree | 5437bbfec345fa2d931ff2754d04fd3e282c8d0a /source/blender/nodes/geometry/nodes/node_geo_boolean.cc | |
parent | 7a34bd7c2886dfc812345c0b1649d63a9ee4666f (diff) |
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.
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_boolean.cc')
-rw-r--r-- | source/blender/nodes/geometry/nodes/node_geo_boolean.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_boolean.cc b/source/blender/nodes/geometry/nodes/node_geo_boolean.cc index 38215b54640..9f331190420 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_boolean.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_boolean.cc @@ -100,7 +100,7 @@ static Mesh *mesh_boolean_calc(const Mesh *mesh_a, const Mesh *mesh_b, int boole } BM_mesh_boolean( - bm, looptris, tottri, bm_face_isect_pair, nullptr, 2, false, false, boolean_mode); + bm, looptris, tottri, bm_face_isect_pair, nullptr, 2, false, false, false, boolean_mode); Mesh *result = BKE_mesh_from_bmesh_for_eval_nomain(bm, nullptr, mesh_a); BM_mesh_free(bm); |