From ba99f6832e39da6928592f2fc17f5a532b490849 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Wed, 23 Apr 2025 12:07:17 -0400 Subject: [PATCH] Mesh: Tag no loose vertices for Manifold Boolean output Saves a tiny amount of time computing the loose vertices cache after a boolean operation. Since the boolean output is just created from faces, there are no loose vertices (there are also no loose edges because of the call to `mesh_calc_edges`, which itself tags the loose edge cache). --- source/blender/geometry/intern/mesh_boolean_manifold.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/blender/geometry/intern/mesh_boolean_manifold.cc b/source/blender/geometry/intern/mesh_boolean_manifold.cc index 46f60c6d085..9dfbc1614aa 100644 --- a/source/blender/geometry/intern/mesh_boolean_manifold.cc +++ b/source/blender/geometry/intern/mesh_boolean_manifold.cc @@ -714,7 +714,7 @@ static Array> get_face_groups(const MeshGL &mgl, * Return 1 if \a group is just the same as the original face \a face_index * in \a mesh. * Return 2 if it is the same but with the normal reversed. - * Return 0 otherwise. + * Return 0 otherwise. */ static uchar check_original_face(const Vector &group, const MeshGL &mgl, @@ -1606,6 +1606,10 @@ static Mesh *meshgl_to_mesh(MeshGL &mgl, get_intersecting_edges(r_intersecting_edges, mesh, out_to_in, mesh_offsets); } } + + mesh->tag_loose_verts_none(); + mesh->tag_overlapping_none(); + return mesh; }