public abstract class ALcdTurnValueFunction<N,E> extends java.lang.Object implements ILcdEdgeValueFunction<N,E>
ALcdTurnValueFunctionis an abstract class which can be used to implement edge functions that associate values with turns involving only two edges.
|Constructor and Description|
Constructs a new
|Modifier and Type||Method and Description|
Returns the value associated with
Returns the value associated with the given turn.
Returns the order of this function.
public final double computeEdgeValue(ILcdGraph<N,E> aGraph, ILcdRoute<N,E> aRoute, E aNextEdge, TLcdTraversalDirection aTraversalDirection)
aGraph- the graph from which the edge is part.
aRoute- the route, to which the edge connects (i.e. the end node of this route is one of the two nodes connected by the edge). Depending on the function, the information used from this route in the calculation of the edge value can differ: a simple distance function will not use any information from this route, while a turn function which describes a relationship between two succeeding edges will typically use the last edge of the route in its calculation. The route should be completely contained in the given graph, otherwise the correct behavior of this method is not guaranteed.
aNextEdge- the edge for which a value should be returned. This edge should be part of the given graph and adjacent to the end of the given route, otherwise the correct behavior of this method is not guaranteed.
aTraversalDirection- indicating whether the traversal direction should be forward or backward. If
BACKWARD, the given edge will be traversed in opposite direction, and the preceding route becomes thus the succeeding route and vice versa.
public final int getOrder()
public abstract double computeTurnValue(ILcdGraph<N,E> aGraph, E aEdge, N aNode, E aNextEdge, TLcdTraversalDirection aTraversalDirection)
aGraph- the graph in which the edges and node, forming the turn, are contained.
aEdge- the first edge of the turn.
aNode- the turn point.
aNextEdge- the second edge of the turn.
java.lang.IllegalArgumentException- One or more of the edges or node are not contained in the given graph.
java.lang.NullPointerException- one of the arguments is