Class CircularLayoutAlgorithm2D<V,E>

java.lang.Object
org.jgrapht.alg.drawing.BaseLayoutAlgorithm2D<V,E>
org.jgrapht.alg.drawing.CircularLayoutAlgorithm2D<V,E>
Type Parameters:
V - the vertex type
E - the edge type
All Implemented Interfaces:
LayoutAlgorithm2D<V,E>

public class CircularLayoutAlgorithm2D<V,E> extends BaseLayoutAlgorithm2D<V,E>
Circular layout.

The algorithm places the graph vertices on a circle evenly spaced. The vertices are iterated based on the iteration order of the vertex set of the graph. The order can be adjusted by providing an external comparator.

  • Field Details

    • radius

      protected double radius
    • comparator

      protected Comparator<Double> comparator
    • vertexComparator

      protected Comparator<V> vertexComparator
  • Constructor Details

    • CircularLayoutAlgorithm2D

      public CircularLayoutAlgorithm2D()
      Create a new layout algorithm
    • CircularLayoutAlgorithm2D

      public CircularLayoutAlgorithm2D(double radius)
      Create a new layout algorithm
      Parameters:
      radius - the circle radius
    • CircularLayoutAlgorithm2D

      public CircularLayoutAlgorithm2D(double radius, Comparator<V> vertexComparator)
      Create a new layout algorithm. The algorithm will iterate over the vertices of the graph using the provided ordering.
      Parameters:
      radius - the circle radius
      vertexComparator - the vertex comparator. Can be null.
  • Method Details

    • layout

      public void layout(Graph<V,E> graph, LayoutModel2D<V> model)
      Description copied from interface: LayoutAlgorithm2D
      Layout a graph.
      Parameters:
      graph - the graph
      model - the layout model to use