This class can be used to create hierarchical layouts of graphs.
Namespace: yWorks.yFiles.Layout.Hierarchic.IncrementalAssembly: yWorks.yFilesSilverlight.Algorithms (in yWorks.yFilesSilverlight.Algorithms.dll) Version: 2.1.0.2
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 .
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
yWorks.yFiles.Layout..::..CanonicMultiStageLayouter
yWorks.yFiles.Layout.Hierarchic.Incremental..::..HierarchicLayouter