J'essaie de supprimer une liste de visages ainsi que leurs sommets respectifs (s'ils ne sont plus référencés) d'un maillage, mais jusqu'ici je n'ai pu pour supprimer avec succès la liste des visages. L'idée est que pour chaque indice qui est supprimé, tous les indices plus grands que celui qui est supprimé doivent être décrémentés de 1.Comment supprimer une liste de visages et ses sommets d'un maillage
Le maillage est représenté simplement par une liste de sommets et une liste d'indices (et éventuellement une liste de Triangles).
Actuellement, le code pour supprimer quelques triangles Est-ce:
private IMesh DeleteTriangles(IMesh input, IEnumerable<int> indices_to_delete)
{
var triangles_to_delete = new HashSet<int>(indices_to_delete);
_triangles_to_keep = _mesh.Triangles.Where((t, count) =>
!triangles_to_delete.Contains(t.A) &&
!triangles_to_delete.Contains(t.B) &&
!triangles_to_delete.Contains(t.C)).ToList();
// return new mesh
}