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

    Fields 
    Modifier and Type Field Description
    protected java.util.Comparator<java.lang.Double> comparator  
    protected java.util.function.Function<V,​Point2D> initializer
    A model initializer
    protected double radius  
    protected java.util.Comparator<V> vertexComparator  
  • Constructor Summary

    Constructors 
    Constructor Description
    CircularLayoutAlgorithm2D()
    Create a new layout algorithm
    CircularLayoutAlgorithm2D​(double radius)
    Create a new layout algorithm
    CircularLayoutAlgorithm2D​(double radius, java.util.Comparator<V> vertexComparator)
    Create a new layout algorithm.
  • Method Summary

    Modifier and Type Method Description
    java.util.function.Function<V,​Point2D> getInitializer()
    Get the initializer
    protected void init​(Graph<V,​E> graph, LayoutModel2D<V> model)
    Initialize a model using the initializer.
    void layout​(Graph<V,​E> graph, LayoutModel2D<V> model)
    Layout a graph.
    void setInitializer​(java.util.function.Function<V,​Point2D> initializer)
    Set the initializer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • radius

      protected double radius
    • comparator

      protected java.util.Comparator<java.lang.Double> comparator
    • vertexComparator

      protected java.util.Comparator<V> vertexComparator
    • initializer

      protected java.util.function.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, java.util.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 java.util.function.Function<V,​Point2D> getInitializer()
      Get the initializer
      Returns:
      the initializer
    • setInitializer

      public void setInitializer​(java.util.function.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