This class is a variant of OrthogonalLayouter that tries to arrange nodes in a more compact way, even allowing to specify a desired aspect ratio for the bounds of the calculated layout.

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

Syntax

C#
public class CompactOrthogonalLayouter : PartitionLayouter
Visual Basic
Public Class CompactOrthogonalLayouter _ Inherits PartitionLayouter

Remarks

This class is a variant of OrthogonalLayouter that tries to arrange nodes in a more compact way, even allowing to specify a desired aspect ratio for the bounds of the calculated layout. This is especially important if you want to print the layout on a paper with predefined size. As a disadvantage, this algorithm will usually produce less elegant edge routes than OrthogonalLayouter does.

The algorithm is realized as a PartitionLayouter , that uses PartitionLayouter..::..EdgeBetweennessPartitionFinder to partition the graph, OrthogonalLayouter to layout the graph partitions, PartitionLayouter..::..ComponentPartitionPlacer to place the partitions, and finally PartitionLayouter..::..ChannelInterEdgeRouter to route the edges between partitions. Each of these strategies can be individually configured and/or replaced.

Here is a sample output of the layouter with aspect ratio of the resulting layout bounds set to 1.

Inheritance Hierarchy

System..::..Object
  yWorks.yFiles.Layout..::..AbstractLayoutStage
    yWorks.yFiles.Layout..::..PartitionLayouter
      yWorks.yFiles.Layout.Orthogonal..::..CompactOrthogonalLayouter

See Also