de.cau.cs.kieler.klay.layered.p4nodes
Class LinearSegmentsNodePlacer
java.lang.Object
de.cau.cs.kieler.core.alg.AbstractAlgorithm
de.cau.cs.kieler.klay.layered.p4nodes.LinearSegmentsNodePlacer
- All Implemented Interfaces:
- IAlgorithm, ILayoutPhase, ILayoutProcessor
public class LinearSegmentsNodePlacer
- extends AbstractAlgorithm
- implements ILayoutPhase
Node placement implementation that aligns long edges using linear segments. Inspired by Section 4
of
- Georg Sander. A fast heuristic for hierarchical manhattan layout. In Proceedings of the
Symposium on Graph Drawing (GD '95), pp. 447-458, Springer, 1996.
- Precondition:
- the graph has a proper layering with
optimized nodes ordering; ports are properly arranged
- Postcondition:
- each node is assigned a vertical coordinate
such that no two nodes overlap; the size of each layer is set according
to the area occupied by contained nodes; the height of the graph is set
to the maximal layer height
- Rating

Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LinearSegmentsNodePlacer
public LinearSegmentsNodePlacer()
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
.
reset
public void reset()
- Removes the associated progress monitor. Any subclass that overrides this
method should call
super.reset()
.
- Specified by:
reset
in interface IAlgorithm
- Overrides:
reset
in class AbstractAlgorithm
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
getLinearSegments
public LinearSegmentsNodePlacer.LinearSegment[] getLinearSegments()
- Returns:
- the linear segments