Class
SugiyamaLayout

The Sugiyama or layered layout implementation.

This algorithm has the following features;

  • nodes are placed on layers
  • crossings minimization: edge crossings are minimized
  • minimum separation: on each layer, neighboring nodes are separated by at least a certain distance
  • balance: parents are placed at the barycenter of their children
  • proximity: neighboring nodes in the immediately upper layer are placed nearby

For additional material on this algorithm, see:

Definition

Namespace:Telerik.Windows.Diagrams.Core

Assembly:Telerik.Windows.Diagrams.Core.dll

Syntax:

cs-api-definition
public class SugiyamaLayout : LayoutBase<SugiyamaData, object>

Inheritance: objectLayoutBase<SugiyamaData, object>SugiyamaLayout

Inherited Members LayoutBase<SugiyamaData, object>.BuildContainerHierarchy(IGraph)LayoutBase<SugiyamaData, object>.Layout(IGraph, object)LayoutBase<SugiyamaData, object>.Layout(ContainerGraph<SugiyamaData, object>, object)LayoutBase<SugiyamaData, object>.GridLayoutComponents(IEnumerable<Graph<SugiyamaData, object>>, double, Size, Size)LayoutBase<SugiyamaData, object>.IterateContainerLayout(Node<ContainerGraph<SugiyamaData, object>, object>, object, ref List<Node<SugiyamaData, object>>)LayoutBase<SugiyamaData, object>.MoveToCurrentOffset(GraphBase<Node<SugiyamaData, object>, Edge<SugiyamaData, object>>, Point, bool)LayoutBase<SugiyamaData, object>.MoveToOffset(GraphBase<Node<SugiyamaData, object>, Edge<SugiyamaData, object>>, Size, bool)

Constructors

SugiyamaLayout()

Declaration

cs-api-definition
public SugiyamaLayout()

Methods

Layout(ContainerGraph<SugiyamaData, object>, object)

Layout of the specified container without iterating into possible children containers.

Declaration

cs-api-definition
public override void Layout(ContainerGraph<SugiyamaData, object> containerGraph, object settings)

Parameters

containerGraph

ContainerGraph<SugiyamaData, object>

The container to be organized.

settings

object

The settings.

Overrides LayoutBase<SugiyamaData, object>.Layout(ContainerGraph<SugiyamaData, object>, object)

Layout(IGraph, object)

Starts a layout pass.

Declaration

cs-api-definition
public override void Layout(IGraph diagramControl, object settings)

Parameters

diagramControl

IGraph

The diagram control which needs to be laid out.

settings

object

The parameterization of the layout.

Overrides LayoutBase<SugiyamaData, object>.Layout(IGraph, object)