public void Delete(MeshDecimator owningMesh) { int i; //owningMesh.Triangles.Remove(this); owningMesh.Triangles = RemoveIndices(owningMesh.Triangles, indexAt); for (i = 0; i < 3; i++) { if (Vertexes[i] != null) { Vertexes[i].Faces.Remove(this); } } for (i = 0; i < 3; i++) { int i2 = (i + 1) % 3; Vertex ii2Vertex = Vertexes[i2]; Vertex ii1Vertex = Vertexes[i]; if (ii1Vertex != null || ii2Vertex == null) { continue; } Vertexes[i].RemoveIfNonNeighbor(ii2Vertex); Vertexes[i2].RemoveIfNonNeighbor(ii1Vertex); } }
public void Delete(MeshDecimator owningMesh) { while (Neighbours.Count > 0) { Neighbours[0].Neighbours.Remove(this); Neighbours.Remove(Neighbours[0]); } owningMesh.Vertices = RemoveIndices(owningMesh.Vertices, indexAt); }