de.cau.cs.kieler.klay.layered.intermediate
Class SubgraphOrderingProcessor

java.lang.Object
  extended by de.cau.cs.kieler.core.alg.AbstractAlgorithm
      extended by de.cau.cs.kieler.klay.layered.intermediate.SubgraphOrderingProcessor
All Implemented Interfaces:
IAlgorithm, ILayoutProcessor

public class SubgraphOrderingProcessor
extends AbstractAlgorithm
implements ILayoutProcessor

Postprocesses the node ordering phase to ensure that subgraphs are not intertwined across the layers. The approach is inspired by Georg Sander, "Layout of Compound Graphs", Technical Report A/03/96, Universität des Saarlandes, 1996.

Precondition:
A layered graph. The node ordering has taken place. The nodes on a layer that belong to the same compound node are placed in an unbroken sequence in the layer.
Postcondition:
The nodes are ordered such that the subgraphs have the same relative position on all layers. The nodes of one subgraph on one layer are still placed next to each other without other nodes between them.
Slots:
After phase 3.
Same-slot dependencies:
none.

Rating red

Constructor Summary
SubgraphOrderingProcessor()
           
 
Method Summary
 void process(LayeredGraph layeredGraph)
          Performs the phase's work on the given graph.
 
Methods inherited from class de.cau.cs.kieler.core.alg.AbstractAlgorithm
getMonitor, reset, reset, setProgressMonitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.cau.cs.kieler.core.alg.IAlgorithm
reset, reset, setProgressMonitor
 

Constructor Detail

SubgraphOrderingProcessor

public SubgraphOrderingProcessor()
Method Detail

process

public void process(LayeredGraph layeredGraph)
Performs the phase's work on the given graph.

Specified by:
process in interface ILayoutProcessor
Parameters:
layeredGraph - a layered graph