Table of Contents

Namespace Northwoods.Go.Layouts.Extensions

Classes

ArrangingEdge

This holds ArrangingLayout-specific information about Links.

ArrangingLayout

A custom Layout that provides one way to have a layout of layouts. It partitions nodes and links into separate subnetworks, applies a primary layout to each subnetwork, and then arranges those results by an arranging layout. Any disconnected nodes are laid out later by a side layout, by default in a grid underneath the main body of subnetworks.

ArrangingNetwork

This class represents an abstract graph of ArrangingVertexes and ArrangingEdges that can be constructed based on the Nodes and Links of a Diagram so that the ArrangingLayout can operate independently of the diagram until it is time to commit any node positioning or link routing.

ArrangingVertex

This holds ArrangingLayout-specific information about Nodes.

DoubleTreeLayout

Perform two TreeLayouts, one going rightwards and one going leftwards.

FishboneLayout

FishboneLayout is a custom Layout derived from TreeLayout for creating "fishbone" diagrams. A fishbone diagram also requires a Link class that implements custom routing, FishboneLink.

FishboneLink

Custom Link class for FishboneLayout.

PackedLayout

A custom layout which attempts to pack nodes as close together as possible without overlap.

ParallelLayout

A custom TreeLayout that can be used for laying out stylized flowcharts.

Quadtree<T>

Implementation of the quadtree data structure using the Rect class.

RadialEdge

This holds RadialLayout-specific information about Links.

RadialLayout

Given a root Node, this arranges connected nodes in concentric rings, layered by the minimum link distance from the root.

RadialNetwork

This class represents an abstract graph of RadialVertexes and RadialEdges that can be constructed based on the Nodes and Links of a Diagram so that the RadialLayout can operate independently of the diagram until it is time to commit any node positioning or link routing.

RadialVertex

This holds RadialLayout-specific information about Nodes.

SerpentineLayout

A custom Layout that lays out a chain of nodes in a snake-like fashion.

SpiralEdge

This holds SpiralLayout-specific information about Links.

SpiralLayout

A custom Layout that lays out a chain of nodes in a spiral.

SpiralNetwork

This class represents an abstract graph of SpiralVertexes and SpiralEdges that can be constructed based on the Nodes and Links of a Diagram so that the SpiralLayout can operate independently of the diagram until it is time to commit any node positioning or link routing.

SpiralVertex

This holds SpiralLayout-specific information about Nodes.

SwimLaneLayout

A custom LayeredDigraphLayout that knows about "lanes" and that positions each node in its respective lane.

TableLayout

This Layout positions non-Link Parts into a table according to the values of Row, Column, RowSpan, ColumnSpan, Alignment, Stretch.

TreeMapLayout

A custom Layout that lays out hierarchical data using nested rectangles.

Enums

PackMode

These values determine the size of the layout. Used for PackMode.

PackShape

These values determine the shape of the final layout. Used for PackShape

SortMode

These values specify an optional method by which to sort nodes before packing. Used for SortMode.

SortOrder

These values specify the order that nodes will be sorted, if applicable. Used for SortOrder.