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.OrthogonalAssembly: yWorks.yFilesNET.Algorithms (in yWorks.yFilesNET.Algorithms.dll) Version: 4.1.0.1 (4.1.0.1)
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
yWorks.yFiles.Layout..::..AbstractLayoutStage
yWorks.yFiles.Layout..::..PartitionLayouter
yWorks.yFiles.Layout.Orthogonal..::..CompactOrthogonalLayouter