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 make it a perfect layouter for interactive or incremental scenarios where
Determines which layout algorithm will route the edges initially, before they are distributed in their channel.
Determines the set of edges that the router should process.
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, then all edge paths will be routed on grid lines from a predefined grid. If not set, then "free" routing will be applied to the edge paths.
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.
When using the high performance path finding strategy, one can define costs to influence which path patterns are chosen.
Defines the costs every bend of an edge will cause.
Defines the costs an edge crossing will cause.
Defines the costs an edge path will cause, that overlaps a node.