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.