【发布时间】:2018-01-02 00:43:28
【问题描述】:
我正在尝试从网格中删除面列表以及它们各自的顶点(如果不再引用它们),但到目前为止,我只能成功删除面列表。这个想法是,对于每个删除的索引,所有大于删除的索引都应该减 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
}
【问题讨论】:
标签: c# c++ algorithm geometry mesh