This layouting algorithm is a specialized variant of the Orthogonal Layout method. 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
- Normal
- 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 partitions.
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” weighting. The ratio is expressed with a value
between 0.0
and 1.0
. 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.