GoDigram for .NET Framework and .NET Core
Inheritance Hierarchy
In This Topic
    Northwoods.Go.Layout Namespace
    In This Topic

    The GoLayout for .NET class library is a set of classes built to interface with the GoDiagram for .NET class library and provide support for automatically laying out graphs (node & arc diagrams) by positioning the nodes and routing the links.


    Although the classes in the GoLayout class library are not subclasses of classes in the Go class library, many aspects of the layout routines take advantage of the fact that Go objects are targets of the layout. 


    GoLayout currently supports three general auto-layout routines: a force-directed auto-layout routine, a layered-digraph auto-layout routine, and a tree auto-layout routine. The force-directed auto-layout routine is intended for use with all types of graph – undirected graphs as well as directed graphs.  The layered-digraph and tree auto-layout routines are intended specifically for use with directed graphs, including trees and hierarchies.
     

    Classes
     ClassDescription
    ClassGoLayout provides a common super-class for auto-layout algorithms. The key aspects of an auto-layout algorithm are an input Northwoods.Go.GoDocument and a PerformLayout method.
    Class GoLayoutForceDirected provides an auto-layout algorithm for graphs which utilizes a force-directed method.
    Class Holds auto-layout specific link data.
    ClassThis provides an abstract view of a Northwoods.Go.IGoCollection as a network (graph) of nodes and directed links. These nodes and links correspond to Northwoods.Go.GoObjects provided in the Northwoods.Go.IGoCollection. This class provides a framework for manipulating the state of nodes and links without modifying the structure of the original document.
    Class Holds auto-layout specific node data.
    ClassThis provides an abstract view of a Northwoods.Go.IGoCollection as a network (graph) of nodes and directed links. These nodes and links correspond to Northwoods.Go.GoObjects provided in the Northwoods.Go.IGoCollection. This class provides a framework for manipulating the state of nodes and links without modifying the structure of the original document.
    Class Holds auto-layout specific link data.
    Class Holds auto-layout specific node data.
    Class GoLayoutLayeredDigraph provides an auto-layout for layered drawings of directed graphs.
    Class Holds auto-layout specific link data.
    ClassThis provides an abstract view of a Northwoods.Go.IGoCollection as a network (graph) of nodes and directed links. These nodes and links correspond to Northwoods.Go.GoObjects provided in the Northwoods.Go.IGoCollection. This class provides a framework for manipulating the state of nodes and links without modifying the structure of the original document.
    Class Holds auto-layout specific node data.
    ClassThis provides an abstract view of a Northwoods.Go.IGoCollection as a network (graph) of nodes and directed links. These nodes and links correspond to Northwoods.Go.GoObjects provided in the Northwoods.Go.IGoCollection. This class provides a framework for manipulating the state of nodes and links without modifying the structure of the original document.
    Class Holds auto-layout specific link data.
    Class Holds auto-layout specific node data.
    ClassHolds information for the GoLayout.Progress event.
    Class GoLayoutRandom provides an auto-layout algorithm which randomly positions nodes in the document.
    Class Position nodes in a tree-like arrangement.
    Class Holds auto-layout specific link data.
    ClassThis provides an abstract view of a Northwoods.Go.IGoCollection as a network (graph) of nodes and directed links. These nodes and links correspond to Northwoods.Go.GoObjects provided in the Northwoods.Go.IGoCollection. This class provides a framework for manipulating the state of nodes and links without modifying the structure of the original document.
    Class Holds auto-layout specific node data.
    Interfaces
     InterfaceDescription
    InterfaceEach kind of GoLayoutGenericNetwork<N,L,Y> will have links that implement this interface.
    InterfaceEach kind of GoLayoutGenericNetwork<N,L,Y> will have nodes that implement this interface.
    Structures
     StructureDescription
    StructureEnumerator implements both IEnumerator and IEnumerable.
    Delegates
     DelegateDescription
    DelegateRepresents methods that handle GoLayoutProgressEventArgs.
    Enumerations
     EnumerationDescription
    Enumeration This enumeration specifies the general direction in which the automatic layout algorithm will position nodes.
    EnumerationThis enumeration controls how much effort GoLayoutLayeredDigraph.ReduceCrossings puts into trying to look for link crossings.
    EnumerationThis enumeration controls how GoLayoutLayeredDigraph.RemoveCycles changes the graph to make sure it contains no cycles or loops.
    EnumerationThis enumeration controls how GoLayoutLayeredDigraph.InitializeIndices determines the array of indices for each layer.
    EnumerationThis enumeration controls how GoLayoutLayeredDigraph.AssignLayers assigns each node of the graph to a layer.
    EnumerationThese enumerated values can be bitwise combined as values for the GoLayoutLayeredDigraph.PackOption property, which controls how much and what kinds of effort GoLayoutLayeredDigraph.StraightenAndPack makes.
    EnumerationThis enumeration specifies how to position a parent GoLayoutTreeNode relative to its children.
    Enumeration This enumeration specifies how to position the resulting trees in the document.
    Enumeration This enumeration specifies how closely packed the children of a node should be.
    EnumerationThis enumeration specifies how to build a tree from the GoLayoutTreeNetwork.
    Enumeration This enumeration specifies whether to sort the children of a node, and in what order to position them.
    Enumeration This enumeration identifies the general style in which the nodes are laid out.
    See Also