E

HierarchicalLayoutSubcomponentPlacementPolicy

Specifies different policies for placing subcomponents within a HierarchicalLayout.

Members

No filters for this type

Constants

A placement policy that integrates subcomponents at a connector node if such a node exists.

A component has a valid connector node if all edges to non-component nodes are adjacent to the connector node.

The connector node and its edges to the component are included and handled by the layoutAlgorithm arranging the component. If there is no unique connecting node, the subcomponent is instead treated in an ISOLATED way.

This policy forces an integrated layout for subcomponents, regardless of potential overlaps or other constraints of the main layout algorithm, such as sequenceConstraints, layerConstraints, incremental layouts, LayoutGrids, or LayoutPortCandidates.
static

Sample Graphs

ShownSetting: Both components are integrated at the bottom side of the connector node, disregarding overlaps between them

See Also

Developer's Guide
API
placementPolicy
A placement policy that integrates subcomponents at a connector node if such an integration is possible without causing overlaps or violating constraints of the main layout algorithm.

A component has a valid connector node if all edges to non-component nodes are adjacent to the connector node.

If there is a connector node and if the integration is possible, the connector node and its edges to the component are handled by the layoutAlgorithm arranging the component. If an integration is not possible, the subcomponent is instead treated in an ISOLATED way.

An important condition for the integration to be possible is that the orientation of the inner layout must be orthogonal with respect to the main layout, e.g., one top-to-bottom orientation and one left-to-right orientation. In other words, the component layout generated by the sub-layout must be completely on a side of the connector node which is orthogonal to the flow of the main hierarchical layout. If the sub-layout arranges the connector node somewhere in the middle of the component, then an integration of the connector into the main layout may lead to overlaps. This can be forced when using placement policy ALWAYS_INTEGRATED.

For components that are connected to a single node in the remaining graph, this policy supersedes layer and sequence constraints unless they directly constrain the placement of the connecting node in relation to the subcomponent.
static

Sample Graphs

ShownSetting: One component can be placed integrated at the connector node but not both, since they have the same orientation (one above and one below would work)

See Also

Developer's Guide
API
placementPolicy
A placement policy that treats the component as a single node in the containing graph so that it is placed as such by the main layout algorithm.

The hierarchical layout chooses a layer for the whole component like it does for normal nodes. All inter-edges are at that point re-directed to a component representative node.

An isolated component does not have a specific connector node but it can have many non-component nodes it is connected to.

static

Sample Graphs

ShownSetting: The two components are placed isolated on a respective hierarchical layer

See Also

Developer's Guide
API
placementPolicy

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: HierarchicalLayoutSubcomponentPlacementPolicy
The value to convert to an enum constant.

Return Value

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

Parameters

value: HierarchicalLayoutSubcomponentPlacementPolicy
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.