Class TLcdTracingAlgorithm
java.lang.Object
com.luciad.network.algorithm.routing.TLcdTracingAlgorithm
- All Implemented Interfaces:
ILcdTracingAlgorithm
Implementation of a tracing algorithm, based on the Dijkstra algorithm but
adapted to work with complex edge value functions.
- Since:
- 5.1
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<N,
E> void getPredecessors
(ILcdGraph<N, E> aGraph, ILcdRoute<N, E> aSucceedingRoute, ILcdEdgeValueFunction<N, E> aEdgeValueFunction, ILcdTracingResultHandler<N, E> aResultHandler, double aDistance) Calculates all traces in the graph leading to the start node ofaSucceedingroute
, within a given maximum range.<N,
E> void getSuccessors
(ILcdGraph<N, E> aGraph, ILcdRoute<N, E> aPrecedingRoute, ILcdEdgeValueFunction<N, E> aEdgeValueFunction, ILcdTracingResultHandler<N, E> aResultHandler, double aDistance) Calculates all traces in the graph starting from the end node ofaPrecedingRoute
, within a given maximum range.
-
Constructor Details
-
TLcdTracingAlgorithm
public TLcdTracingAlgorithm()Constructs a newTLcdTracingAlgorithm
.
-
-
Method Details
-
getSuccessors
public <N,E> void getSuccessors(ILcdGraph<N, E> aGraph, ILcdRoute<N, E> aPrecedingRoute, ILcdEdgeValueFunction<N, E> aEdgeValueFunction, ILcdTracingResultHandler<N, E> aResultHandler, double aDistance) Description copied from interface:ILcdTracingAlgorithm
Calculates all traces in the graph starting from the end node ofaPrecedingRoute
, within a given maximum range.- Specified by:
getSuccessors
in interfaceILcdTracingAlgorithm
- Parameters:
aGraph
- the graph whose trace is to be calculated.aPrecedingRoute
- the route whose successors are to be searched. Only the lastn
edges of the route will have an influence on the result, wheren
is equal to the order of the givenILcdEdgeValueFunction
.aEdgeValueFunction
- a function that returns values (distances) for edges.aResultHandler
- the handler that accepts all found traces. See the specification ofILcdTracingResultHandler
for more details.aDistance
- the range wherein the trace should be constructed.
-
getPredecessors
public <N,E> void getPredecessors(ILcdGraph<N, E> aGraph, ILcdRoute<N, E> aSucceedingRoute, ILcdEdgeValueFunction<N, E> aEdgeValueFunction, ILcdTracingResultHandler<N, E> aResultHandler, double aDistance) Description copied from interface:ILcdTracingAlgorithm
Calculates all traces in the graph leading to the start node ofaSucceedingroute
, within a given maximum range.- Specified by:
getPredecessors
in interfaceILcdTracingAlgorithm
- Parameters:
aGraph
- the graph in which the trace is to be calculated.aSucceedingRoute
- the route whose predecessors are to be searched. Only the firstn
edges of the route will have an influence on the result, wheren
is equal to the order of the givenILcdEdgeValueFunction
.aEdgeValueFunction
- a function that returns values (distances) for edges.aResultHandler
- the handler that accepts all found traces. See the specification ofILcdTracingResultHandler
for more details.aDistance
- the range wherein the trace should be constructed.
-