21 package org.matsim.core.router;
33 import java.util.ArrayList;
35 abstract class AbstractFastRouterDelegate
implements FastRouterDelegate {
41 this.dijkstra = dijkstra;
42 this.nodeDataFactory = nodeDataFactory;
46 public void initialize() {
51 public Path constructPath(
Node fromNode,
Node toNode,
double startTime,
double arrivalTime) {
52 ArrayList<Node> nodes =
new ArrayList<>();
53 ArrayList<Link> links =
new ArrayList<>();
56 Link tmpLink = getData(toNode).getPrevLink();
77 while (tmpLink != null) {
80 tmpLink = getData(tmpLink.
getFromNode()).getPrevLink();
84 NodeData toNodeData = getData(toNode);
85 return new Path(nodes, links, arrivalTime - startTime, toNodeData.
getCost());
92 NodeData outData = getData(routingNetworkNode);
93 double currTime = outData.
getTime();
94 double currCost = outData.
getCost();
95 if (this.dijkstra.pruneDeadEnds) {
99 this.dijkstra.relaxNodeLogic(l, pendingNodes, currTime, currCost, toNode, ddOutData);
103 this.dijkstra.relaxNodeLogic(l, pendingNodes, currTime, currCost, toNode, null);
RoutingNetworkNode getFromNode()
RoutingNetworkLink [] getOutLinksArray()