21 package org.matsim.core.router;
23 import java.util.HashMap;
26 import jakarta.inject.Inject;
27 import jakarta.inject.Singleton;
46 private final Map<Network, PreProcessDijkstra>
preProcessData =
new HashMap<>();
60 switch (fastRouterType) {
65 throw new RuntimeException(
"PointerRoutingNetworks are no longer supported. " 66 +
"Use ArrayRoutingNetworks instead. Aborting!");
78 if (routingNetwork == null) {
81 if (this.usePreProcessData) {
83 preProcessDijkstra.
run(network);
84 this.preProcessData.put(network, preProcessDijkstra);
87 node.setDeadEndData(preProcessDijkstra.
getNodeData(node.getNode()));
91 this.routingNetworks.put(network, routingNetwork);
95 return new FastDijkstra(routingNetwork, travelCosts, travelTimes, preProcessDijkstra, fastRouterFactory);
FastDijkstraFactory(final boolean usePreProcessData)
final boolean usePreProcessData
Map< Id< Node >, RoutingNetworkNode > getNodes()
final RoutingNetworkFactory routingNetworkFactory
void run(final Network network)
FastDijkstraFactory(final boolean usePreProcessData, final FastRouterType fastRouterType)
DeadEndData getNodeData(final Node n)
synchronized LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes)
RoutingNetwork createRoutingNetwork(final Network network)
final Map< Network, PreProcessDijkstra > preProcessData
final Map< Network, RoutingNetwork > routingNetworks