de.cau.cs.kieler.klay.layered.intermediate
Class HierarchicalPortOrthogonalEdgeRouter
java.lang.Object
de.cau.cs.kieler.core.alg.AbstractAlgorithm
de.cau.cs.kieler.klay.layered.intermediate.HierarchicalPortOrthogonalEdgeRouter
- All Implemented Interfaces:
- IAlgorithm, ILayoutProcessor
public class HierarchicalPortOrthogonalEdgeRouter
- extends AbstractAlgorithm
- implements ILayoutProcessor
This processor does the job of routing edges connected to hierarchical ports.
Without going too much into the details, it does so in six distinct steps:
- Dummy nodes created for northern and southern hierarchical ports are restored and
connected to the nodes formerly created in their stead.
- The coordinates of these dummy nodes - and thus of the hierarchical ports they
represent - are calculated and applied.
- The edges connected to northern and southern hierarchical ports are routed.
- The temporary dummy nodes are removed, thereby restoring the original bijective
relationship between external ports and the dummy nodes created to represent them.
- Due to the necessity of having to route these edges, additional height may be
required, which in turn may invalidate the y coordinates of eastern and western
hierarchical port dummy nodes. Those are corrected in this step.
That may in turn have produced slanted edge segments, which are corrected in the
final step.
- Precondition:
- A layered graph, with edge routing finished for edges not incident
to external ports; long edge dummies are not yet joined.
- Postcondition:
- All external port dummy nodes left map onto an actual external port;
the coordinates of external port dummy nodes specify the coordinates of their respective
external port; all external port dummy nodes have a size of (0, 0); edges connected to
external ports have their bend points set.
- Slots:
- After phase 5.
- Same-slot dependencies:
- None.
- See Also:
HierarchicalPortConstraintProcessor
,
HierarchicalPortDummySizeProcessor
,
HierarchicalPortPositionProcessor
,
OrthogonalRoutingGenerator
- Rating

Method Summary |
void |
process(LayeredGraph layeredGraph)
Performs the phase's work on the given graph. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HierarchicalPortOrthogonalEdgeRouter
public HierarchicalPortOrthogonalEdgeRouter()
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