Mesh: Use more efficient update tag when flipping faces #106250
|
@ -72,6 +72,11 @@ void BKE_mesh_tag_topology_changed(struct Mesh *mesh);
|
|||
*/
|
||||
void BKE_mesh_tag_edges_split(struct Mesh *mesh);
|
||||
|
||||
/**
|
||||
* Call when face vertex order has changed but positions and faces haven't changed
|
||||
*/
|
||||
void BKE_mesh_tag_face_winding_changed(struct Mesh *mesh);
|
||||
|
||||
/* *** mesh.c *** */
|
||||
|
||||
struct BMesh *BKE_mesh_to_bmesh_ex(const struct Mesh *me,
|
||||
|
|
|
@ -243,6 +243,12 @@ void BKE_mesh_tag_edges_split(struct Mesh *mesh)
|
|||
}
|
||||
}
|
||||
|
||||
void BKE_mesh_tag_face_winding_changed(Mesh *mesh)
|
||||
{
|
||||
mesh->runtime->vert_normals_dirty = true;
|
||||
mesh->runtime->poly_normals_dirty = true;
|
||||
}
|
||||
|
||||
void BKE_mesh_tag_positions_changed(Mesh *mesh)
|
||||
{
|
||||
mesh->runtime->vert_normals_dirty = true;
|
||||
|
|
|
@ -61,7 +61,7 @@ void flip_faces(Mesh &mesh, const IndexMask &selection)
|
|||
return true;
|
||||
});
|
||||
|
||||
BKE_mesh_tag_topology_changed(&mesh);
|
||||
BKE_mesh_tag_face_winding_changed(&mesh);
|
||||
}
|
||||
|
||||
} // namespace blender::geometry
|
||||
|
|
Loading…
Reference in New Issue