SugiyamaLayout class

Sugiyama-style hierarchical graph layout algorithm

This layout algorithm is suitable for directed graphs (DAGs) and produces a layered layout similar to what Mermaid.js uses. The algorithm consists of these phases:

  1. Cycle removal (make the graph acyclic)
  2. Layer assignment (assign nodes to horizontal/vertical layers)
  3. Crossing reduction (minimize edge crossings within layers)
  4. Coordinate assignment (position nodes within layers)
Inheritance

Constructors

SugiyamaLayout()
Creates a Sugiyama layout engine
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

computeLayout(MermaidDiagramData diagram, MermaidStyle style, Size availableSize) Size
Computes layout for the given diagram
override
measureNode(MermaidNode node, MermaidStyle style) Size
Measures the size of a node
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited