documentationfor yFiles for HTML 2.6

ChannelEdgeRouter

This edge routing algorithm generates orthogonal routes for the edges of the graph.

Inheritance Hierarchy
LayoutStageBase
ChannelEdgeRouter
Implemented Interfaces

Remarks

Compared to the routing algorithm implemented by class EdgeRouter, this implementation is usually faster but supports less constraints and, by default, may produce node-edge overlaps.

Layout Style

Edges are routed in an orthogonal fashion, i.e., edge paths consist only of vertical and horizontal segments.

During the routing process, the positions of the nodes are considered to be fixed and the routing algorithm will not modify their locations or their sizes in any way.

The edge routing algorithm can be applied wherever it is required to route the edges as orthogonal segments, while keeping the positions of the nodes in the diagram fixed. Some potential applications include electric circuit design, floor planning, UML class diagrams/inheritance diagrams and navigation maps.

Sample output of the orthogonal edge routing algorithm with default settings

Concept

This edge routing algorithm combines two strategic steps of edge routing and executes them one after the other. The first strategy is called path finder strategy and will route the edges, potentially with edge overlaps. The second strategy will then split overlapping edge segments inside their channels and distribute them according to the specific distribution strategy.

The default path finding strategy is OrthogonalPatternEdgeRouter. The default edge distribution strategy is OrthogonalSegmentDistributionStage.

Features

This class itself has no special routing options except from specifying the path finding and edge distribution strategy. Most of the features like minimum element distances, grid spacing and path restrictions have to be set on the used instances for the two routing steps.

For incremental edge routing, IDataProvider key AFFECTED_EDGES_DP_KEY has to be registered with the graph to mark all edges that should be routed by the algorithm. The routes of the other edges remain unchanged. If there is no such key registered, the algorithm routes all edges.

Default Values of Properties

edgeDistributionStrategyOrthogonalSegmentDistributionStage
pathFinderStrategyOrthogonalPatternEdgeRouter
routingPolicyALWAYSThe edges are routed, ignoring the existing sketch.

Type Details

yfiles module
router-other
yfiles-umd modules
layout-familytree, layout-multipage, layout-orthogonal-compact, layout, router-bus, router-other
Legacy UMD name
yfiles.router.ChannelEdgeRouter

See Also

When exchanging only one of the strategies, make sure, that their algorithms will use the same (sub)set of graph objects. The strategies bound to this routing algorithm, by default, will use key AFFECTED_EDGES_DP_KEY to determine the affected edges.

Constructors

Properties

Methods

Constants