KLay Mr. Tree - The Processors 

Page / - last modified by msp on 2023/07/11 10:33 

The Processors 
last modified by msp
on 2023/07/11 10:33

Table of Contents
Coordinate Processor
Fan Processor
LevelHeight Processor
Neighbors Processor
Root Processor
(De-)/Untreeifying Processor

This page gives an overview of the processors and their functions. Processors run between the main phases of the algorithm to solve some problems or just to calculate some simple values that are necessary for the next phases.
Coordinate Processor
A processor which sets the final coordinates for each node in a given graph. The property XCOOR has to be set before this processor is called. Since it sets the final coordinates of each nodes it is invoked after the Node Placer has done its work.
Fan Processor
This is a processor that computes the maximal fan out for each node in the given graph. The maximal fan out of a node is the maximal number of descendants it has got in one level. This is an attribute that is needed by the Node Orderer and hence the Fan Processor runs right before that phase.
LevelHeight Processor
 A processor which determines the height for each level by setting it to the height of the tallest node of the level. The LevelHeight Processor also runs before the Node Orderer.
Neighbors Processor
 The processor which determines the neighbors and siblings for all nodes in the graph. A neighbor is the current node's nearest node, at the same level. A sibling is a neighbor with the same parent. Last but not least the calculations of this processor are also needed by the Node Orderer.
Root Processor
A processor that connects all roots of a given graph to a super root which then is the new root of the graph. Necessary if a graph has multiple roots. This processor is invoked right after the "Treeifying" phase.
(De-)/Untreeifying Processor
 This processor should run as a post-processor for the first phase. It should run through the list of edges that once destroyed the tree property and simply insert that edges directly after layouting the graph. It runs after the edge routing and for now just inserts the previously deleted edges directly.