public class TLcdCompositeEdgeValueFunction<N,E> extends Object implements ILcdEdgeValueFunction<N,E>
TLcdCompositeEdgeValueFunction
provides an implementation of
ILcdEdgeValueFunction
which can be used to compose a complex
edge value function out of two or more simple edge value functions.Constructor and Description |
---|
TLcdCompositeEdgeValueFunction(ILcdEdgeValueFunction<N,E>[] aEdgeValueFunctions)
Constructs a new
TLcdCompositeEdgeValueFunction with the given
array of ILcdEdgeValueFunction . |
Modifier and Type | Method and Description |
---|---|
double |
computeEdgeValue(ILcdGraph<N,E> aGraph,
ILcdRoute<N,E> aPrecedingRoute,
E aEdge,
TLcdTraversalDirection aTraversalDirection)
Returns the value associated with the given edge.
|
int |
getOrder()
Returns the order of this function.
|
public TLcdCompositeEdgeValueFunction(ILcdEdgeValueFunction<N,E>[] aEdgeValueFunctions)
TLcdCompositeEdgeValueFunction
with the given
array of ILcdEdgeValueFunction
.aEdgeValueFunctions
- the edge functions from which this edge function
is composed.NullPointerException
- if the array is null
.public double computeEdgeValue(ILcdGraph<N,E> aGraph, ILcdRoute<N,E> aPrecedingRoute, E aEdge, TLcdTraversalDirection aTraversalDirection)
computeEdgeValue
in interface ILcdEdgeValueFunction<N,E>
aGraph
- the graph from which the edge is part.aPrecedingRoute
- 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.aEdge
- 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
- aEdge
public int getOrder()
getOrder
in interface ILcdEdgeValueFunction<N,E>