suvi.alg.policies
Class HeuristicNodePositioningPolicy

java.lang.Object
  |
  +--javautils.collections.Algs
        |
        +--javautils.graph.Graphs
              |
              +--suvi.alg.util.NodePositioningPolicies
                    |
                    +--suvi.alg.policies.HeuristicNodePositioningPolicy
All Implemented Interfaces:
GraphLayoutAttrConsumer, NodePositioningPolicy

public class HeuristicNodePositioningPolicy
extends NodePositioningPolicies
implements NodePositioningPolicy

A generalized policy for positioning nodes using heuristics.


Nested Class Summary
static interface HeuristicNodePositioningPolicy.Heuristic
          A heuristic for positioning nodes.
static interface HeuristicNodePositioningPolicy.HeuristicContext
          Information on the context in which a heuristic is being performed.
static interface HeuristicNodePositioningPolicy.HeuristicFactory
          A Factory [Gamma1995] for creating a heuristic in a context.
 
Field Summary
static HeuristicNodePositioningPolicy.HeuristicFactory[] DEFAULT_HEURISTIC_FACTORIES
           
static int DEFAULT_MAX_PASSES
           
static int DEFAULT_MAX_PASSES_TO_IMPROVE
           
static double DEFAULT_REAL_REAL_WEIGHT
           
static double DEFAULT_REAL_VIRTUAL_WEIGHT
           
static double DEFAULT_VIRTUAL_VIRTUAL_WEIGHT
           
static HeuristicNodePositioningPolicy.HeuristicFactory MEDIAN_HEURISTIC_FACTORY
          Implements the median heuristic as described in [Gansner1993].
static HeuristicNodePositioningPolicy.HeuristicFactory MIN_EDGE_HEURISTIC_FACTORY
           
static HeuristicNodePositioningPolicy.HeuristicFactory MIN_NODE_HEURISTIC_FACTORY
           
static HeuristicNodePositioningPolicy.HeuristicFactory MIN_PATH_HEURISTIC_FACTORY
           
static HeuristicNodePositioningPolicy.HeuristicFactory PACK_CUT_HEURISTIC_FACTORY
          Implements the pack-cut heuristic as desribed in [Gansner1993].
 
Fields inherited from class javautils.collections.Algs
EMPTY_ARRAY, EMPTY_LIST, EMPTY_MAP, EMPTY_SEQUENCE, EMPTY_SET
 
Constructor Summary
HeuristicNodePositioningPolicy()
           
HeuristicNodePositioningPolicy(int maxPasses, int maxPassesToImprove, double realRealWeight, double realVirtualWeight, double virtualVirtualWeight, HeuristicNodePositioningPolicy.HeuristicFactory[] heuristicFactories)
           
 
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 suvi.alg.util.NodePositioningPolicies
maxHeights, newNodePositioning, positions
 
Methods inherited from class javautils.graph.Graphs
asSourceTargetPair, asString, asString, augmented, connectedComponents, edges, edgeSet, forEachEdge, forEachNode, inducedByEdgesAndContainingNodes, invariant, isAcyclic, isIncoming, isSelf, nodesByDecreasingDfsFinishingTime, nodesByIncreasingIndegree, nodesByIncreasingOutdegree, nodeSet, nodesReachableFrom, nodesReachableFrom, nodesReachableFrom, otherNode, randomGraph, restrictedToNodes, restrictedToNodes, restrictedToNodes, sameNodesAndEdges, stronglyConnectedComponents, transitiveIrreflexiveClosure, transposed, transposed, undirected
 
Methods inherited from class javautils.collections.Algs
addAll, allSuperInterfaces, asArray, asArray, asComparator, asUnmodifiableList, collect, collectMap, collectSet, collectUnmodifiable, concat, concat, concat, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOfArray, ensureLength, exists, exists, exists, filter, filter, filter, find, find, find, flatten, flatten, flatten, fold, fold, fold, foldRight, foldRight, foldRight, forAll, forAll, forAll, forEach, forEach, forEach, forEach, forEach, forEach, forEachInProduct, forEachInProduct, forEachInProduct, forEachInProduct, genAddAll, genConcat, genConcat, genForEach, genForEach, getOrIfNull, integersInRange, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iterator, iteratorOverArray, map, map, map, map, map, map, mapMorphism, mapMorphismTo, mapTransform, max, max, max, max, max, max, max, min, min, min, min, min, min, min, newMap, newShapedArray, newUnmodifiableList, putAll, putAll, reverseIterator, reverseIterator, select, select, select, sign, singletonIterator, sort, sort, sorted, sorted, transform, transform, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_PASSES

public static final int DEFAULT_MAX_PASSES
See Also:
Constant Field Values

DEFAULT_MAX_PASSES_TO_IMPROVE

public static final int DEFAULT_MAX_PASSES_TO_IMPROVE
See Also:
Constant Field Values

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

MEDIAN_HEURISTIC_FACTORY

public static final HeuristicNodePositioningPolicy.HeuristicFactory MEDIAN_HEURISTIC_FACTORY

Implements the median heuristic as described in [Gansner1993].


MIN_EDGE_HEURISTIC_FACTORY

public static final HeuristicNodePositioningPolicy.HeuristicFactory MIN_EDGE_HEURISTIC_FACTORY

MIN_NODE_HEURISTIC_FACTORY

public static final HeuristicNodePositioningPolicy.HeuristicFactory MIN_NODE_HEURISTIC_FACTORY

MIN_PATH_HEURISTIC_FACTORY

public static final HeuristicNodePositioningPolicy.HeuristicFactory MIN_PATH_HEURISTIC_FACTORY

PACK_CUT_HEURISTIC_FACTORY

public static final HeuristicNodePositioningPolicy.HeuristicFactory PACK_CUT_HEURISTIC_FACTORY

Implements the pack-cut heuristic as desribed in [Gansner1993].


DEFAULT_HEURISTIC_FACTORIES

public static final HeuristicNodePositioningPolicy.HeuristicFactory[] DEFAULT_HEURISTIC_FACTORIES
Constructor Detail

HeuristicNodePositioningPolicy

public HeuristicNodePositioningPolicy()

HeuristicNodePositioningPolicy

public HeuristicNodePositioningPolicy(int maxPasses,
                                      int maxPassesToImprove,
                                      double realRealWeight,
                                      double realVirtualWeight,
                                      double virtualVirtualWeight,
                                      HeuristicNodePositioningPolicy.HeuristicFactory[] heuristicFactories)
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