Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SlotProcessor
Before phase 1

Compound Cycle Processor
Graph Transformer
Comment Preprocessor
Edge And Layer Constraint Edge Reverser

Before phase 2Big 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.
SlotBefore 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.
SlotBefore phase 5.
DependenciesNone.
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.

...