This class is a variant of the classic HierarchicLayouter implementation.

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

Syntax

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

Remarks

This class is a variant of the classic HierarchicLayouter implementation. It serves as a facade to HierarchicLayouter .

Instances can be used to simply create hierarchic layouts from scratch or add new elements to the existing sketch drawing incrementally.
In order to add elements incrementally to the current sketch or let the algorithm optimize certain elements in the current sketch, set its mode to Incremental and add a IDataProvider (e.g. use CreateHashedDataMap()()()() ) using the IncrementalHintsDpKey DataProvider key to the graph and associate the marks obtained from the IIncrementalHintsFactory with the elements to be added incrementally.

Many settings of the layout can be controlled using the EdgeLayoutDescriptor and NodeLayoutDescriptor instances. The ones that are used during the layout run can be obtained from EdgeLayoutDescriptor and NodeLayoutDescriptor respectively.
If at the time of the invocation DataProvider instances are bound to the graph using either the EdgeLayoutDescriptorDpKey or NodeLayoutDescriptorDpKey keys, they will be wrapped and whenever they do not provide values the ones set in this instance will be used as fall-back values.

Here is a sample layout output:

The following example shows the result of an incremental layout with lots of port constraints (For clarity colored layers have been added to the diagram):

The last example shows the result of a layout run that considered swim lanes. Nodes with the same label have been placed into the same swim lane. Swim lanes have been ordered in ascending order of the label names. (For clarity lines have been added to the diagram that depict the bounds of the swim lanes):

Inheritance Hierarchy

System..::..Object
  yWorks.yFiles.Layout..::..CanonicMultiStageLayouter
    yWorks.yFiles.Layout.Hierarchic..::..IncrementalHierarchicLayouter

See Also