Orthogonal Layout (Compact)

This layouting algorithm is a specialized variant of the Orthogonal
It uses a divide-and-conquer approach to achieve compact orthogonal layouts
that try to respect a specified aspect ratio.
The basic idea is to calculate graph partitions which can be laid out
according to preferred aspect ratio.

Orthogonal Layout Style

Node sizes will not be changed by this layouter.
The drawing will contain very few bends only.
Normal + Tree
Same as Normal but larger subtrees are layouted using a specialized
tree layouting algorithm which is better suited for tree like structures than
the original orthogonal layout style.
Mixed (Size Fixed)
Like Mixed but maintains original node sizes.
Node Boxes (Size Fixed)
Like Node Boxes but maintains original node sizes.

Subgraph Placement Strategy

Multiple Rows
Components are arranged in rows.
Compact Rectangle
Rectangular component arrangement where gaps within components are used to place
other components.

Use Aspect Ratio of View

Specifies that the current aspect ratio of the editor’s viewer component
should be used as preferred aspect ratio for layout calculation.

Aspect Ratio (Width/Height)

Specifies the preferred aspect ratio for the calculated layout.

Grid Spacing

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.

Path Finding Algorithm

High Quality Edge Routing
Computes edge paths with minimal number of bends.
High Performance Edge Routing
Finds edge paths using a pattern-based approach, which takes less time than
the high-quality algorithm.

Route All Edges

Specifies whether the algorithm should reroute all edges after the
partitions have been laid out or only edges connecting nodes in separate

Bend Cost

Sets the cost for each bend of a routed path.
Higher values will lead to edge paths with lesser bends.

Node Overlap Cost

Sets the cost for an edge/node overlap.
Higher values will reduce the likelihood of such overlaps.

Minimum Edge Distance

Determines the distance between any two edge segments. The edge router
adheres to the set value as possible, but reduces the distance value
selectively, i.e. only for a currently processed edge, when there
is too little space to find a path with the proper value.

Edge Crossing Cost

Sets the cost for each edge crossing of a routed path.
A cost of n means that a path rather changes
direction n times than crossing the path of an edge.
Setting a higher value will activate global crossing minimization.
A good trade-off between the number of direction changes and few crossings
of a path is achieved by values between 1 and 3.

Space Driven vs. Center Driven Search

Determines the ratio between two complementary weighting strategies when
looking for an edge path, namely “center driven” and “space driven”
The ratio is expressed with a value between 0.0 and
Values closer to 0.0 lead to edge paths that are more
distributed over the available space.
Values closer to 1.0 give more emphasis to edge paths closer
to an edge’s center.