private bool OneStep(List <TriangleData> toDo) { int index = toDo.Count - 1; TriangleData triangle = toDo[index]; toDo.RemoveAt(index); triangles.Add(triangle); TriangleData t0 = triangle.CreateNeighbour(0, plane, triangles.Count + ".0"); TriangleData t1 = triangle.CreateNeighbour(1, plane, triangles.Count + ".1"); TriangleData t2 = triangle.CreateNeighbour(2, plane, triangles.Count + ".2"); if (t0 != null) { toDo.Add(t0); } if (t1 != null) { toDo.Add(t1); } if (t2 != null) { toDo.Add(t2); } return(toDo.Count > 0); }