E

IncrementalNodeHint

Hints how the HierarchicalLayout should treat nodes in incremental mode.

Remarks

Incremental hints can be used for specifying how a subset of nodes (called incremental nodes) should be added to an existing graph layout.

A layer hint specifies that both, a node's layer and its position within the layer should be freely determined by the algorithm. A sequence hint specifies that the algorithm should consider the current layer of a node while its position within the layer should be freely determined by the algorithm. A node without hint (i.e. NONE) is called a fixed node and maintains its position relative to other fixed nodes.

Information about incremental hints for nodes is provided by incrementalNodes.

See Also

Developer's Guide

API

IncrementalEdgeHint

Members

No filters for this type

Constants

A hint for a group LayoutNode that should be inserted incrementally during the layering phase.

The group will be placed on a suitable position. The descendants of the group may be associated with LAYER_INCREMENTALLY, SEQUENCE_INCREMENTALLY or this hint (if the descendant is an inner group).

All hints of the descendants of a group are interpreted relative to the group node. Descendants without hints maintain their relative order within the group node (but not with elements outside the group).

The positions of groups without incremental hints depend on the position of their descendants (i.e., the group is not interpreted as fixed - it is simply ignored).

If groups are incrementally inserted (especially larger ones), it can be a good idea to mark all edges in the graph as incremental too (including edges between fixed nodes). Otherwise, it can happen that the incremental group affects the layers through which a fixed edge is routed such that it is not clear where the edge should be with respect to the newly inserted incremental group and this can in some cases lead to routing artifacts.
Descendants of incremental groups must not be associated with exact coordinate hints (see USE_EXACT_COORDINATES, USE_EXACT_SEQUENCE_COORDINATES and USE_EXACT_LAYER_COORDINATES).
static

See Also

Developer's Guide
A hint that a node should be inserted incrementally during the layering phase.

This will place the node in a suitable layer, possibly creating new layers.

Neighbors of this node may also be marked such that they are laid out incrementally. This makes it possible to incrementally add whole subgraphs to the current layout.

static
A hint that a node should be fixed, i.e., should not be incrementally inserted during the layering phase.
This means the corresponding element should not be treated as an incrementally added element by the layout algorithm.
static
A hint for a LayoutNode that should be inserted incrementally during the sequencing phase.
All nodes that are not incrementally inserted during the layering phase (see LAYER_INCREMENTALLY) stay in their current layer. More precisely, the default fixedElementsLayerAssigner implementation is an instance of FromSketchLayerAssigner that determines the layer of the "fixed" nodes by analyzing the current node coordinates. Note that for the other nodes, the layout algorithm may insert new layers in between the existing layers.
static

See Also

Developer's Guide
A hint for a LayoutNode that should be inserted incrementally into the graph on its exact current position.
As for nodes without hints, the algorithm uses the fixedElementsLayerAssigner instance to determine the layer of such nodes and the fixedElementsSequencer instance to determine the position within the layer. By default, both implementations use the current coordinates of the nodes to derive the layer/position. However, for nodes marked with this hint, the algorithm should also preserve the exact coordinates while for nodes without hints the coordinates may be changed (these nodes only keep their relative positions).
Using exact coordinate hints may lead to drawing artifacts like node overlaps and node-edge intersections.
static

See Also

Developer's Guide
API
USE_EXACT_SEQUENCE_COORDINATES, USE_EXACT_LAYER_COORDINATES, exactPlacement
Creates a hint for a LayoutNode that should be inserted incrementally into the graph on its exact current layer position.
The algorithm uses the fixedElementsLayerAssigner instance to determine the layer of such nodes and the fromScratchSequencer instance to determine the sequencing.
Using exact coordinate hints may lead to drawing artifacts like node overlaps and node-edge intersections.
static

See Also

Developer's Guide
API
USE_EXACT_COORDINATES, USE_EXACT_SEQUENCE_COORDINATES, exactPlacement
A hint for a LayoutNode that should be inserted incrementally into the graph on its exact current sequence position.
The algorithm uses the fromScratchLayerAssigner instance to determine the layer of such nodes and the fixedElementsSequencer instance to determine the sequencing.
Using exact coordinate hints may lead to drawing artifacts like node overlaps and node-edge intersections.
static

See Also

Developer's Guide
API
USE_EXACT_COORDINATES, USE_EXACT_LAYER_COORDINATES, exactPlacement

Static Methods

Converts the given argument to an enum constant of this enum type.
Most notably, this method can convert an enum constant's name into the enum constant itself.
static

Parameters

value: IncrementalNodeHint
The value to convert to an enum constant.

Return Value

IncrementalNodeHint
The enum constant that corresponds to the given argument.
Returns the name of the given enum constant.
static

Parameters

value: IncrementalNodeHint
The numeric value of an enum constant.

Return Value

string
The name of the enum constant.

Throws

Exception ({ name: 'Error' })
If this type is a flags enums, and the provided value doesn't correspond to a single enum constant, or if this enum type contains no constant of the given numeric value.