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.
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.
Determines the main layout orientation. The algorithm tries to arrange nodes in such a way that all edges point in the main layout direction.
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.
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:
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.
If enabled, helical arrangement of chains of nodes are avoided.
If enabled, the algorithm tries to align degree-one nodes having the same neighbour.
If enabled, the overall edge lengths will be reduced by a postprocessing step.
Options in this tab determine the edge labeling strategy used by this layouter.
Determines which positions will be available for the edge labels.
Determines whether node labels should be considered in the layout process.