This class represents an orthogonal edge router.

Namespace: yWorks.yFiles.Layout.Router
Assembly: yWorks.yFilesSilverlight.Algorithms (in yWorks.yFilesSilverlight.Algorithms.dll) Version:


public class OrthogonalPatternEdgeRouter : AbstractLayoutStage
Visual Basic
Public Class OrthogonalPatternEdgeRouter _ Inherits AbstractLayoutStage


This class represents an orthogonal edge router. An orthogonal edge router is a layout algorithm that changes the coordinates of the edge paths in a way that the resulting layout of the edges is made up of vertical and horizontal segments only. The router does not change the location or the size of the nodes in a diagram in any way.

The edge router will not try to find a perfect route from source to edge like OrthogonalEdgeRouter does, but chooses the best path out of several fixed paths it can choose from. The best path out of these possible paths is determined by its cost. One can take influence on the costs by setting several cost factors. The distance, an edge will have from its source and target node is determined by setMinimumDistance(double).

The edges whose paths are to be routed can be defined using method setSphereOfAction(byte) or binding a data provider to the input graph with key AffectedEdgesDpKey . Note: If the DataProvider is registered on the graph, it will determine all affected edges, regardless of the set sphere of action. So setting a sphere of action has lower priority than adding the specific DataProvider directly.

By default all edges are routed according to their best paths and afterwards overlapping edges will be redistributed. This can be prevented by calling method setDistributeEdgesEnabled(boolean).

ChannelEdgeRouter does also support grid routing setGridRoutingEnabled(boolean).Therefore the user can define the grid origin setGridOrigin(y.geom.YPoint) and the grid width setGridWidth(double).

This edge router will obey strong and weak port constraints. It expects the port constraints to be bound to the input graph by the data provider keys SourcePortConstraintDpKey and TargetPortConstraintDpKey . Furthermore, this class supports the more advanced port constraint concept of PortCandidate s. It expects collections of port candidates to be bound to the input graph by the data provider keys SourcePcListDpKey and TargetPcListDpKey .

Inheritance Hierarchy


See Also