21 package org.matsim.core.router;
29 class ArrayFastRouterDelegate
extends AbstractFastRouterDelegate {
31 private final ArrayRoutingNetwork network;
32 private final NodeData[] nodeData;
33 private boolean isInitialized =
false;
35 ArrayFastRouterDelegate(
final Dijkstra dijkstra,
final NodeDataFactory nodeDataFactory,
36 final ArrayRoutingNetwork network) {
37 super(dijkstra, nodeDataFactory);
38 this.network = network;
39 this.nodeData =
new NodeData[network.getNodes().size()];
43 public final void initialize() {
46 for (Node node : this.network.getNodes().values()) {
47 int index = ((ArrayRoutingNetworkNode) node).getArrayIndex();
48 this.nodeData[index] = nodeDataFactory.createNodeData();
51 this.isInitialized =
true;
58 public NodeData getData(
final Node n) {
59 ArrayRoutingNetworkNode routingNetworkNode = (ArrayRoutingNetworkNode) n;
60 return this.nodeData[routingNetworkNode.getArrayIndex()];