This class can be used to create hierarchical layouts of graphs.

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

Syntax

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

Remarks

This class can be used to create hierarchical layouts of graphs. It has built-in support for incrementally adding elements to a previously calculated layout or optimizing existing elements of a previously calculated layout.

In order to customize this layout algorithm, modify the Layerer , Sequencer , PortAllocator , DrawingDistanceCalculator , and NodePlacer instances.

Use the IncrementalHintsDpKeyIDataProvider key to associate incremental hints with the elements in the graph.
Incremental Hints can be obtained from the IncrementalHintsFactory . They are used by the algorithm to determine which elements in the graph have to be inserted/updated incrementally.

This layout algorithm respects PortConstraint s, that are bound to the graph using the SourcePortConstraintDpKey and TargetPortConstraintDpKey as well as SourceGroupIdDpKey and TargetGroupIdDpKey DataProviders that can be used to create bus-like edge routings.

Fine-grained configuration of the layout style is supported via DataProviders that are bound to the graph using the EdgeLayoutDescriptorDpKey and NodeLayoutDescriptorDpKey DataProvider keys.
They can be used to associate NodeLayoutDescriptor and EdgeLayoutDescriptor instances with each element in the graph. These may be shared.

This algorithm sets a LabelLayoutTranslator instance as the current LabelLayouter and configures it so that the node labels are passed to by setting TranslateNodeLabels to trueTruetruetrue (True in Visual Basic).
In order to enable integrated edge labeling of this algorithm, make sure LabelLayoutTranslator is registered and edge labels are being translated and written back after the layout.

This algorithm also support swimlane style drawings. This can be enabled by associating SwimLaneDescriptor instances with the nodes in the graph using the SwimlaneDescriptorDpKey DataProvider key.

Moreover, this algorithm supports sequence constraints. These constraints can be specified using a ISequenceConstraintFactory .

Inheritance Hierarchy

System..::..Object
  yWorks.yFiles.Layout..::..CanonicMultiStageLayouter
    yWorks.yFiles.Layout.Hierarchic.Incremental..::..HierarchicLayouter

See Also