Provides hierarchical layout style algorithms which aim to highlight the main direction or flow within a directed graph.

Classes

  ClassDescription
Public classAbstractDrawer
Abstract base class for the third phase of the Sugiyama algorithm.
Public classAlignmentDrawer
This class can be used to simply wrap another Drawer implementation.
Public classAlignmentDrawer..::..BottomAlignmentDataProvider
Simple utility class that can be registered with the graph to be laid out.
Public classAlignmentDrawer..::..LeftAlignmentDataProvider
Simple utility class that can be registered with the graph to be laid out.
Public classAlignmentDrawer..::..RightAlignmentDataProvider
Simple utility class that can be registered with the graph to be laid out.
Public classAlignmentDrawer..::..TopAlignmentDataProvider
Simple utility class that can be registered with the graph to be laid out.
Public classAsIsLayerer
This layerer implementation assigns layers by analyzing already existing node coordinates.
Public classBFSLayerer
Layerer that uses a breadth first search to assign layers to the nodes.
Public classClassicLayerSequencer
This class implements the second phase of the Sugiyama algorithm.
Public classConstraintLayerer
Layerer implementation that uses relative and absolute layering constraints.
Public classDrawerKeys
Public classEdgeReverser
Helper that reverses edges that are oriented in the wrong direction.
Public classGivenLayersLayerer
This layerer implementation layers the nodes by given layer IDs.
Public classHierarchicGroupLayouter
This class is an extended variant of the HierarchicLayouter class.
Public classHierarchicLayouter
This class implements a layout algorithm for drawing directed graphs in a hierarchic way.
Public classIncrementalHierarchicLayouter
This class is a variant of the classic HierarchicLayouter implementation.
Public classLeanLayersLayerer
Still experimental.
Public classLinearSegmentsDrawer
This class implements the third phase of the Sugiyama layout algorithm.
Public classMedianDrawerWrapper
This class can be used to improve the results of different drawers.
Public classMedianLinearSegmentDrawer
This class implements the third phase of the hierarchic layout algorithm.
Public classNodeLabelSpaceDrawer
This class can be used to wrap IDrawer implementations.
Public classPendularDrawer
This class implements the third phase of the Sugiyama layout algorithm as described in "Visualisierungstechniken fuer den Compilerbau" (Georg Sander) mixed with techniques as described in "A technique for drawing directed graphs" (Gansner et al).
Public classPolylineDrawer
This class is an implementation of the third phase of the Sugiyama algorithm, which represents edges by polylines.
Public classPortAssignment
This class assigns port coordinates to the edges of a graph.
Public classSimplexDrawer
Drawer based on rank-assignment.
Public classTopologicalLayerer
This class implements the first phase of the Sugiyama algorithm.
Public classTreeDrawer
This class implements the third phase of the hierarchic layout algorithm for trees.
Public classTreeDrawer..::..HierarchicTreePlacer
places nodes in their given layers (does not change the y coordinates) for the TREE layout style of a HierarchicLayouter.
Public classWeightedLayerer
This class implements the first phase of the hierarchic layouter.

Interfaces

  InterfaceDescription
Public interfaceConstraintLayerer..::..IConstraintFactory
Interface specification for classes that can create suitable constraints for a ConstraintLayerer instance.
Public interfaceIDrawer
Interface for the third phase of the Sugiyama algorithm.
Public interfaceILayerer
This is the interface to the node layering phase of the hierarchic layouter.
Public interfaceILayerSequencer
Classes implementing this interface calculate the order of nodes within the different layers that the graph has been partitioned into.
Public interfaceIMementoSupport
This interface is a Cookie for the HierarchicLayouter's memento support.

Enumerations

  EnumerationDescription
Public enumerationAlgorithmPhase
Constant describing the first phase of the HierarchicLayouter algorithm.
Public enumerationComponentArrangementPolicy
Component arrangement constant that can be used in ComponentArrangementPolicy }.
Public enumerationGroupAlignmentPolicy
Group layering alignment strategy specifier.
Public enumerationLayeringStrategy
Layering strategy specifier.
Public enumerationLayoutMode
Layout mode constant that can be used in LayoutMode .
Public enumerationLayoutStyle
Layout style specifier.
Public enumerationRankingPolicy
Ranking policy specifier.
Public enumerationRoutingStyle
Edge routing style specifier.
Public enumerationWeightHeuristic
Weight assignment heuristic specifier.

Remarks

Provides hierarchical layout style algorithms which aim to highlight the main direction or flow within a directed graph.

IncrementalHierarchicLayouter , the main implementation for the hierarchical layout style, supports both complete re-layout of a given diagram as well as incremental layout where only a subset of a diagram should be rearranged.
Also, IncrementalHierarchicLayouter (IHL) supports layout of "flat" as well as grouped graphs, i.e., graphs where nodes are contained within other, so-called group nodes.

Note that HierarchicLayouter and HierarchicGroupLayouter are legacy layout algorithms for the hierarchical layout style. They are superseded by IHL, which adds additional features like sophisticated swimlane layout support or incremental layout support.

Related Documentation

See the description in the yFiles for Java Developer's Guide section on the hierarchical layout style.