de.cau.cs.kieler.klay.layered.p5edges
Class OrthogonalEdgeRouter
java.lang.Object
de.cau.cs.kieler.core.alg.AbstractAlgorithm
de.cau.cs.kieler.klay.layered.p5edges.OrthogonalEdgeRouter
- All Implemented Interfaces:
- IAlgorithm, ILayoutPhase, ILayoutProcessor
public class OrthogonalEdgeRouter
- extends AbstractAlgorithm
- implements ILayoutPhase
Edge routing implementation that creates orthogonal bend points. Inspired by
- Georg Sander. Layout of directed hypergraphs with orthogonal hyperedges. In
Proceedings of the 11th International Symposium on Graph Drawing (GD '03),
volume 2912 of LNCS, pp. 381-386. Springer, 2004.
- Giuseppe di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis,
Graph Drawing: Algorithms for the Visualization of Graphs,
Prentice Hall, New Jersey, 1999 (Section 9.4, for cycle breaking in the
hyperedge segment graph)
- Precondition:
- the graph has a proper layering with
assigned node and port positions; the size of each layer is
correctly set; edges connected to ports on strange sides were
processed
- Postcondition:
- each node is assigned a horizontal coordinate;
the bend points of each edge are set; the width of the whole graph is set
- Rating

Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OrthogonalEdgeRouter
public OrthogonalEdgeRouter()
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