...
Slot | Processor |
---|
Before phase 1 | Compound Cycle Processor Graph Transformer Comment Preprocessor Edge And Layer Constraint Edge Reverser |
Before phase 2 | Big Nodes Processor Label Dummy Inserter |
Before phase 3 | Layer Constraint Processor Hierarchical Port Constraint Processor Compound Dummy Edge Remover Long Edge Splitter Port Side Processor Label Dummy Switcher Inverted Port Processor Self Loop Processor Port List Sorter North South Port Preprocessor |
Before phase 4 | Subgraph Ordering Processor In Layer Constraint Processor Hyperedge Dummy Merger Label Side Selector Label And Node Size Processor Node Margin Calculator Compound Side Processor |
Before phase 5 | Layer Size and Graph Height Calculator Hierarchical Port Dummy Size Processor Hierarchical Port Position Processor |
After phase 5 | Comment Postprocessor Hypernode Processor Hierarchical Port Orthogonal Edge Router Long Edge Joiner North South Port Postprocessor Label Dummy Remover Reversed Edge Restorer Compound Graph Restorer Graph Transformer End Label Processor |
...
Preconditions | - The graph is layered.
- Nodes to be placed in the first layer only have outgoing edges.
- Nodes to be placed in the last layer only have incoming edges.
|
---|
Postconditions | - Nodes with layer constraints have been placed in the appropriate layers.
|
---|
Slot | Before phase 3. |
---|
Dependencies | ConstrainedHierarchicalPortProcessor
|
---|
Remarks | - Layerers should usually include a dependency on this processor, unless they already adhere to layer constraints themselves.
- The
LayerConstraintEdgeReverser ensures that this processor's preconditions are met. Thus, layerers should also include a dependency on that processor.
|
---|
Layer Size and Graph Height Calculator
This processor, which is always part of the processing pipeline, calculates the height and width of each layer, sets the graph's height accordingly, and calculates the graph's vertical offset based on vertical node positions. The offset is calculated such that the topmost node will have a y coordinate equal to 0. The graph's width cannot be set in this processor since that is only determined during edge routing.
The reason for this processor's existence is to factor this code out of the node placement implementations.
Preconditions | - The graph is layered.
- Node margins are set.
- Nodes are assigned y coordinates.
|
---|
Postconditions | - Layer sizes are set.
- The graph's height is set.
- The graph's vertical offset is set.
|
---|
Slot | Before phase 5. |
---|
Dependencies | None. |
---|
Remarks | - This processor is always part of the processing pipeline. Thus, no phase needs to add a dependency to it.
|
---|
Long Edge Joiner
Removes all long edge dummy nodes, joining their edges together.
...