Class CircularLayoutAlgorithm2D<V,E>

java.lang.Object
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 Object
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.

Author:
Dimitrios Michail
  • Field Details

    • radius

      protected double radius
    • comparator

      protected Comparator<Double> comparator
    • vertexComparator

      protected Comparator<V> vertexComparator
    • initializer

      protected Function<V,Point2D> initializer
      A model initializer
  • 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
    • getInitializer

      public Function<V,Point2D> getInitializer()
      Get the initializer
      Returns:
      the initializer
    • setInitializer

      public void setInitializer(Function<V,Point2D> initializer)
      Set the initializer
      Parameters:
      initializer - the initializer
    • init

      protected void init(Graph<V,E> graph, LayoutModel2D<V> model)
      Initialize a model using the initializer.
      Parameters:
      graph - the graph
      model - the model