-4
我想從網格中刪除面的列表以及它們各自的頂點(如果它們不再被引用),但到目前爲止,我只能成功刪除面部列表。這個想法是,對於每個被刪除的索引,所有大於被刪除索引的索引應該減1。如何從網格中刪除面的列表和它的頂點
網格僅由頂點列表和索引列表(以及可選的列表三角形)。
目前的代碼只刪除三角形做到這一點:
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
}