Orthogonal Layout - UML Style

This layouting algorithm constitutes a specialization of the Orthogonal Layout method. The directed variant distinguishes between "directed" and "undirected" edges and tries to route edges in such a way, that all "directed" edges point in a main layout direction. Additionally, automatic edge grouping is supported.

Directed orthogonal layout is well-suited for arranging UML class diagrams.

Layout Tab

Grid

Defines the virtual grid spacing used by the layouter. Each node will be placed in such a way that its center point lies on a grid point. Edges will be routed in such a way that their segments lie on grid lines if the terminal nodes of the edges permit suitable port placements. Note that this option is only guaranteed to be obeyed for Normal layout style while being used as a hint only for the other styles.

Orientation

Determines the main layout orientation. The algorithm tries to arrange nodes in such a way that all edges point in the main layout direction.

Top to Bottom
The main layout orientation will be from top to bottom. Note that the documentation for the other layout options assumes that this default layout orientation is being used.
Left to Right
The main layout orientation will be from left to right.
Bottom to Top
The main layout orientation will be from bottom to top.
Right to Left
The main layout orientation will be from right to left.

Use Existing Drawing As Sketch

If enabled, the layouter will interpret the initial graph layout as a sketch of the resulting orthogonal layout. The layouter tries to "orthogonalize" the given sketch without making too much modifications in respect to the original drawing.

Identify Directed Edges

Strictly speaking, edges in a yFiles graph are always directed. Therefore additional information is neccessary to distinguish "directed" and "undirected" eges belonging to a given graph. The option Criteria specifies which characteristic trait of an edge provides that information. Edges satisfying the chosen criteria are considered "directed", all other edges are considered "undirected".

The following criteria may be used:

Line Color
Edges are classified as "directed"/"undirected" according to their line color.
Target Arrow
Edges are classified as "directed"/"undirected" according to their target arrow.
Line Type
Edges are classified as "directed"/"undirected" according to their line type.

Automatically group edges

If enabled, "directed" edges that share a common source or target node are considered an edge group. Grouped edges will be routed in bus-style, i.e. their paths will share a common edge segment.

Minimum First Segment Length

Determines the minimum length of the first edge segment.

Minimum Last Segment Length

Determines the minimum length of the last edge segment.

Minimum Segment Length

Determines the minimum length of an edge segment.

Align Degree-One Nodes

If enabled, the algorithm tries to align degree-one nodes having the same neighbour.

Maximum Duration

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.

Substructure Layout Tab

Subtree Layout Style

Specifies the tree layout style that defines the basic arrangement style for subtrees.

None
A tree layout style that defines that subtrees should not be handled specifically.
Layered
A tree layout style that arranges subtrees in a layered tree fashion with grouped edge routes.
Compact
A tree layout style that aims to create maximally compact layouts for the subtrees.

Subtree Orientation

Specifies the desired orientation for subtree layouts.

Same as Main Orientation
The subtree orientation is automatically set to the main layout orientation.
Top to Bottom
The layout orientation for subtrees is from top to bottom.
Bottom to Top
The layout orientation for subtrees is from bottom to top.
Left to Right
The layout orientation for subtrees is from left to right.
Right to Left
The layout orientation for subtrees is from right to left.

Minimum Tree Size

Specifies the minimum size (number of nodes) a subtree needs to have to be detected and explicitly handled as a tree substructure.

Chain Layout Style

Specifies the chain layout style that defines how chain substructures are arranged.

None
A chain layout style that defines that chains should not be handled specifically.
Wrapped - Nodes at Turns
A chain layout style that defines that chains are line/column-wrapped such that nodes form the turns/corners of the chain arrangement.
Wrapped - Bends at Turns
A chain layout style that defines that chains are line/column wrapped such that bends of the chain edges form the turns/corners of the chain arrangement.

Minimum Chain Size

Specifies the minimum size (number of nodes) a chain needs to have to be detected and handled as a chain substructure.

Cycle Layout Style

Specifies the cycle layout style that defines how cycle substructures are arranged.

None
A cycle layout style that defines that cycles should not be handled specifically.
Circular - Nodes at Corners
A cycle layout style that defines that cycle structures are arranged in a circular fashion such that nodes form the corners of the circular layout.
Circular - Bends at Corners
A cycle layout style that defines that cycle structures are arranged in a circular fashion such that bends of cycle edges form the corners of the circular layout.

Minimum Cycle Size

Specifies the minimum size (number of nodes) a cycle needs to have to be detected and explicitly handled as a cycle substructure.

Labeling Tab

Options in this tab determine the edge labeling strategy used by this layouter.

Edge Labeling

None
Automatic edge labeling is deactivated.
Integrated
Edge labels will be considered during the layout process. Nodes and edges will be arranged in such a way that there is enough space for the edge labels not to overlap.
Generic
Edge labels will be automatically placed after the layouter has placed the nodes and edges. Edge labels may overlap with other elements if there is not enough space to place the labels properly. The resulting graph layout remains compact.

Edge Label Model

Determines which positions will be available for the edge labels.

Best
The default. Chooses the model that fits the specified edge labeling strategy best.
As Is
Uses the individual label models that are currently set on the input graph. Individual models for edge labels can be changed in the edge or edge label property dialog.
Center Slider
A label model that allows labels to be placed somewhere on the corresponding edge path. This option is a good choice for Generic and Integrated edge labeling.
Side Slider
A label model that allows labels to be placed along both sides of the edge path. This option is a good choice for Generic edge labeling.
Free
A label model that allows labels to be placed anywhere. This model is a very good choice for Integrated edge labeling. It is not compatible with Generic edge labeling and should therefore not be used in that combination.

Consider Node Labels

Determines whether node labels should be considered in the layout process.