An abstract base class for layout algorithms that provides services to simplify and decompose the input graph before it is passed to the core layout routine itself.

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

Syntax

C#
public abstract class CanonicMultiStageLayouter : ILayouter
Visual Basic
Public MustInherit Class CanonicMultiStageLayouter _ Implements ILayouter

Remarks

An abstract base class for layout algorithms that provides services to simplify and decompose the input graph before it is passed to the core layout routine itself.

Subclass layout algorithms have to provide implementations for the abstract methods
DoLayoutCore(LayoutGraph)
and
CanLayoutCore(LayoutGraph) The maximal number of steps involved before and after the core layout will be invoked are summarized below.

  1. Copy the input graph
  2. Hide all but the induced subgraph
  3. Decompose the graph into it's connected components. On each component perform the steps 3-11
  4. Prepare for an orientation change
  5. Hide parallel edges
  6. Hide self-loops
  7. Invoke core layouter on simplified graph
  8. Unhide and route self-loops
  9. Unhide and route parallel edges
  10. Complete orientation change of layout
  11. Arrange connected components of the graph
  12. Unhide non-induced subgraph
  13. Assign label positions
  14. Copy layout information back to original input graph or pass out layout information separately
Each of the phases above can be subdued if necessary.

Inheritance Hierarchy

See Also