21 package org.matsim.core.router;
58 super(routingNetwork, preProcessData, costFunction, timeFunction, overdoFactor);
63 this.nodeData.clear();
73 this.fastRouter.initialize();
79 return super.calcLeastCostPath(routingNetworkFromNode, routingNetworkToNode, startTime, person, vehicle);
89 int size = this.routingNetwork.
getNodes().size();
90 if (this.heap == null || this.maxSize != size) {
99 return super.createRouterPriorityQueue();
109 return this.fastRouter.constructPath(fromNode, toNode, startTime, arrivalTime);
119 this.controlCounter++;
120 if (this.controlCounter == controlInterval) {
121 int newLandmarkIndex = checkToAddLandmark(outNode, toNode);
122 if (newLandmarkIndex > 0) {
123 updatePendingNodes(newLandmarkIndex, toNode, pendingNodes);
125 this.controlCounter = 0;
128 this.fastRouter.relaxNode(outNode, toNode, pendingNodes);
final double overdoFactor
PreProcessLandmarks.LandmarksData getPreProcessData(final Node n)
Path constructPath(Node fromNode, Node toNode, double startTime, double arrivalTime)
Map< Id< Node >, RoutingNetworkNode > getNodes()
final RoutingNetwork routingNetwork
final FastRouterDelegate fastRouter
final PreProcessDijkstra preProcessData
final TravelDisutility costFunction
void relaxNode(final Node outNode, final Node toNode, final RouterPriorityQueue< Node > pendingNodes)
AStarNodeData getData(final Node n)
final TravelTime timeFunction
Path calcLeastCostPath(final Node fromNode, final Node toNode, final double startTime, final Person person, final Vehicle vehicle)
FastRouterDelegate createFastRouterDelegate(Dijkstra dijkstra, NodeDataFactory nodeDataFactory, RoutingNetwork routingNetwork)
BinaryMinHeap< ArrayRoutingNetworkNode > heap