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 voidattach(Graph graph, Selection selection)Attaches the given graph to this algorithm.voidcheck()Checks, if a graph was given and that the radius is positive.voidexecute()Performs the layout.StringgetCategory()Returns the category an algorithm should assigned to.StringgetName()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 .booleanisLayoutAlgorithm()A LayoutAlgorithm should return true.voidsetParameters(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:AlgorithmAttaches the given graph to this algorithm. A ttaches the given Selection information to the algorithm.- Specified by:
attachin interfaceAlgorithm- Overrides:
attachin 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:
checkin interfaceAlgorithm- Overrides:
checkin 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:
getParametersin interfaceAlgorithm- Overrides:
getParametersin classAbstractAlgorithm- Returns:
- the parameter array
-
setParameters
Sets the radius parameter and the minimize edge crossings flag to the given values.- Specified by:
setParametersin interfaceAlgorithm- Overrides:
setParametersin classAbstractAlgorithm- Parameters:
params- An array with one DoubleParameter and a BooleanParameter.
-
getCategory
Description copied from interface:AlgorithmReturns the category an algorithm should assigned to. Return NULL if the algorithm should be sorted directly in the plugin menu.- Specified by:
getCategoryin interfaceAlgorithm- Overrides:
getCategoryin classAbstractAlgorithm- Returns:
- The category an algorithm should assigned to.
-
getSetCategory
Description copied from interface:AlgorithmReturns 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:
getSetCategoryin interfaceAlgorithm- Overrides:
getSetCategoryin classAbstractAlgorithm- Returns:
- Set of Category Enums that classify this algorithm.
-
isLayoutAlgorithm
public boolean isLayoutAlgorithm()Description copied from interface:AlgorithmA LayoutAlgorithm should return true. All other types of algorithms should return false.- Specified by:
isLayoutAlgorithmin interfaceAlgorithm- Overrides:
isLayoutAlgorithmin classAbstractAlgorithm- Returns:
-