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

java.lang.Object
  extended by de.cau.cs.kieler.klay.layered.p3order.ForsterConstraintResolver
All Implemented Interfaces:
IConstraintResolver

public class ForsterConstraintResolver
extends Object
implements IConstraintResolver

Detects and resolves violated constraints. Inspired by: Michael Forster. A fast and simple heuristic for constrained two-level crossing reduction. In Graph Drawing, volume 3383 of LNCS, pp. 206-216. Springer, 2005.

Rating red

Constructor Summary
ForsterConstraintResolver()
           
 
Method Summary
 void processConstraints(List<NodeGroup> nodeGroups, int layerIndex, Random random, Map<LNode,NodeGroup>[] singleNodeNodeGroups, com.google.common.collect.Multimap<LNode,LNode> layoutUnits)
          Finds and handles violated constraints.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForsterConstraintResolver

public ForsterConstraintResolver()
Method Detail

processConstraints

public void processConstraints(List<NodeGroup> nodeGroups,
                               int layerIndex,
                               Random random,
                               Map<LNode,NodeGroup>[] singleNodeNodeGroups,
                               com.google.common.collect.Multimap<LNode,LNode> layoutUnits)
Finds and handles violated constraints.

Specified by:
processConstraints in interface IConstraintResolver
Parameters:
nodeGroups - the array of single-node vertices sorted by their barycenter values.
layerIndex - the layer index.
random - the random number generator.
singleNodeNodeGroups - a map of single-node NodeGroups for each layer.
layoutUnits - a map associating layout units with their respective members.