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

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

public class CompoundCycleProcessor
extends AbstractAlgorithm
implements ILayoutProcessor

Detects cyclic dependencies between compound nodes and reverts edges to remove them before simple cycle removal and layering.

Precondition:
A layered graph. All nodes have the ORIGIN-Property set to the KNode in the original graph that is represented by them.
Postcondition:
The layered graph contains no more cyclic dependencies.
Slots:
Before phase 1.
Same-slot dependencies:
none.

Rating red

Constructor Summary
CompoundCycleProcessor()
           
 
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

CompoundCycleProcessor

public CompoundCycleProcessor()
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