de.cau.cs.kieler.klay.layered.p3order
Class LayerSweepCrossingMinimizer

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

public class LayerSweepCrossingMinimizer
extends AbstractAlgorithm
implements ILayoutPhase

Crossing minimization module that performs one or more sweeps over the layers while applying a two-layer crossing minimization heuristic on each pair of layers. Inspired by

Precondition:
the graph has a proper layering, i.e. all long edges have been splitted; all nodes have at least fixed port sides.
Postcondition:
the order of nodes in each layer and the order of ports in each node are optimized to yield as few edge crossings as possible

Rating red

Constructor Summary
LayerSweepCrossingMinimizer()
           
 
Method Summary
 IntermediateProcessingStrategy getIntermediateProcessingStrategy(LayeredGraph graph)
          Returns the intermediate layout processors this phase depends on.
 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

LayerSweepCrossingMinimizer

public LayerSweepCrossingMinimizer()
Method Detail

getIntermediateProcessingStrategy

public IntermediateProcessingStrategy getIntermediateProcessingStrategy(LayeredGraph graph)
Returns the intermediate layout processors this phase depends on.

Specified by:
getIntermediateProcessingStrategy in interface ILayoutPhase
Parameters:
graph - the layered graph to be processed. The strategy may vary depending on certain properties of the graph.
Returns:
intermediate processing strategy. May be null.

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