public void Dispose(ProgMesh pm) { Debug.Assert(Face.Count == 0, "[ProgMeshVertex.destroy] face.size() == 0"); while (Neighbor.Count > 0) { ProgMeshUtil.RemoveFillWithBack(Neighbor[0].Neighbor, this); ProgMeshUtil.RemoveFillWithBack(Neighbor, Neighbor[0]); } ProgMeshUtil.RemoveFillWithBack(pm.Vertices, this); }
public void Dispose(ProgMesh pm) { ProgMeshUtil.RemoveFillWithBack(pm.Triangles, this); for (var i = 0; i < 3; i++) { if (_vertex[i] != null) { ProgMeshUtil.RemoveFillWithBack(_vertex[i].Face, this); } } for (var i = 0; i < 3; i++) { var i2 = (i + 1) % 3; if (_vertex[i] != null && _vertex[i2] != null) { _vertex[i].RemoveIfNonNeighbor(_vertex[i2]); _vertex[i2].RemoveIfNonNeighbor(_vertex[i]); } } }