2020.1.22

## Graph and Routing EngineInterface ILcdTracingAlgorithm

• All Known Implementing Classes:
TLcdTracingAlgorithm

`public interface ILcdTracingAlgorithm`
`ILcdTracingAlgorithm` is an interface for algorithms that find the trace that starts from or leads to a given edge or node.
Since:
5.1
• ### Method Summary

All Methods
Modifier and Type Method and Description
`<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 of `aSucceedingroute`, 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 of `aPrecedingRoute`, within a given maximum range.
• ### Method Detail

• #### getPredecessors

```<N,E> void getPredecessors(ILcdGraph<N,E> aGraph,
ILcdRoute<N,E> aSucceedingRoute,
ILcdEdgeValueFunction<N,E> aEdgeValueFunction,
ILcdTracingResultHandler<N,E> aResultHandler,
Calculates all traces in the graph leading to the start node of `aSucceedingroute`, within a given maximum range.
Parameters:
`aGraph` - the graph in which the trace is to be calculated.
`aSucceedingRoute` - the route whose predecessors are to be searched. Only the first `n` edges of the route will have an influence on the result, where `n` is equal to the order of the given `ILcdEdgeValueFunction`.
`aEdgeValueFunction` - a function that returns values (distances) for edges.
`aResultHandler` - the handler that accepts all found traces. See the specification of `ILcdTracingResultHandler`for more details.
`aDistance` - the range wherein the trace should be constructed.
Throws:
`java.lang.IllegalArgumentException` - if the given route is not completely contained in the graph.
`java.lang.IllegalArgumentException` - if the given route is an empty route. It should at least contain one node.
`java.lang.NullPointerException` - if one of the arguments is `null`.
• #### getSuccessors

```<N,E> void getSuccessors(ILcdGraph<N,E> aGraph,
ILcdRoute<N,E> aPrecedingRoute,
ILcdEdgeValueFunction<N,E> aEdgeValueFunction,
ILcdTracingResultHandler<N,E> aResultHandler,
Calculates all traces in the graph starting from the end node of `aPrecedingRoute`, within a given maximum range.
Parameters:
`aGraph` - the graph whose trace is to be calculated.
`aPrecedingRoute` - the route whose successors are to be searched. Only the last `n` edges of the route will have an influence on the result, where `n` is equal to the order of the given `ILcdEdgeValueFunction`.
`aEdgeValueFunction` - a function that returns values (distances) for edges.
`aResultHandler` - the handler that accepts all found traces. See the specification of `ILcdTracingResultHandler`for more details.
`aDistance` - the range wherein the trace should be constructed.
Throws:
`java.lang.IllegalArgumentException` - if the given route is not completely contained in the graph.
`java.lang.IllegalArgumentException` - if the given route is an empty route. It should at least contain one node.
`java.lang.NullPointerException` - if one of the arguments is `null`.