Class SugiyamaLayoutAlgorithm.DFSLayerProvider
java.lang.Object
org.eclipse.gef.layout.algorithms.SugiyamaLayoutAlgorithm.DFSLayerProvider
- All Implemented Interfaces:
SugiyamaLayoutAlgorithm.LayerProvider
- Enclosing class:
- SugiyamaLayoutAlgorithm
public static class SugiyamaLayoutAlgorithm.DFSLayerProvider
extends Object
implements SugiyamaLayoutAlgorithm.LayerProvider
Processing the nodes based on depth first search and creating a list of
layers
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAssignedNode
(org.eclipse.gef.graph.Node node, int layer) Assigns the given layer to the givenNode
.calculateLayers
(List<org.eclipse.gef.graph.Node> nodeLayouts) Creating layers of the nodes and makes it possible to assign layers to those nodes.void
Clears theMap
that stores the layer assignments.Returns aMap
that stores the assignment of layers toNode
s.ArrayList<org.eclipse.gef.graph.Node>
Finds the root elements in the list of nodes based on their connections.
-
Constructor Details
-
DFSLayerProvider
public DFSLayerProvider()
-
-
Method Details
-
getRoots
Finds the root elements in the list of nodes based on their connections.- Parameters:
nodes
- The list ofNode
s for which to find the root elements.- Returns:
- the list of root elements
-
getAssignedNodes
Returns aMap
that stores the assignment of layers toNode
s.- Returns:
- A
Map
that stores the assignment of layers toNode
s.
-
addAssignedNode
public void addAssignedNode(org.eclipse.gef.graph.Node node, int layer) Assigns the given layer to the givenNode
.- Parameters:
node
- TheNode
to which a layer is assigned.layer
- The layer that is assigned to thatNode
.
-
clearAssignedNodes
public void clearAssignedNodes()Clears theMap
that stores the layer assignments. -
calculateLayers
public List<List<SugiyamaLayoutAlgorithm.NodeWrapper>> calculateLayers(List<org.eclipse.gef.graph.Node> nodeLayouts) Description copied from interface:SugiyamaLayoutAlgorithm.LayerProvider
Creating layers of the nodes and makes it possible to assign layers to those nodes.- Specified by:
calculateLayers
in interfaceSugiyamaLayoutAlgorithm.LayerProvider
- Parameters:
nodeLayouts
- List of all the nodes that needs to be organized- Returns:
- a list of layers for the given nodes, represented each as a
list of
SugiyamaLayoutAlgorithm.NodeWrapper
s
-