Assembly: yWorks.yFilesSilverlight.Algorithms (in yWorks.yFilesSilverlight.Algorithms.dll) Version: 22.214.171.124
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 .