Download
as PDF

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 necessary to distinguish "directed" and "undirected" edges 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.

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.