Assembly: yWorks.yFilesSilverlight.Algorithms (in yWorks.yFilesSilverlight.Algorithms.dll) Version: 2.1.0.2
Syntax
| C# |
|---|
public class IncrementalHierarchicLayouter : CanonicMultiStageLayouter |
| Visual Basic |
|---|
Public Class IncrementalHierarchicLayouter _ Inherits CanonicMultiStageLayouter |
Remarks
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
yWorks.yFiles.Layout..::..CanonicMultiStageLayouter
yWorks.yFiles.Layout.Hierarchic..::..IncrementalHierarchicLayouter