Hierarchic swimlane layout is a specialized variant of incremental hierarchic layout in which it is possible for a user to define placement constraints for nodes.
In yEd, these constraints can be created using dedicated group node types, which are available in the palette section Swimlane Nodes and Table Nodes. These group nodes display columns, rows, or both. When calculating a hierarchic swimlane layout, these columns and rows will keep their relative positions and the group's content nodes will stay in their respective column and/or row albeit the nodes within a given column or row may be rearranged as the algorithm deems appropriate.
Important Notice
Only top level swimlane and table nodes will be used to create placement
constraints. Creating a swimlane or table node as the child node of another
group node (or another swimlane or table node) will result in that
node to be treated as a normal group node, i.e. the node's columns and/or
rows are ignored in this case and will not induce further placement
constraints.
Swimlane and table node are placed in special way by the swimlane layout algorithm. For top to bottom and bottom to top oriented layouts (see 'Orientation' below), swimlane and table nodes are placed in a horizontal line from left to right with all swimlane or table nodes having the same height. Nodes that do not belong to a swimlane or table node are placed below the leftmost swimlane or table node. For left to right or right to left oriented layouts (again see 'Orientation' below), swimlane and table nodes are placed in a vertical line from top to bottom with all swimlane or table nodes having the same width. Nodes that do not belong to a swimlane or table node are placed to the right of the topmost swimlane or table node.
If enabled, the selected nodes or edges will be automatically integrated into the current layout. The existing layout will only be slightly adjusted.
If enabled, the current drawing will be interpreted as a sketch of the resulting hierarchical layout. Note that the 'From Sketch' settings located in the 'Layers' tab can be used to fine-tune sketch parsing.
Determines the main layout orientation. The algorithm tries to arrange nodes in such a way that all edges point in the main layout direction.
This option cannot be used for swimlane layout.
Determines whether possible symmetries in the placement should be detected and obeyed. This option increases computation time.
Specifies a preferred time limit (in seconds) for the layout algorithm. Note that restricting the maximal duration may reduce the overall layout quality. Furthermore, the actual runtime may exceed the maximal duration because the layout algorithm still has to find a valid solution.
Determines the minimal distance between adjacent nodes that reside in the same layer.
Determines the distance between horizontal edge segments and nodes.
Determines the distance between adjacent pairs of horizontal edge segments.
Determines the minimal distance between nodes that reside in adjacent layers.
If enabled, all edges that do not point in the main layout direction will be routed as backloops.
If enabled, the layout algorithm will group edges at either source or target node to create bus-style edge path routings that will result in a more space-efficient layout. Edges are grouped in such a way that no ambiguous paths are created.
Determines the minimal length of the first edge segment.
Determines the minimal length of the last edge segment.
Determines the minimal length of an edge.
Determines the distance between adjacent pairs of horizontal edge segments.
Determines the minimal slope of the first and last edge segments with polyline edges. This feature is only available for the polyline routing style
If enabled, edges will be allowed to connect to all sides of a node if the number of edge crossings can be reduced this way.
The algorithm puts each node in a horizontal layer together with other nodes. The number of the layer where a node resides is also called node rank.
Determines the alignment of nodes within one layer.
These settings influence the strategy used to assign nodes to certain layers when the options 'Use Drawing As Sketch', 'Selected Elements Incrementally' or 'Rank Assignment - From Sketch' are set. The standard strategy assigns two nodes to the same layer if there exists a horizontal line that crosses through both of their bounding boxes.
Artificially scales the nodes by the given factor before the rank assignment is performed. The bigger the value to more likely that nodes will be assigned to the same layer.
Artificially enlarges the nodes by the given value before the rank assignment is performed. The bigger the value to more likely that nodes will be assigned to the same layer.
Nodes smaller than the given value will be enlarged to match the given size before the rank assignment is performed. The bigger the value to more likely that nodes will be assigned to the same layer.
Nodes larger than the given value will be shrinked to match the given size before the rank assignment is performed. The smaller the value to more likely that nodes will be assigned to different layers.
Options in this tab determine the labeling strategy used by this layouter.
Determines whether node labels should be considered in the layout process.
Determines which positions will be available for the edge labels.
This tab can be used to configure the behavior of the layout algorithm if used on nested/grouped graphs.
Determines the basic policy for the layout process.
Determines whether the number of layers shall be small.
Determines the layer for nodes that are adjacent to group nodes whose contents span multiple layers. If the nodes can be placed into more than one of these layers, then 'vertical alignment' determines their actual layer.
Determines the level of group node compactness.
This option cannot be used for swimlane layout.
This option cannot be used for swimlane layout.
This option cannot be used for swimlane layout.
This option specifies the minimum distance of nodes to the border of their swimlane or table cell.
This option determines whether swimlanes and table cells may be shrinked (if possible) in the layout process.