@Override public EdgeIteratorState edge(int a, int b, double distance, boolean bothDirections) { return edge(a, b).setDistance(distance).setFlags(baseGraph.encodingManager.flagsDefault(true, bothDirections)); }
edgeState.setDistance(sc.dist); edgeState.setSkippedEdges(sc.skippedEdge1, sc.skippedEdge2); setOrigEdgeCount(edgeState.getEdge(), sc.originalEdges);
long flags = car.setProperties(60, true, true); CHEdgeIteratorState iter5 = lg.shortcut(0, 2); iter5.setDistance(20).setFlags(flags); iter5.setSkippedEdges(iter1.getEdge(), iter2.getEdge()); CHEdgeIteratorState iter6 = lg.shortcut(2, 4); iter6.setDistance(28).setFlags(flags); iter6.setSkippedEdges(iter3.getEdge(), iter4.getEdge()); CHEdgeIteratorState tmp = lg.shortcut(0, 4); tmp.setDistance(40).setFlags(flags); tmp.setSkippedEdges(iter5.getEdge(), iter6.getEdge());
@Test public void testEdgeFilter() { graph = createGHStorage(); CHGraph g = getGraph(graph); g.edge(0, 1, 10, true); g.edge(0, 2, 20, true); g.edge(2, 3, 30, true); g.edge(10, 11, 1, true); graph.freeze(); CHEdgeIteratorState tmpIter = g.shortcut(3, 4); tmpIter.setDistance(40).setFlags(carEncoder.setAccess(0, true, true)); assertEquals(EdgeIterator.NO_EDGE, tmpIter.getSkippedEdge1()); assertEquals(EdgeIterator.NO_EDGE, tmpIter.getSkippedEdge2()); g.shortcut(0, 4).setDistance(40).setFlags(carEncoder.setAccess(0, true, true)); g.setLevel(0, 1); g.setLevel(4, 1); EdgeIterator iter = g.createEdgeExplorer(new LevelEdgeFilter(g)).setBaseNode(0); assertEquals(1, GHUtility.count(iter)); iter = g.createEdgeExplorer().setBaseNode(2); assertEquals(2, GHUtility.count(iter)); tmpIter = g.shortcut(5, 6); tmpIter.setSkippedEdges(1, 2); assertEquals(1, tmpIter.getSkippedEdge1()); assertEquals(2, tmpIter.getSkippedEdge2()); }
sc1to4.setFlags(PrepareEncoder.getScDirMask()); sc1to4.setWeight(2); sc1to4.setDistance(2); sc1to4.setSkippedEdges(iter1to3.getEdge(), iter3to4.getEdge()); sc4to6.setFlags(f); sc4to6.setWeight(2); sc4to6.setDistance(2); sc4to6.setSkippedEdges(iter4to5.getEdge(), iter5to6.getEdge()); sc6to4.setFlags(f); sc6to4.setWeight(3); sc6to4.setDistance(3); sc6to4.setSkippedEdges(iter6to8.getEdge(), iter8to4.getEdge());
CHEdgeIteratorState sc0_2 = g.shortcut(0, 2); int x = EdgeIterator.NO_EDGE; sc0_2.setWeight(w.calcWeight(edgeState01, false, x) + w.calcWeight(edgeState12, false, x)).setDistance(2 * dist).setFlags(oneDirFlags); sc0_2.setSkippedEdges(tmpEdgeId, edgeState12.getEdge()); tmpEdgeId = sc0_2.getEdge(); CHEdgeIteratorState sc0_3 = g.shortcut(0, 3); sc0_3.setWeight(sc0_2.getWeight() + w.calcWeight(edgeState23, false, x)).setDistance(3 * dist).setFlags(oneDirFlags); sc0_3.setSkippedEdges(tmpEdgeId, edgeState23.getEdge()); tmpEdgeId = sc0_3.getEdge(); CHEdgeIteratorState sc0_4 = g.shortcut(0, 4); sc0_4.setWeight(sc0_3.getWeight() + w.calcWeight(edgeState34, false, x)).setDistance(4).setFlags(oneDirFlags); sc0_4.setSkippedEdges(tmpEdgeId, edgeState34.getEdge()); tmpEdgeId = sc0_4.getEdge(); CHEdgeIteratorState sc0_5 = g.shortcut(0, 5); sc0_5.setWeight(sc0_4.getWeight() + w.calcWeight(edgeState45, false, x)).setDistance(5).setFlags(oneDirFlags); sc0_5.setSkippedEdges(tmpEdgeId, edgeState45.getEdge()); tmpEdgeId = sc0_5.getEdge(); CHEdgeIteratorState sc0_6 = g.shortcut(0, 6); sc0_6.setWeight(sc0_5.getWeight() + w.calcWeight(edgeState56, false, x)).setDistance(6).setFlags(oneDirFlags); sc0_6.setSkippedEdges(tmpEdgeId, edgeState56.getEdge()); g.setLevel(0, 10);
iter2_1.setDistance(2.8).setFlags(encoder.setProperties(10, true, false)); iter2_1.setSkippedEdges(iter1_1.getEdge(), iter1_2.getEdge()); CHEdgeIteratorState tmp = g2.shortcut(0, 7); tmp.setDistance(4.2).setFlags(encoder.setProperties(10, true, false)); tmp.setSkippedEdges(iter2_1.getEdge(), iter2_2.getEdge()); g2.setLevel(1, 0);
graph.freeze(); CHEdgeIteratorState tmp = lg.shortcut(1, 2); tmp.setDistance(10).setFlags(flags); tmp.setSkippedEdges(10, 11); tmp = lg.shortcut(1, 0); tmp.setDistance(20).setFlags(flags2); tmp.setSkippedEdges(12, 13); tmp = lg.shortcut(3, 1); tmp.setDistance(30).setFlags(flags2); tmp.setSkippedEdges(14, 15);
@Override public EdgeIteratorState edge( int a, int b, double distance, boolean bothDirections ) { return edge(a, b).setDistance(distance).setFlags(baseGraph.encodingManager.flagsDefault(true, bothDirections)); }
@Override public EdgeIteratorState edge(int a, int b, double distance, boolean bothDirections) { return edge(a, b).setDistance(distance).setFlags(baseGraph.encodingManager.flagsDefault(true, bothDirections)); }
@Override public EdgeIteratorState edge(int a, int b, double distance, boolean bothDirections) { return edge(a, b).setDistance(distance).setFlags(baseGraph.encodingManager.flagsDefault(true, bothDirections)); }
edgeState.setDistance(sc.dist); edgeState.setSkippedEdges(sc.skippedEdge1, sc.skippedEdge2); setOrigEdgeCount(edgeState.getEdge(), sc.originalEdges);
edgeState.setDistance(sc.dist); edgeState.setSkippedEdges(sc.skippedEdge1, sc.skippedEdge2); setOrigEdgeCount(edgeState.getEdge(), sc.originalEdges);
edgeState.setDistance(sc.dist); edgeState.setSkippedEdges(sc.skippedEdge1, sc.skippedEdge2); setOrigEdgeCount(edgeState.getEdge(), sc.originalEdges);