This class represents a partial layouter.

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


public class PartialLayouter : AbstractLayoutStage
Visual Basic
Public Class PartialLayouter _ Inherits AbstractLayoutStage


This class represents a partial layouter. A partial layouter is a layout algorithm that changes the coordinates for a given set of graph elements (called partial elements). The location or size of the remaining elements (called fixed elements) is not allowed to be changed. The layout algorithm tries to place the partial elements such that the resulting drawing (including the fixed elements) has a good quality with respect to common graph drawing aesthetics.

This layouter can be applied to plain graphs as well as to grouped graphs. Note: when a partial node should be placed inside a fixed group node, it is important that there is enough free space inside the group. Otherwise, there may be overlapping node elements.

The layouter handles each selected graph element as partial element. Therefore it looks up the data provider keys PartialNodesDpKey and PartialEdgesDpKey . Partial node elements can be assigned to so called subgraph components. During the layout process each subgraph induced by the nodes of a component is first laid out using the specified core layouter CoreLayouter . Then, the different components are placed one-by-one onto the drawing area such that the number of overlaps among graph elements is small. The user can specify different objectives for finding 'good' positions for subgraph components ( PositioningStrategy ), e.g., Barycenter specifies that the component should be placed close to the barycenter of its graph neighbors and FromSketch specifies that the component should be placed close to its original position.

Method ComponentAssignmentStrategy allows to specify the strategy that is used to assign partial nodes to subgraph components. Possible values are Clustering , Connected , Single and Customized . The last value allows to use a customized component assignment. Note: nodes of a component cannot be assigned to different group nodes.

Furthermore, the user can specify the edge routing strategy (method EdgeRoutingStrategy ) that is used for routing partial edges and edges between different subgraph components (so-called inter-edges). Possible values are Organic , Orthogonal , Straightline , Octilinear and Automatic .

Inheritance Hierarchy


See Also