Interface HierarchyPointNode<Datum>

interface HierarchyPointNode {
    new HierarchyPointNodenew (data): HierarchyPointNode<Datum>;
    children?: HierarchyPointNode<Datum>[];
    data: Datum;
    depth: number;
    height: number;
    id?: string;
    parent: HierarchyPointNode<Datum>;
    value?: number;
    x: number;
    y: number;
    [iterator](): Iterator<HierarchyPointNode<Datum>, any, undefined>;
    ancestors(): HierarchyPointNode<Datum>[];
    copy(): HierarchyPointNode<Datum>;
    count(): HierarchyPointNode<Datum>;
    descendants(): HierarchyPointNode<Datum>[];
    each<T>(func, that?): HierarchyPointNode<Datum>;
    eachAfter<T>(func, that?): HierarchyPointNode<Datum>;
    eachBefore<T>(func, that?): HierarchyPointNode<Datum>;
    find(filter): HierarchyPointNode<Datum>;
    leaves(): HierarchyPointNode<Datum>[];
    links(): HierarchyPointLink<Datum>[];
    path(target): HierarchyPointNode<Datum>[];
    sort(compare): HierarchyPointNode<Datum>;
    sum(value): HierarchyPointNode<Datum>;
}

Type Parameters

  • Datum

Hierarchy

Constructors

Methods

  • Return a deep copy of the subtree starting at this node. The returned deep copy shares the same data, however. The returned node is the root of a new tree; the returned node’s parent is always null and its depth is always zero.

    Returns HierarchyPointNode<Datum>

  • Computes the number of leaves under this node and assigns it to node.value, and similarly for every descendant of node. If this node is a leaf, its count is one. Returns this node.

    Returns HierarchyPointNode<Datum>

  • Invokes the specified function for node and each descendant in breadth-first order, such that a given node is only visited if all nodes of lesser depth have already been visited, as well as all preceding nodes of the same depth.

    Type Parameters

    • T = undefined

    Parameters

    • func: ((this, node, index, thisNode) => void)

      The specified function is passed the current descendant, the zero-based traversal index, and this node.

    • Optional that: T

      If that is specified, it is the this context of the callback.

    Returns HierarchyPointNode<Datum>

  • Invokes the specified function for node and each descendant in post-order traversal, such that a given node is only visited after all of its descendants have already been visited.

    Type Parameters

    • T = undefined

    Parameters

    • func: ((this, node, index, thisNode) => void)

      The specified function is passed the current descendant, the zero-based traversal index, and this node.

    • Optional that: T

      If that is specified, it is the this context of the callback.

    Returns HierarchyPointNode<Datum>

  • Invokes the specified function for node and each descendant in pre-order traversal, such that a given node is only visited after all of its ancestors have already been visited.

    Type Parameters

    • T = undefined

    Parameters

    • func: ((this, node, index, thisNode) => void)

      The specified function is passed the current descendant, the zero-based traversal index, and this node.

    • Optional that: T

      If that is specified, it is the this context of the callback.

    Returns HierarchyPointNode<Datum>

  • Returns the first node in the hierarchy from this node for which the specified filter returns a truthy value. undefined if no such node is found.

    Parameters

    • filter: ((node) => boolean)

      Filter.

    Returns HierarchyPointNode<Datum>

  • Returns an array of links for this node, where each link is an object that defines source and target properties. The source of each link is the parent node, and the target is a child node.

    Returns HierarchyPointLink<Datum>[]

  • Returns the shortest path through the hierarchy from this node to the specified target node. The path starts at this node, ascends to the least common ancestor of this node and the target node, and then descends to the target node.

    Parameters

    Returns HierarchyPointNode<Datum>[]

  • Sorts the children of this node, if any, and each of this node’s descendants’ children, in pre-order traversal using the specified compare function, and returns this node.

    Parameters

    • compare: ((a, b) => number)

      The compare function is passed two nodes a and b to compare. If a should be before b, the function must return a value less than zero; if b should be before a, the function must return a value greater than zero; otherwise, the relative order of a and b are not specified. See array.sort for more.

    Returns HierarchyPointNode<Datum>

  • Evaluates the specified value function for this node and each descendant in post-order traversal, and returns this node. The node.value property of each node is set to the numeric value returned by the specified function plus the combined value of all descendants.

    Parameters

    • value: ((d) => number)

      The value function is passed the node’s data, and must return a non-negative number.

        • (d): number
        • Parameters

          • d: Datum

          Returns number

    Returns HierarchyPointNode<Datum>

Properties

children?: HierarchyPointNode<Datum>[]

An array of child nodes, if any; undefined for leaf nodes.

data: Datum

The associated data, as specified to the constructor.

depth: number

Zero for the root node, and increasing by one for each descendant generation.

height: number

Zero for leaf nodes, and the greatest distance from any descendant leaf for internal nodes.

id?: string

Optional node id string set by StratifyOperator, if hierarchical data was created from tabular data using stratify().

parent: HierarchyPointNode<Datum>

The parent node, or null for the root node.

value?: number

Aggregated numeric value as calculated by sum(value) or count(), if previously invoked.

x: number

The x-coordinate of the node.

y: number

The y-coordinate of the node.