This is a versatile and powerful layout algorithm that can route the edges of a diagram using only vertical and horizontal line segments, while keeping the positions of the nodes in the diagram fixed. The routed edges will usually not cross through any nodes and not overlap any other edges.
The abilities of this router makes it a perfect layouter for interactive or incremental scenarios where
Determines the set of edges that the router should process.
Specifies which kind of monotonic path restrictions should be applied.
Specifies whether or not monotonic path restrictions should be enforced. Enabling this option guarantees monotonic edge paths even if this results in additional overlaps between edges and nodes.
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.
If set, a custom value for the minimum distance between any edge segment and any node side will be used. Otherwise, this distance will automatically be derived from the minimum distance between any two edge segments. Since this option can increase computation time, it is disabled by default.
Determines the distance between any edge segment and any node side. The edge router strictly adheres to the specified value. Note, that this value normally is being automatically derived unless you specifically set "Use Custom Minimum Distance Edge to Node."
If enabled, all edge paths will be routed on grid lines. The origin of the grid is (0, 0) and the spacing between grid lines is defined by the following setting.
Determines the spacing of the grid lines where all edge paths will be routed upon. Grid spacing plays the same role for routing on grid lines as minimum distance between any two edge segments does for "free" routing. The edge router adheres to the set value as possible, but reduces the spacing value selectively, i.e. only for a currently processed edge, when there is too little space to find a path with the proper value.
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.
The following options can be used to reduce the number of edge crossings generated by this edge router.
If set, the number of crossings between edges that connect at the same side of a node will be significantly reduced. Since this option has a positive effect on diagram "readability," it is enabled by default.
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
.
Whether or not to enable a further crossing minimization
optimization based on rerouting edges that cross many edges.
Activating this feature only makes sense if the global
crossing cost is set to a value greater an 0
.