Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SeriesNode

Hierarchy

Implemented by

Index

Properties

bridgegraph

bridgegraph: Graph<GroupNode | OpNode, Metaedge>

The bridgegraph contains only edges which link immediate children of this group with nodes outside of the metagraph. As in the metagraph, all edge label objects are Metaedges which contain references to the original BaseEdge(s) that contribute to it.

For a Metaedge in the bridgegraph, its external endpoint will be the same as the metagraph edge from which it came. This is most easily explained by example.

Consider an original graph that contains a BaseEdge A/B/C->Z/Y/X.

+-------+    (BaseEdge)     +-------+
| A/B/C |>----------------->| Z/Y/X |
+-------+                   +-------+

When we construct the Root's metagraph, it will contain nodes for A and Z, and a Metaedge A->Z. The A->Z Metaedge will contain the original BaseEdge A/B/C->Z/Y/X in its baseEdgeGraph. The Root's bridgegraph will always be empty.

+---+    (Root.metagraph edge)    +---+
| A |>--------------------------->| Z |
+---+                             +---+

Now consider the Metanode A. Its metagraph will contain a Metanode for A/B and no edges. A's bridgegraph will have one Metaedge from A/B->Z, which was derived from the Root's Metaedge A->Z. That Metaedge will contain the original BaseEdge in its baseEdgeGraph.

+---------+
| A       |
|  +---+  |   (A.bridgegraph edge)    +---+
|  | B |>---------------------------->| Z |
|  +---+  |                           +---+
+---------+

Finally, consider the Metanode A/B. Its metagraph will contain a Metanode for A/B/C and again no edges. A/B's bridgegraph will have one Metaedge from A/B/C->Z, which was derived from A's bridgegraph Metaedge A/B->Z. As before, the A/B/C->Z Metaedge will contain the original BaseEdge in its baseEdgeGraph.

+---------------+
| A             |
|  +---------+  |
|  | B       |  |
|  |  +---+  |  |   (A/B.bridgegraph edge)      +---+
|  |  | C |>----------------------------------->| Z |
|  |  +---+  |  |                               +---+
|  +---------+  |
+---------------+

Likewise, under the Metanode Z and Z/Y, to compute the bridgegraph, we'll end up with Metaedges A->Z/Y and A->Z/Y/X respectively. So the original BaseEdge A/B/C->Z/Y/X becomes four different Metaedges in four different bridgegraphs:

  • A/B->Z in GroupNode A's bridgegraph,
  • A/B/C->Z in GroupNode A/B's bridgegraph,
  • A->Z/Y in GroupNode Z's bridgegraph, and
  • A->Z/Y/X in GroupNode Z/Y's bridgegraph.

Considering any BaseEdge then, if N is the number of path segments in the source and M is the number of path segments in the destination, then the total number of bridgegraph edges you could create would be (N-1)(M-1).

For this reason, it is computationally expensive to generate all the bridgegraphs for all the Metanodes, and instead they should be computed on demand as needed.

cardinality

cardinality: number

The number of nodes this node represents. For OpNodes, this will be 1, and for GroupNodes it will be a count of the total number of descendents it contains.

clusterId

clusterId: number

hasLoop

hasLoop: boolean

hasNonControlEdges

hasNonControlEdges: boolean

Flag indicating whether this GroupNode's metagraph contains any edges that are not control edges. Used to quickly determine how to draw a collapsed series (vertically or horizontally).

ids

ids: number[]

include

include: InclusionType

If the node is to be included or excluded from the main graph when rendered. Defaults to UNSPECIFIED, which means that the rendering algorithm determines if it will be included or not. Then can be set to INCLUDE or EXCLUDE manually by the user.

isGroupNode

isGroupNode: boolean

Whether this node is a type that may contain other nodes. Those types should extend from GroupNode.

For an OpNode, isGroupNode will be false, even though it may have embeddings. These embedding Nodes will have their parentNode set to the OpNode. However, embeddings are later rendered as annotations, not as children to be made visible on expansion (like a Metanode or SeriesNode).

metagraph

The metagraph contains nodes and metaedges between the immediate children of this group. The node label objects may be other GroupNodes (like SeriesNodes and Metanodes) or individual OpNodes. All edge label objects are Metaedges, each of which contains references to the original BaseEdge(s) from which it was created.

name

name: string

The name of the node, used frequently to look up nodes by name.

nodeAttributes

nodeAttributes: object

Node attributes specify customizable visual aspects of a node and application-specific metadata associated with a node. The name 'nodeAttributes' is meant to avoid naming-conflicts with the 'attr' in subclasses of Node.

Type declaration

  • [key: string]: any

parent

parent: string

parentNode

parentNode: Node

The Node which is this Node's parent. This is of type Node and not GroupNode because of embeddings, which will have a parent OpNode.

prefix

prefix: string

suffix

suffix: string

type

type: NodeType

Which type of node this is.

Generated using TypeDoc