public static HashSet <UEdge2i> Cell_ExpansionEdges_Set( this PM_Maze maze, int x, int y ) { return(maze.Cell_ExpansionEdges_Set(new Vec2i(x, y))); }
public static HashSet <UEdge2i> ConnectedCells_ExpansionEdges_Set( this PM_Maze maze ) { HashSet <UEdge2i> expansionEdges = new HashSet <UEdge2i>(); HashSet <Vec2i> connectedCells = maze.ConnectedCells_Set(); foreach (var cell in connectedCells) { if (maze.Q_Is_Cell_Connected(cell)) { expansionEdges.UnionWith(maze.Cell_ExpansionEdges_Set(cell)); } } return(expansionEdges); }
public static List <UEdge2i> All_ExpansionEdges_List( this PM_Maze maze ) { int width = maze.Q_Width(); int height = maze.Q_Height(); List <UEdge2i> all_ExpansionEdges = new List <UEdge2i>(); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { all_ExpansionEdges.AddRange(maze.Cell_ExpansionEdges_Set(x, y)); } } return(all_ExpansionEdges); }
public static HashSet <UEdge2i> All_ExpansionEdges_Set( this PM_Maze maze ) { int width = maze.Q_Width(); int height = maze.Q_Height(); HashSet <UEdge2i> all_ExpansionEdges = new HashSet <UEdge2i>(); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { all_ExpansionEdges.UnionWith(maze.Cell_ExpansionEdges_Set(x, y)); } } return(all_ExpansionEdges); }