# Package org.eclipse.gef.layout.algorithms

This package provides different implementations of concrete layout algorithms.

See: Description

Interface Summary
SugiyamaLayoutAlgorithm.CrossingReducer: An interface for heuristics that reduces edge crossings.
SugiyamaLayoutAlgorithm.LayerProvider: An interface for creating layers.

Class Summary
BoxLayoutAlgorithm: Layout algorithm that places all elements in one column or one row, depending on set orientation.
CompositeLayoutAlgorithm: The `CompositeLayoutAlgorithm` combines multiple `ILayoutAlgorithm`s.
GridLayoutAlgorithm: The `GridLayoutAlgorithm` lays out nodes in a grid.
HorizontalShiftAlgorithm: This layout shifts overlapping nodes to the right.
RadialLayoutAlgorithm: This layout will take the given entities, apply a tree layout to them, and then display the tree in a circular fashion with the roots in the center.
SpaceTreeLayoutAlgorithm: Layout algorithm implementing SpaceTree.
SpringLayoutAlgorithm: The SpringLayoutAlgorithm has its own data repository and relation repository.
SugiyamaLayoutAlgorithm: The SugiyamaLayoutAlgorithm class implements an algorithm to arrange a directed graph in a layered tree-like layout.
SugiyamaLayoutAlgorithm.BarycentricCrossingReducer
SugiyamaLayoutAlgorithm.DFSLayerProvider: Processing the nodes based on depth first search and creating a list of layers
SugiyamaLayoutAlgorithm.GreedyCrossingReducer: Implemented the CrossingReducer interface.
SugiyamaLayoutAlgorithm.NodeWrapper: Structure to store nodes and their positions in the layers.
SugiyamaLayoutAlgorithm.SimpleLayerProvider
SugiyamaLayoutAlgorithm.SplitCrossingReducer: Implements the CrossingReducer interface.
TreeLayoutAlgorithm: The TreeLayoutAlgorithm class implements a simple algorithm to arrange graph nodes in a layered tree-like layout.
TreeLayoutHelper: A helper class for layout algorithms that are based on tree structure.
TreeLayoutHelper.TreeListener: A superclass for listeners that can be added to this observer to get notification whenever the tree structure changes.
TreeLayoutHelper.TreeNode: Represents a node in a tree structure and stores all information related to it.
TreeLayoutHelper.TreeNodeFactory: `TreeLayoutObserver` uses instance of this class to create instances of `TreeLayoutHelper.TreeNode`.

Enum Summary
SugiyamaLayoutAlgorithm.Direction: Specifies the direction for the `SugiyamaLayoutAlgorithm`.

## Package org.eclipse.gef.layout.algorithms Description

This package provides different implementations of concrete layout algorithms. There are a couple of simple algorithms that arrange nodes in a grid (`GridLayoutAlgorithm`), a single column or row ( `BoxLayoutAlgorithm`), or which simply prevent overlapping of nodes ( `HorizontalShiftAlgorithm`).