suvi.alg.policies
Class OptimalNodePositioningPolicy

java.lang.Object
  |
  +--suvi.alg.policies.OptimalNodePositioningPolicy
All Implemented Interfaces:
GraphLayoutAttrConsumer, NodePositioningPolicy

public class OptimalNodePositioningPolicy
extends java.lang.Object
implements NodePositioningPolicy

Assigns optimal node positions minimizing the weighted sum of deviations from the main flow trend. Uses the network-simplex algorithm described in [Gansner1993].


Field Summary
static double DEFAULT_REAL_REAL_WEIGHT
           
static double DEFAULT_REAL_VIRTUAL_WEIGHT
           
static double DEFAULT_VIRTUAL_VIRTUAL_WEIGHT
           
 
Constructor Summary
OptimalNodePositioningPolicy()
           
OptimalNodePositioningPolicy(double realRealWeight, double realVirtualWeight, double virtualVirtualWeight)
           
 
Method Summary
 GraphLayoutAttr[] defaultAttrs()
          This policy uses the following attributes: EdgeWeightAttr NodeExtentAttr NodeGapAttr
 NodePositioning nodePositioning(javautils.graph.adt.AugmentedGraph original, javautils.graph.adt.AugmentedGraph preprocessed, GraphTopology topology, GraphLayoutAttrMap attrMap, AugmentedNodeRanking ranking, AugmentedNodeOrdering ordering)
          A node positioning for the graph.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_REAL_REAL_WEIGHT

public static final double DEFAULT_REAL_REAL_WEIGHT
See Also:
Constant Field Values

DEFAULT_REAL_VIRTUAL_WEIGHT

public static final double DEFAULT_REAL_VIRTUAL_WEIGHT
See Also:
Constant Field Values

DEFAULT_VIRTUAL_VIRTUAL_WEIGHT

public static final double DEFAULT_VIRTUAL_VIRTUAL_WEIGHT
See Also:
Constant Field Values
Constructor Detail

OptimalNodePositioningPolicy

public OptimalNodePositioningPolicy()

OptimalNodePositioningPolicy

public OptimalNodePositioningPolicy(double realRealWeight,
                                    double realVirtualWeight,
                                    double virtualVirtualWeight)
Method Detail

defaultAttrs

public GraphLayoutAttr[] defaultAttrs()

This policy uses the following attributes:

Specified by:
defaultAttrs in interface GraphLayoutAttrConsumer

nodePositioning

public NodePositioning nodePositioning(javautils.graph.adt.AugmentedGraph original,
                                       javautils.graph.adt.AugmentedGraph preprocessed,
                                       GraphTopology topology,
                                       GraphLayoutAttrMap attrMap,
                                       AugmentedNodeRanking ranking,
                                       AugmentedNodeOrdering ordering)
Description copied from interface: NodePositioningPolicy

A node positioning for the graph.

Specified by:
nodePositioning in interface NodePositioningPolicy