public void MeshClean(Triangle triangle) { List <Triangle> triangles = new List <Triangle>(); triangles.Add(triangle); while (triangles.Count != 0) { int last = triangles.Count - 1; Triangle t = triangles[last]; triangles.RemoveAt(last); if (t != null && !t.IsInterior()) { t.IsInterior(true); _triangles.Add(t); for (int i = 0; i < 3; i++) { if (!t.ConstrainedEdge[i]) { triangles.Add(t.GetNeighbor(i)); } } } } }