Page History
...
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 2. |
Dependencies |
|
Remarks |
|
Comment Postprocessor
TODO: DocumentIf any comments are found that were removed by the Comment Preprocessor, they are reinserted and placed above or below their corresponding connected node. This requires the margin around the node to be large enough to hold all comments, which is ensured by the Node Margin Calculator.
Preconditions |
| Postconditions | Document
|
---|---|---|---|
Postconditions |
| ||
Slot | After phase 5. | ||
Dependencies |
| ||
Remarks |
|
Comment Preprocessor
TODO: Document.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 1. |
Dependencies |
|
Remarks |
|
Compound Cycle Processor
Removes cyclic dependencies between compound nodes from the graph. Adds dummy edges that enhance the layering with respect to hierarchy crossing edges: the Compound Cycle Processor determines an ancestor for each source and target of the edge such that both ancestors share a common parent. The source ancestor is to be put in layers left of the layers spanned by the target ancestor.
Preconditions |
|
---|
Comment Preprocessor
Looks for comments that have exactly one connection to a normal node and removes them from the graph. Such comments are put either into the Properties.TOP_COMMENTS or the Properties.BOTTOM_COMMENTS list of the connected node and processed later by the Comment Postprocessor. Other comments are processed normally, i.e. they are treated as regular nodes, but their incident edges may be reversed.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 1. |
Dependencies | None. |
Remarks |
|
Compound Dummy Edge Remover
Removes the dummy edges that were inserted during compound graph import or by the Compound Cycle Processor to implement constraints for the layering phase.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 1. |
Dependencies |
|
Remarks |
|
Compound Cycle Processor
Removes cyclic dependencies between compound nodes from the graph. Adds dummy edges that enhance the layering with respect to hierarchy crossing edges: the Compound Cycle Processor determines an ancestor for each source and target of the edge such that both ancestors share a common parent. The source ancestor is to be put in layers left of the layers spanned by the target ancestor.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 31. |
Dependencies | None. |
Remarks | None. |
Compound Graph Restorer
Determines positioning and size of the compound nodes according to the positioning of their dummy nodes and stores the information with the Left Compound Border dummy nodes. Transfers adjacency edges from Left Compound Port, Right Compound Port, and Right Compound Border dummy nodes to the Left Compound Border dummy nodes. Removes all dummy edges and dummy nodes apart from upper compound border dummy nodes from the graph.
Preconditions |
|
---|---|
Postconditions |
|
Slot | After phase 5. |
Dependencies |
|
Remarks | None. |
Compound Side Processor
Sets up dummy nodes at the sides of a compound node, connects these nodes with dummy edges. Those dummy nodes and edges are used to determine and reserve drawing space for the upper and lower segments of the bounding rectangles for compound nodes. The Linear Segments Node Placer arranges the dummy nodes in straight lines.
Preconditions |
|
---|---|
Postconditions |
|
Slot | After phase 3. |
Dependencies | None. |
Remarks | None. |
Edge And Layer Constraint Edge Reverser
...
|
Compound Dummy Edge Remover
Removes the dummy edges that were inserted during compound graph import or by the Compound Cycle Processor to implement constraints for the layering phase.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 3. |
Dependencies | None. |
Remarks | None. |
Compound Graph Restorer
Determines positioning and size of the compound nodes according to the positioning of their dummy nodes and stores the information with the Left Compound Border dummy nodes. Transfers adjacency edges from Left Compound Port, Right Compound Port, and Right Compound Border dummy nodes to the Left Compound Border dummy nodes. Removes all dummy edges and dummy nodes apart from upper compound border dummy nodes from the graph.
Preconditions |
|
---|---|
Postconditions |
|
Slot | After phase 5. |
Dependencies |
|
Remarks | None. |
Compound Side Processor
Sets up dummy nodes at the sides of a compound node, connects these nodes with dummy edges. Those dummy nodes and edges are used to determine and reserve drawing space for the upper and lower segments of the bounding rectangles for compound nodes. The Linear Segments Node Placer arranges the dummy nodes in straight lines.
Preconditions |
|
---|---|
Postconditions |
|
Slot | After phase 3. |
Dependencies | None. |
Remarks | None. |
Edge And Layer Constraint Edge Reverser
Edge constraints affect if a node may have only incoming or only outgoing edges. This processor reverses edges if necessary to respect the edge constraints.
Layer constraints can be seen as implicit edge constraints. If a node should be placed in the first layer, it may have only outgoing edges. Similar for the last layer.
...
- The graph is not layered yet.
...
- Nodes with edge or layer constraints have only incoming or only outgoing edges, as appropriate.
...
first layer, it may have only outgoing edges. Similar for the last layer.
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 1. |
Dependencies | None. |
Remarks |
|
Graph Transformer
A layout processor that is able to perform transformations on the coordinates of a graph. The supported operations are mirror (invert the x coordinates), transpose (swap the x and y coordinates), or both. This is used to support all four layout directions, since the basic algorithm only performs left-to-right layout.
Preconditions |
|
---|---|
Postconditions |
|
Slots |
|
Dependencies |
|
Remarks |
|
Graph Transformer
TODO: Document.
Preconditions |
|
---|---|
Postconditions |
|
Slot |
|
Dependencies |
|
Remarks |
|
Hierarchical Port Constraint Processor
...
Preconditions |
|
---|---|
Postconditions |
|
Slot | Before phase 4. |
Dependencies |
|
Remarks |
|
Hypernode Processor
TODO: Document.
Preconditions |
|
---|---|
Postconditions |
|
Remarks |
|
Hypernode Processor
Improves the placement of hypernodes by moving them such that they replace the join points of connected edges. This is done as a post-processing, since hypernodes are treated as regular nodes for the rest of the algorithm.
Preconditions |
|
---|---|
Postconditions |
|
Slot | After phase 5. |
Dependencies |
|
Remarks |
|
In-Layer Constraint Processor
...