Package y25.layout

Extends layered graphs with layout information.


Interface Summary
EdgeLayout25D Provides 2.5D layout information for edges.
LayerEdgeLayout25D Provides 2.5D layout information for layer edges.
LayerLayout25D Provides 2.5D layout information for layers (graphs).
Layouter25D A general interface for algorithms that perform a layout process on a given layered layout graph.
LayoutStage25D A stage of a complex layout chain.
NodeLayout25D Provides 2.5D layout information for nodes.

Class Summary
AbstractLayoutStage25D Partial LayoutStage25D implementation that handles the core layouter part.
CentralizerLayouter25D A layouter that centers all layers and adjusts their bounding boxes.
CompositeLayouter25D A layouter that allows to express a layout operation as a chain of multiple layout stages.
FlatLayouter First flattens a LayeredLayoutGraph, then applies a 2D layouter to it, then unflattens it.
LayeredLayoutGraph Extends LayeredGraph with layout information.
Layouter25DAdapter Applies a 2D Layouter to all Graphs inside a LayeredLayoutGraph individually.

Package y25.layout Description

Extends layered graphs with layout information.

The main class of this package is LayeredLayoutGraph. See its documentation for a specification of what 'layout information' is composed of.

Simply put, layout information is the position and extent of the entities that compose the layered graph: layers, layer edges, nodes and edges. This information is stored inside


Once layout information is present for each entity, automatic layout processes can be applied to layered layout graphs. The base classs for all layouters is Layouter25D.

Sometimes, layout processes can become very complex. This complexity can be handled by splitting of the layout process into small logical units and setting up a layout chain, where each unit is appplied one after the other. The interfaces and classes CompositeLayouter25D, LayoutStage25D and AbstractLayoutStage25D simplify this process.

If an existing 2D layouter is to be apllied on each layer inside a layered layout graph individually, Layouter25DAdapter can be used to do this in a convenient way.

Finally, this package includes two very simple layouters: CentralizerLayouter25D and FlatLayouter.