net.walend.measured
Interface CEPathMeter

All Known Subinterfaces:
PathMeter
All Known Implementing Classes:
CEBellmanFordTest.BFPathMeter, ShortestCEDistancesTest.ShortPathMeter, ShortestCEPathTest.ShortPathMeter, SimpleCEPathMeter, SimplePathMeter, TestPathMeter

public interface CEPathMeter

PathMeters measure the cost to enter and leave nodes and cross edges. These are most often used by other algorithms to find the cost of travelling a specific CEPath. Write one of these and feed it to the algorithm with the path or directed graph.

For GEDigraphs and GEPaths, the costToCross method will receive the GENERICEDGE object.

If a method receives an argument that it can not evaluate, throw an IllegalArgumentException. If your PathMeter really only works with doubles and converting to an int makes no sense, throw an UnsupportedOperationException where the method returns an int. Else, describe what rounding rules you are using.

Author:
David Walend dfw1@cornell.edu

Field Summary
static java.lang.Object GENERICEDGE
          A marker object for working with GEDigraphs and GEPaths.
 
Method Summary
 double costToCross(java.lang.Object fromNode, java.lang.Object toNode, java.lang.Object edge)
          The cost to cross an edge.
 int intCostToCross(java.lang.Object fromNode, java.lang.Object toNode, java.lang.Object edge)
          The cost to cross an edge.
 boolean negativeWeightEdges()
          Returns true if this PathMeter can return negative weight edges, false if not.
 

Field Detail

GENERICEDGE

public static final java.lang.Object GENERICEDGE
A marker object for working with GEDigraphs and GEPaths.

Method Detail

costToCross

public double costToCross(java.lang.Object fromNode,
                          java.lang.Object toNode,
                          java.lang.Object edge)
The cost to cross an edge.

Parameters:
edge - is the edge object. In a generic-edge path or digraph, this will be GENERICEDGE.

intCostToCross

public int intCostToCross(java.lang.Object fromNode,
                          java.lang.Object toNode,
                          java.lang.Object edge)
The cost to cross an edge.

Parameters:
edge - is the edge object. In a generic-edge path or digraph, this will be GENERICEDGE.

negativeWeightEdges

public boolean negativeWeightEdges()
Returns true if this PathMeter can return negative weight edges, false if not. Shortest path algorithms use this method to trigger the bellman-ford algorithm to detect negative weight cycles. If you're not sure, return true.



Copyright (c) 2001, 2002, David Walend