This class is a variant of OrthogonalLayouter that can route edges in a way that they point to a main layout direction.

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

Syntax

C#
public class DirectedOrthogonalLayouter : CanonicMultiStageLayouter
Visual Basic
Public Class DirectedOrthogonalLayouter _ Inherits CanonicMultiStageLayouter

Remarks

This class is a variant of OrthogonalLayouter that can route edges in a way that they point to a main layout direction. Also, this class can route edges that connect to the same node in a shared bus-structure. A typical use case for this layout algorithm are UML class diagrams that contain some relationships like generalization or realization which are best expressed by upward-pointing edges.

Directed edges are marked by a boolean data provider that is registered with the key DirectedEdgeDpKey to the input graph. Edge groups at a common node can be specified by registering data providers with the keys SourceGroupIdDpKey and TargetGroupIdDpKey .

Like OrthogonalLayouter this layout algorithm can consider edge label data when laying out a graph. That means that the layout of edge labels will be part of the resulting layout and the layout of nodes and edges is chosen in such a way that the edge labels do not conflict with the rest of the layout. See classes LabelLayoutData , LabelLayoutKeys , and LabelLayoutTranslator on how to setup the integrated edge label layout feature.

Here is an sample output of the layout algorithm. Note that all edges painted in blue are marked as directed edges. Also, the directed edges at each node have been put into the same edge group.

Inheritance Hierarchy

System..::..Object
  yWorks.yFiles.Layout..::..CanonicMultiStageLayouter
    yWorks.yFiles.Layout.Orthogonal..::..DirectedOrthogonalLayouter

See Also