This section lists the intermediate processors that are available. For a description of what intermediate processors actually are, see KLay Layered.

To add a new intermediate processor, create a corresponding class in the ...klay.layered.intermediate package and add proper documentation (refer to existing intermediate processors). Choose which intermediate processing slot(s) the processor can be run in. Then think about possible dependencies to other processors in that slot. Add the processor to the IntermediateProcessingStrategy enumeration such, that all processors it depends on precede the definition of the new processor.

The following table provides an overview of all available layout processors and the slots they can be placed in. Note that a processor may appear in more than one slot. Within each slot, processors are ordered by theirs dependencies on each other. For more documentation on how the processors actually work, refer to their Javadoc documentation.

Slot

Processor

Tested

Before phase 1

Graph Transformer
Comment Preprocessor
Edge And Layer Constraint Edge Reverser


Before phase 2

Label Dummy Inserter

Before phase 3

Layer Constraint Processor
Hierarchical Port Constraint Processor
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

In Layer Constraint Processor
Hierarchical Port Dummy Size Processor
Hyperedge Dummy Merger
Label Side Selector
Label And Node Size Processor
Node Margin Calculator


Before phase 5

Layer Size and Graph Height Calculator
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
Graph Transformer
End Label Processor





Tags: