/*package*/ ArrayFastRouterDelegate(final Dijkstra dijkstra, final NodeDataFactory nodeDataFactory, final ArrayRoutingNetwork network) { super(dijkstra, nodeDataFactory); this.network = network; this.nodeData = new NodeData[network.getNodes().size()]; }
this.linkArrayIndexCounter = 0; ArrayRoutingNetwork routingNetwork = new ArrayRoutingNetwork(network); routingNetwork.addNode(routingNode); RoutingNetworkNode fromNode = routingNetwork.getNodes().get(link.getFromNode().getId()); RoutingNetworkNode toNode = routingNetwork.getNodes().get(link.getToNode().getId()); RoutingNetworkLink dijkstraLink = createRoutingNetworkLink(link, fromNode, toNode); routingLinks.put(dijkstraLink.getId(), dijkstraLink); RoutingNetworkNode dijkstraNode = routingNetwork.getNodes().get(node.getId()); dijkstraNode.setOutLinksArray(outLinks);
this.linkArrayIndexCounter = 0; ArrayRoutingNetwork routingNetwork = new ArrayRoutingNetwork(network); routingNetwork.addNode(routingNode); RoutingNetworkNode fromNode = routingNetwork.getNodes().get(link.getToNode().getId()); RoutingNetworkNode toNode = routingNetwork.getNodes().get(link.getFromNode().getId()); RoutingNetworkNode dijkstraNode = routingNetwork.getNodes().get(node.getId()); dijkstraNode.setOutLinksArray(outLinks);
@Override public final void initialize() { // lazy initialization if (!isInitialized) { for (Node node : this.network.getNodes().values()) { int index = ((ArrayRoutingNetworkNode) node).getArrayIndex(); this.nodeData[index] = nodeDataFactory.createNodeData(); } this.isInitialized = true; } }