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).
This commit is contained in:
Hans Goudey
2025-04-23 12:07:17 -04:00
parent 7417efb0f7
commit ba99f6832e

View File

@@ -714,7 +714,7 @@ static Array<Vector<int, face_group_inline>> 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<int, face_group_inline> &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;
}