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 TypeMethodDescriptionvoidaddAssignedNode(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.voidClears theMapthat stores the layer assignments.Returns aMapthat stores the assignment of layers toNodes.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 ofNodes for which to find the root elements.- Returns:
- the list of root elements
-
getAssignedNodes
Returns aMapthat stores the assignment of layers toNodes.- Returns:
- A
Mapthat stores the assignment of layers toNodes.
-
addAssignedNode
public void addAssignedNode(org.eclipse.gef.graph.Node node, int layer) Assigns the given layer to the givenNode.- Parameters:
node- TheNodeto which a layer is assigned.layer- The layer that is assigned to thatNode.
-
clearAssignedNodes
public void clearAssignedNodes()Clears theMapthat stores the layer assignments. -
calculateLayers
public List<List<SugiyamaLayoutAlgorithm.NodeWrapper>> calculateLayers(List<org.eclipse.gef.graph.Node> nodeLayouts) Description copied from interface:SugiyamaLayoutAlgorithm.LayerProviderCreating layers of the nodes and makes it possible to assign layers to those nodes.- Specified by:
calculateLayersin 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.NodeWrappers
-