Features of LayoutFlow for .NET

LayoutFlow for .NET is a set of graph drawing algorithms. It includes:

1) HFlow
The HFlow layout algorithm arranges vertices in horizontal layers. The orders of the vertices are chosen so that the number of crossings is kept small. HFlow just produces a reasonable solution, not the optimum solution.

2) OFlow
The OFlow layout algorithm allows performing an orthogonal layout on a graph. The layout is orthogonal since it produces an orthogonal drawing where each edge is drawn as a polygonal chain of alternating horizontal and vertical segments. OFlow works with any graphs, connected or not. In the resulting drawing, if the graph is a graph of maximum degree four, then each node has the same size. If the degree of a node is higher than four, then the height of the node is expanded.

3) SFlow
The SFlow layout algorithm allows performing a symmetric layout on a graph. The symmetric layout produces a high degree of symmetry and is particularly useful for undirected graphs, where the directions of the edge are not important.
The resulting layout is often good. However it requires considerable computational resources and therefore should be used for small graphs (less than 300 nodes). Using the animation mode you can see how SFlow is working.

4) SPFlow
The SPFlow layout algorithm allows performing a series-parallel layout on a graph. The SP layout applies only to a specific subset of graphs: series-parallel digraph (more precisely, a set of series-parallel diagraphs). A series-parallel digraph is defined recursively as follows.
A digraph consisting of two nodes, a source s and a sink t joined by a single link is a series-parallel digraph.
If G1 and G2 are series-parallel digraphs, so are the digraphs constructed by each of the following operations:
- the parallel composition: identify the source of G1 with the source of G2 and the sink of G1 with the sink of G2.
- the series composition: identify the sink of G1 with the source of G2.
We use an algorithm that allows drawing series-parallel digraphs with as much symmetry as possible.

5) TFlow
The TFlow layout algorithm allows performing a tree layout on a graph. The tree layout applies only to a specific subset of graphs: rooted trees. In such a graph, no vertice may have more than one parent. The drawing of the tree occupies as little space as possible while satisfying certain aesthetics.
If the DrawingStyle property is "Layered":

  • vertices at the same level of the tree are placed on the same line
  • a parent is centered over its childs


If the DrawingStyle property is "Radial":

  • the root is placed at the origin
  • the layers are concentric circles centered at the origin


Notice that it is necessary to use AddFlow for .NET to be able to use LayoutFlow for .NET. Both products are installed via a common installation program.