private List <Cell.CellFace> generateFaces(Cell.CellFace cf) { List <Cell.CellFace> faces = new List <Cell.CellFace>(); Dictionary <FaceNoSC, bool> closed = new Dictionary <FaceNoSC, bool>(); faces.Add(cf); closed.Add(cf.f, false); generateFaces(cf, faces, closed); return(faces); }
private void generateFaces(Cell.CellFace cf, List <Cell.CellFace> result, Dictionary <FaceNoSC, bool> closed) { closed[cf.f] = true; Cell.CellFace[] faces = cf.c.getSameSurfaceAdjacentFaces(cf.f); foreach (var nf in faces) { if (!closed.ContainsKey(nf.f)) { result.Add(nf); closed.Add(nf.f, false); generateFaces(nf, result, closed); } } }