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 Summary
Constructors Constructor Description CircleLayouterWithMinimumCrossingsAlgorithm()
Creates a new CircleLayouterAlgorithm object.CircleLayouterWithMinimumCrossingsAlgorithm(double defaultRadius)
Creates a new CircleLayouterAlgorithm object. -
Method Summary
Modifier and Type Method Description void
attach(Graph graph, Selection selection)
Attaches the given graph to this algorithm.void
check()
Checks, if a graph was given and that the radius is positive.void
execute()
Performs the layout.String
getCategory()
Returns the category an algorithm should assigned to.String
getName()
Returns the name of the algorithm.Parameter[]
getParameters()
Returns the parameter object for the radius and the minimize edge crossings parameter.Set<Category>
getSetCategory()
Returns a set of categories to classify this algorithm .boolean
isLayoutAlgorithm()
A LayoutAlgorithm should return true.void
setParameters(Parameter[] params)
Sets the radius parameter and the minimize edge crossings flag to the given values.Methods inherited from class org.graffiti.plugin.algorithm.AbstractAlgorithm
addEdit, canRedo, canUndo, die, doesUndo, getAcceleratorKeyStroke, getActionEvent, getDescription, getMenuCategory, getPresentationName, getRedoPresentationName, getUndoPresentationName, isAlwaysExecutable, isSignificant, markExecutionDone, markRedoDone, markUndoDone, mayWorkOnMultipleGraphs, redo, replaceEdit, reset, setActionEvent, showMenuIcon, undo
-
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
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 interfaceAlgorithm
- Overrides:
attach
in classAbstractAlgorithm
- Parameters:
graph
- the graph to attach.selection
- the selection to attach.
-
getName
Returns the name of the algorithm.- Returns:
- the name of the algorithm
-
check
Checks, if a graph was given and that the radius is positive.- Specified by:
check
in interfaceAlgorithm
- Overrides:
check
in classAbstractAlgorithm
- Throws:
PreconditionException
- if no graph was given during algorithm invocation or the radius is negative
-
execute
public void execute()Performs the layout. -
getParameters
Returns the parameter object for the radius and the minimize edge crossings parameter.- Specified by:
getParameters
in interfaceAlgorithm
- Overrides:
getParameters
in classAbstractAlgorithm
- Returns:
- the parameter array
-
setParameters
Sets the radius parameter and the minimize edge crossings flag to the given values.- Specified by:
setParameters
in interfaceAlgorithm
- Overrides:
setParameters
in classAbstractAlgorithm
- Parameters:
params
- An array with one DoubleParameter and a BooleanParameter.
-
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 interfaceAlgorithm
- Overrides:
getCategory
in classAbstractAlgorithm
- Returns:
- The category an algorithm should assigned to.
-
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 interfaceAlgorithm
- Overrides:
getSetCategory
in classAbstractAlgorithm
- 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 interfaceAlgorithm
- Overrides:
isLayoutAlgorithm
in classAbstractAlgorithm
- Returns:
-