Class CircleLayouterWithMinimumCrossingsAlgorithm

java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.layouters.circle.CircleLayouterWithMinimumCrossingsAlgorithm
All Implemented Interfaces:
UndoableEdit, Algorithm

public class CircleLayouterWithMinimumCrossingsAlgorithm
extends AbstractAlgorithm
Places all nodes on a circle with a user specified radius.
Author:
Christian Klukas
  • Constructor Details

    • CircleLayouterWithMinimumCrossingsAlgorithm

      public CircleLayouterWithMinimumCrossingsAlgorithm()
      Creates a new CircleLayouterAlgorithm object.
    • CircleLayouterWithMinimumCrossingsAlgorithm

      public CircleLayouterWithMinimumCrossingsAlgorithm​(double defaultRadius)
      Creates a new CircleLayouterAlgorithm object.
      Parameters:
      defaultRadius - a value for the radius
  • Method Details

    • attach

      public void attach​(Graph graph, Selection selection)
      Description copied from interface: Algorithm
      Attaches the given graph to this algorithm. A ttaches the given Selection information to the algorithm.
      Specified by:
      attach in interface Algorithm
      Overrides:
      attach in class AbstractAlgorithm
      Parameters:
      graph - the graph to attach.
      selection - the selection to attach.
    • getName

      public String getName()
      Returns the name of the algorithm.
      Returns:
      the name of the algorithm
    • check

      public void check() throws PreconditionException
      Checks, if a graph was given and that the radius is positive.
      Specified by:
      check in interface Algorithm
      Overrides:
      check in class AbstractAlgorithm
      Throws:
      PreconditionException - if no graph was given during algorithm invocation or the radius is negative
    • execute

      public void execute()
      Performs the layout.
    • getParameters

      public Parameter[] getParameters()
      Returns the parameter object for the radius and the minimize edge crossings parameter.
      Specified by:
      getParameters in interface Algorithm
      Overrides:
      getParameters in class AbstractAlgorithm
      Returns:
      the parameter array
    • setParameters

      public void setParameters​(Parameter[] params)
      Sets the radius parameter and the minimize edge crossings flag to the given values.
      Specified by:
      setParameters in interface Algorithm
      Overrides:
      setParameters in class AbstractAlgorithm
      Parameters:
      params - An array with one DoubleParameter and a BooleanParameter.
    • getCategory

      public String getCategory()
      Description copied from interface: Algorithm
      Returns the category an algorithm should assigned to. Return NULL if the algorithm should be sorted directly in the plugin menu.
      Specified by:
      getCategory in interface Algorithm
      Overrides:
      getCategory in class AbstractAlgorithm
      Returns:
      The category an algorithm should assigned to.
    • getSetCategory

      public Set<Category> getSetCategory()
      Description copied from interface: Algorithm
      Returns a set of categories to classify this algorithm . e.g. return new HashSet(Arrays.asList( Category.GRAPH, Category.NODE )); is an algorithm, working on graphs and more specific on nodes
      Specified by:
      getSetCategory in interface Algorithm
      Overrides:
      getSetCategory in class AbstractAlgorithm
      Returns:
      Set of Category Enums that classify this algorithm.
    • isLayoutAlgorithm

      public boolean isLayoutAlgorithm()
      Description copied from interface: Algorithm
      A LayoutAlgorithm should return true. All other types of algorithms should return false.
      Specified by:
      isLayoutAlgorithm in interface Algorithm
      Overrides:
      isLayoutAlgorithm in class AbstractAlgorithm
      Returns: