@maxgraph/core
    Preparing search index...

    Class GraphHierarchyModel

    Internal model of a hierarchical graph. This model stores nodes and edges equivalent to the real graph nodes and edges, but also stores the rank of the cells, the order within the ranks and the new candidate locations of cells. The internal model also reverses edge direction were appropriate , ignores self-loop and groups parallels together under one edge object.

    Index

    Constructors

    Properties

    dfsCount: number = 0

    Count of the number of times the ancestor dfs has been used.

    Map from graph edges to internal model edges

    maxRank: number

    Stores the largest rank number allocated

    parent: null | Cell = null

    The parent cell whose children are being laid out

    ranks: null | GraphAbstractHierarchyCell[][] = null

    Mapping from rank number to actual rank

    roots: null | Cell[] = null

    Store of roots of this hierarchy model, these are real graph cells, not internal cells

    SOURCESCANSTARTRANK: number = 100000000

    High value to start source layering scan rank value from.

    tightenToSource: boolean = false

    Whether or not to tighten the assigned ranks of vertices up towards the source cells.

    Map from graph vertices to internal model nodes.

    Methods

    • Performs a depth first search on the internal hierarchy model. This dfs extends the default version by keeping track of cells ancestors, but it should be only used when necessary because of it can be computationally intensive for deep searches.

      Parameters

      • parent: null | GraphHierarchyNode

        the parent internal node of the current internal node

      • root: GraphHierarchyNode

        the current internal node

      • connectingEdge: null | GraphHierarchyEdge

        the internal edge connecting the internal node and the parent internal node, if any

      • visitor: Function

        the visitor pattern to be called for each node

      • seen: { [key: string]: GraphHierarchyNode }

        a set of all nodes seen by this dfs

      • ancestors: any

        the parent hash code

      • childHash: string | number

        the new hash code for this node

      • layer: number

        the layer on the dfs tree ( not the same as the model ranks )

      Returns void

    • Basic determination of minimum layer ranking by working from from sources or sinks and working through each node in the relevant edge direction. Starting at the sinks is basically a longest path layering algorithm.

      Returns void

    • A depth first search through the internal heirarchy model.

      Parameters

      • visitor: Function

        The visitor function pattern to be called for each node.

      • dfsRoots: null | GraphHierarchyNode[]
      • trackAncestors: boolean

        Whether or not the search is to keep track all nodes directly above this one in the search path.

      • seenNodes: null | { [key: string]: GraphHierarchyNode } = null

      Returns void