Class GridLayouterAlgorithm
java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.layouters.grid.GridLayouterAlgorithm
- All Implemented Interfaces:
UndoableEdit
,Algorithm
public class GridLayouterAlgorithm extends AbstractAlgorithm
Gridlayouter algorithm: Performs a layout where every node is placed on a
position of a grid.
- Author:
- Falk Schreiber, Christian Klukas
-
Constructor Summary
Constructors Constructor Description GridLayouterAlgorithm()
-
Method Summary
Modifier and Type Method Description void
check()
Checks parametersvoid
execute()
Computes node coordinates and sets these coordinatesString
getCategory()
Returns the category an algorithm should assigned to.String
getName()
Returns the name of the algorithm.Parameter[]
getParameters()
ParametersSet<Category>
getSetCategory()
Returns a set of categories to classify this algorithm .boolean
isLayoutAlgorithm()
A LayoutAlgorithm should return true.static void
layoutOnGrid(Collection<Node> workNodes, double widthHeightRatio, double xDistance, double yDistance)
static void
layoutOnGrid(Collection<Node> workNodes, double widthHeightRatio, double xDistance, double yDistance, int nodesOnLine, Point location)
void
setParameters(Parameter[] params)
Sets parametersMethods inherited from class org.graffiti.plugin.algorithm.AbstractAlgorithm
addEdit, attach, 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
-
GridLayouterAlgorithm
public GridLayouterAlgorithm()
-
-
Method Details
-
getName
Returns the name of the algorithm.- Returns:
- the name
-
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.
-
check
Checks parameters- Specified by:
check
in interfaceAlgorithm
- Overrides:
check
in classAbstractAlgorithm
- Throws:
PreconditionException
- if xDistance, yDistance or widthHeightRatio is smaller than 0 or the graph does not exists
-
execute
public void execute()Computes node coordinates and sets these coordinates -
layoutOnGrid
public static void layoutOnGrid(Collection<Node> workNodes, double widthHeightRatio, double xDistance, double yDistance) -
layoutOnGrid
public static void layoutOnGrid(Collection<Node> workNodes, double widthHeightRatio, double xDistance, double yDistance, int nodesOnLine, Point location) -
getParameters
Parameters- Specified by:
getParameters
in interfaceAlgorithm
- Overrides:
getParameters
in classAbstractAlgorithm
- Returns:
- parameters
-
setParameters
Sets parameters- Specified by:
setParameters
in interfaceAlgorithm
- Overrides:
setParameters
in classAbstractAlgorithm
- Parameters:
params
-
-
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:
-