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

com.yworks.yfiles.layout.hierarchic.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 com.yworks.yfiles.layout.hierarchic.HierarchicLayouter and com.yworks.yfiles.layout.hierarchic.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 FLEX Developer's Guide (Analysis and Layout Part) section on the hierarchical layout style.



Interfaces
 InterfaceDescription
 ConstraintLayerer_ConstraintFactory Interface specification for classes that can create suitable constraints for a com.yworks.yfiles.layout.hierarchic.ConstraintLayerer instance.
 Drawer Interface for the third phase of the Sugiyama algorithm.
 LayerSequencer Classes implementing this interface calculate the order of nodes within the different layers that the graph has been partitioned into.
 MementoSupport This interface is a Cookie for the HierarchicLayouter's memento support.
 OldLayerer This is the interface to the node layering phase of the hierarchic layouter.
Classes
 ClassDescription
 AbstractDrawer Abstract base class for the third phase of the Sugiyama algorithm.
 AlignmentDrawer This class can be used to simply wrap another Drawer implementation.
 AlignmentDrawer_BottomAlignmentDataProvider Simple utility class that can be registered with the graph to be laid out.
 AlignmentDrawer_LeftAlignmentDataProvider Simple utility class that can be registered with the graph to be laid out.
 AlignmentDrawer_RightAlignmentDataProvider Simple utility class that can be registered with the graph to be laid out.
 AlignmentDrawer_TopAlignmentDataProvider Simple utility class that can be registered with the graph to be laid out.
 AsIsLayerer This layerer implementation assigns layers by analyzing already existing node coordinates.
 BFSLayerer Layerer that uses a breadth first search to assign layers to the nodes.
 ClassicLayerSequencer This class implements the second phase of the Sugiyama algorithm.
 ConstraintFactoryCompanion 
 ConstraintLayerer Layerer implementation that uses relative and absolute layering constraints.
 DrawerKeys 
 EdgeReverser Helper that reverses edges that are oriented in the wrong direction.
 GivenLayersLayerer This layerer implementation layers the nodes by given layer IDs.
 HierarchicGroupLayouter This class is an extended variant of the HierarchicLayouter class.
 HierarchicLayouter This class implements a layout algorithm for drawing directed graphs in a hierarchic way.
 IncrementalHierarchicLayouter This class is a variant of the classic com.yworks.yfiles.layout.hierarchic.HierarchicLayouter implementation.
 LinearSegmentsDrawer This class implements the third phase of the Sugiyama layout algorithm.
 MedianDrawerWrapper This class can be used to improve the results of different drawers.
 MedianLinearSegmentDrawer This class implements the third phase of the hierarchic layout algorithm.
 MementoSupportCompanion 
 NodeLabelSpaceDrawer This class can be used to wrap com.yworks.yfiles.layout.hierarchic.Drawer implementations.
 PendularDrawer This class implements the third phase of the Sugiyama layout algorithm as described in "Visualisierungstechniken für den Compilerbau" (Georg Sander) mixed with techniques as described in "A technique for drawing directed graphs" (Gansner et al).
 PolylineDrawer This class is an implementation of the third phase of the Sugiyama algorithm, which represents edges by polylines.
 PortAssignment This class assigns port coordinates to the edges of a graph.
 SimplexDrawer Drawer based on rank-assignment.
 TopologicalLayerer This class implements the first phase of the Sugiyama algorithm.
 TreeDrawer This class implements the third phase of the hierarchic layout algorithm for trees.
 TreeDrawer_HierarchicTreePlacer places nodes in their given layers (does not change the y coordinates) for the TREE layout style of a HierarchicLayouter.
 WeightedLayerer This class implements the first phase of the hierarchic layouter.