- I
- I
Remarks
Layout Style
Nodes that have the same depth in the tree will be placed in the same horizontal layer. They will be vertically aligned.
Default Values of Properties
| Name | Default | Description |
|---|---|---|
| busAlignment | 0.5 | |
| dendrogramStyle | false | The nodes are assigned to the topmost layer. |
| edgeRoutingStyle | LevelAlignedSubtreePlacerRoutingStyle.STRAIGHT_LINE | |
| layerSpacing | 40 | |
| rootAlignment | SubtreeRootAlignment.TRAILING | |
| spacing | 20 | |
| verticalAlignment | 0.5 | Nodes are center aligned. |
See Also
Developer's Guide
Members
Constructors
Creates a new LevelAlignedSubtreePlacer instance.
Parameters
- id?: any
- The ID of this instance, used for identifying LevelAlignedSubtreePlacers that share information about the layer height. Using different IDs allows aligned layouts within different subtrees.
Properties
Dependent on the SubtreeRootAlignment type the subtree root is moved in a way that the edge connecting the root to one of its children is straightened.
This setting only applies to the following SubtreeRootAlignments:
Property Value
true if the ports are to be aligned, false otherwiseDefault Value
Sample Graphs
falseThe bus alignment determines the relative position of an edge bus in between two subsequent layers of nodes.
Values for a valid vertical alignment are in the range [0..1], such that:
- A value of
0.0places the bus at the top, right below the parent node. - A value of
0.5places the bus in the middle between parent and child nodes. - A value of
1.0places the bus at the bottom, right above the child nodes.
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the specified alignment is outside
[0..1]
Default Value
Sample Graphs
0.3See Also
Developer's Guide
Property Value
true if the graph is layered as a dendrogram, false otherwiseDefault Value
Sample Graphs
falseGets or sets the routing style for the edges in the subtree.
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the specified routing style specifier is unknown
Default Value
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the specified spacing is negative
Default Value
Sample Graphs
40See Also
Developer's Guide
Property Value
true if polyline connectors are added, false otherwiseDefault Value
Sample Graphs
falseGets or sets the SubtreeRootAlignment that defines how the root node is aligned with its children and their shapes.
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the given root alignment is
null
Default Value
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the given spacing is negative
Default Value
Sample Graphs
20 using SingleLayerSubtreePlacerSee Also
Developer's Guide
Gets the modification matrix that defines the direction of the subtree.
Property Value
Default Value
A value of 0 means that nodes are top-aligned; a value of 0.5 means that nodes are center-aligned; a value of 1 means that nodes are bottom-aligned;
Values for a valid vertical alignment are in the range [0..1].
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the specified alignment is outside
[0..1]
Default Value
Sample Graphs
0Methods
Creates an edge comparison which takes the initial coordinates of the nodes into account.
Return Value
- function(LayoutEdge, LayoutEdge): number
- the comparison for the edges
Creates an optional ISubtreePlacerProcessor for pre- and post-processing.
null.Parameters
- treeLayout: TreeLayout
- the current TreeLayout instance
- graph: LayoutGraph
- the input graph
- currentRoot: LayoutNode
- the root node handled by this ISubtreePlacer
Return Value
- ISubtreePlacerProcessor
- a ISubtreePlacerProcessor instance or
null
Implements
ISubtreePlacer.createProcessordetermineChildConnectors
(localRoot: LayoutNode, connectorMap: IMapper<LayoutNode, ParentConnectorDirection>)Provides the direction of the connector to the SubtreeShape for each child node.
determineChildConnectors
(localRoot: LayoutNode, connectorMap: IMapper<LayoutNode, ParentConnectorDirection>)Parameters
- localRoot: LayoutNode
- the local root node
- connectorMap: IMapper<LayoutNode, ParentConnectorDirection>
- the IMapper<K, V> that is used for storing the direction specifiers of the child nodes
Implements
ISubtreePlacer.determineChildConnectorsArranges the SubtreeShapes of the local root and its children and routes the edges that connect them.
This method is the main method of the tree layout algorithm. It is called by TreeLayout in each recursion step to place the local root in relation to its children. Their shapes will be merged into one SubtreeShape, which is returned by this method.
The SubtreeShape for the local root can be obtained from the nodeShapeProvider. subtreeShapeProvider contains the SubtreeShapes assigned to the child nodes.
Due to the order in which the tree nodes are processed, it is guaranteed that at the time of the invocation of this method the SubtreeShape of every descendant node has already been calculated.
Parameters
- nodeShapeProvider: IMapper<LayoutNode, SubtreeShape>
- the IMapper<K, V> for obtaining an initial shape of the root node
- subtreeShapeProvider: IMapper<LayoutNode, SubtreeShape>
- the IMapper<K, V> for accessing the pre-calculated shapes of the subtrees
- graph: LayoutGraph
- the input graph
- localRoot: LayoutNode
- the root of the subtree that should be arranged by this method
- parentConnectorDirection: ParentConnectorDirection
- the direction specifier for the connector of the local root node to its parent node
Return Value
- SubtreeShape
- the combined shape of the whole subtree