Class 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 Detail

      • 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 Detail

      • 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 Detail

      • 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