Class GridGraphGenerator<V,E>

java.lang.Object
org.jgrapht.generate.GridGraphGenerator<V,E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
GraphGenerator<V,E,V>

public class GridGraphGenerator<V,E> extends Object implements GraphGenerator<V,E,V>
Generates a bidirectional grid graph of any size. A grid graph is a two dimensional graph whose vertices correspond to the points in the plane with integer coordinates, x-coordinates being in the range 0,..., n, y-coordinates being in the range 1,...m, and two vertices are connected by an edge whenever the corresponding points are at distance 1. Vertices are created from left to right and from top to bottom.
Author:
Assaf Mizrachi
  • Field Details

  • Constructor Details

    • GridGraphGenerator

      public GridGraphGenerator(int rows, int cols)
      Creates a new GridGraphGenerator object with rows x cols dimension.
      Parameters:
      rows - the number of rows
      cols - the number of columns
  • Method Details

    • generateGraph

      public void generateGraph(Graph<V,E> target, Map<String,V> resultMap)
      Generate a graph structure. The topology of the generated graph is dependent on the implementation. For graphs in which not all vertices share the same automorphism equivalence class, the generator may produce a labeling indicating the roles played by generated elements. This is the purpose of the resultMap parameter. For example, a generator for a wheel graph would designate a hub vertex. Role names used as keys in resultMap should be declared as public static final Strings by implementation classes.
      Specified by:
      generateGraph in interface GraphGenerator<V,E,V>
      Parameters:
      target - receives the generated edges and vertices; if this is non-empty on entry, the result will be a disconnected graph since generated elements will not be connected to existing elements
      resultMap - if non-null, receives implementation-specific mappings from String roles to graph elements (or collections of graph elements)