de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg
Interface ICycleRemover

All Superinterfaces:
IAlgorithm
All Known Implementing Classes:
AbstractCycleRemover, DFSCycleRemover, GreedyCycleRemover, InteractiveCycleRemover

public interface ICycleRemover
extends IAlgorithm

Interface for algorithms for removal of cycles in a layout graph.

Rating proposed yellow
(2009-12-11) msp

Field Summary
static int REVERSED
          rank value for edges that were reversed.
 
Method Summary
 List<KSlimEdge> getReversedEdges()
          Returns the list of edges that were reversed for cycle removal.
 void removeCycles(KSlimGraph graph)
          Remove cycles in a given graph.
 void restoreGraph()
          Restore the original graph after cycles have been removed.
 
Methods inherited from interface de.cau.cs.kieler.core.alg.IAlgorithm
reset, reset, setProgressMonitor
 

Field Detail

REVERSED

static final int REVERSED
rank value for edges that were reversed.

See Also:
Constant Field Values
Method Detail

removeCycles

void removeCycles(KSlimGraph graph)
Remove cycles in a given graph. Loops on a single node are ignored and have to be processed properly in later steps. Each edge is assigned a rank with value REVERSED if and only if the edge was reversed for cycle removal.

Parameters:
graph - graph to be processed

restoreGraph

void restoreGraph()
Restore the original graph after cycles have been removed.


getReversedEdges

List<KSlimEdge> getReversedEdges()
Returns the list of edges that were reversed for cycle removal.

Returns:
list of reversed edges