@Override public Path calcPath(int from, int to) { fromNode = from; endNode = findEndNode(from, to); return extractPath(); }
@Test public void testIssue239_and362() { GraphHopperStorage g = createGHStorage(false); g.edge(0, 1, 1, true); g.edge(1, 2, 1, true); g.edge(2, 0, 1, true); g.edge(4, 5, 1, true); g.edge(5, 6, 1, true); g.edge(6, 4, 1, true); DijkstraOneToMany algo = (DijkstraOneToMany) createAlgo(g); assertEquals(-1, algo.findEndNode(0, 4)); assertEquals(-1, algo.findEndNode(0, 4)); assertEquals(1, algo.findEndNode(0, 1)); assertEquals(1, algo.findEndNode(0, 1)); }
@Test public void testShortestPathLimit() { createExampleGraph(); DijkstraOneToMany algo = new DijkstraOneToMany(graph, weighting, traversalMode); setMaxLevelOnAllNodes(); algo.setEdgeFilter(createIgnoreNodeFilter(0)); algo.setWeightLimit(2); int endNode = algo.findEndNode(4, 1); // did not reach endNode assertNotEquals(1, endNode); }
@Test public void testShortestPathSkipNode2() { createExampleGraph(); final double normalDist = new Dijkstra(graph, weighting, traversalMode).calcPath(4, 2).getDistance(); assertEquals(3, normalDist, 1e-5); DijkstraOneToMany algo = new DijkstraOneToMany(graph, weighting, traversalMode); setMaxLevelOnAllNodes(); algo.setEdgeFilter(createIgnoreNodeFilter(3)); algo.setWeightLimit(10); int nodeEntry = algo.findEndNode(4, 2); assertEquals(4, algo.getWeight(nodeEntry), 1e-5); nodeEntry = algo.findEndNode(4, 1); assertEquals(4, algo.getWeight(nodeEntry), 1e-5); }
@Test public void testShortestPathSkipNode() { createExampleGraph(); final double normalDist = new Dijkstra(graph, weighting, traversalMode).calcPath(4, 2).getDistance(); DijkstraOneToMany algo = new DijkstraOneToMany(graph, weighting, traversalMode); CHGraph lg = graph.getGraph(CHGraph.class); setMaxLevelOnAllNodes(); algo.setEdgeFilter(createIgnoreNodeFilter(3)); algo.setWeightLimit(100); int nodeEntry = algo.findEndNode(4, 2); assertTrue(algo.getWeight(nodeEntry) > normalDist); algo.clear(); algo.setMaxVisitedNodes(1); nodeEntry = algo.findEndNode(4, 2); assertEquals(-1, nodeEntry); }
int endNode = prepareAlgo.findEndNode(fromNode, toNode); dijkstraSW.stop();
@Override public Path calcPath(int from, int to) { fromNode = from; endNode = findEndNode(from, to); return extractPath(); }
@Override public Path calcPath(int from, int to) { fromNode = from; endNode = findEndNode(from, to); return extractPath(); }
@Override public Path calcPath( int from, int to ) { fromNode = from; endNode = findEndNode(from, to); return extractPath(); }
int endNode = prepareAlgo.findEndNode(u_fromNode, w_toNode); dijkstraSW.stop();
int endNode = prepareAlgo.findEndNode(u_fromNode, w_toNode); dijkstraSW.stop();
int endNode = prepareAlgo.findEndNode(fromNode, toNode); dijkstraSW.stop();