entry.edgeFrom = edgeIdFrom; entry.edgeTo = iter.getEdge(); entry.flags = encoder.getTurnFlags(true, 0); entries.add(entry);
/** * This method calculates the turn weight separately. */ public double calcTurnWeight(int edgeFrom, int nodeVia, int edgeTo) { long turnFlags = turnCostExt.getTurnCostFlags(edgeFrom, nodeVia, edgeTo); if (turnCostEncoder.isTurnRestricted(turnFlags)) return Double.POSITIVE_INFINITY; return turnCostEncoder.getTurnCost(turnFlags); }
/** * This method calculates the turn weight separately. */ public double calcTurnWeight(int edgeFrom, int nodeVia, int edgeTo) { long turnFlags = turnCostExt.getTurnCostFlags(edgeFrom, nodeVia, edgeTo); if (turnCostEncoder.isTurnRestricted(turnFlags)) return Double.POSITIVE_INFINITY; return turnCostEncoder.getTurnCost(turnFlags); }
private void blockNode3(Graph g, TurnCostExtension tcs, TurnCostEncoder tEncoder) { // Totally block this node (all 9 turn relations) final long BLOCK = tEncoder.getTurnFlags(true, 0); tcs.addTurnInfo(getEdge(g, 2, 3).getEdge(), 3, getEdge(g, 3, 1).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 2, 3).getEdge(), 3, getEdge(g, 3, 4).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 4, 3).getEdge(), 3, getEdge(g, 3, 1).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 4, 3).getEdge(), 3, getEdge(g, 3, 2).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 6, 3).getEdge(), 3, getEdge(g, 3, 1).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 6, 3).getEdge(), 3, getEdge(g, 3, 4).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 1, 3).getEdge(), 3, getEdge(g, 3, 6).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 1, 3).getEdge(), 3, getEdge(g, 3, 2).getEdge(), BLOCK); tcs.addTurnInfo(getEdge(g, 1, 3).getEdge(), 3, getEdge(g, 3, 4).getEdge(), BLOCK); }
public double calcTurnWeight( int edgeFrom, int nodeVia, int edgeTo ) { long turnFlags = turnCostExt.getTurnCostFlags(edgeFrom, nodeVia, edgeTo); if (turnCostEncoder.isTurnRestricted(turnFlags)) return Double.POSITIVE_INFINITY; return turnCostEncoder.getTurnCost(turnFlags); }
private void initTurnRestrictions(Graph g, TurnCostExtension tcs, TurnCostEncoder tEncoder) { long tflags = tEncoder.getTurnFlags(true, 0); // only forward from 2-3 to 3-4 => limit 2,3->3,6 and 2,3->3,1 tcs.addTurnInfo(getEdge(g, 2, 3).getEdge(), 3, getEdge(g, 3, 6).getEdge(), tflags); tcs.addTurnInfo(getEdge(g, 2, 3).getEdge(), 3, getEdge(g, 3, 1).getEdge(), tflags); // only right from 5-2 to 2-3 => limit 5,2->2,0 tcs.addTurnInfo(getEdge(g, 5, 2).getEdge(), 2, getEdge(g, 2, 0).getEdge(), tflags); // only right from 7-6 to 6-3 => limit 7,6->6,5 tcs.addTurnInfo(getEdge(g, 7, 6).getEdge(), 6, getEdge(g, 6, 5).getEdge(), tflags); // no 5-6 to 6-3 tcs.addTurnInfo(getEdge(g, 5, 6).getEdge(), 6, getEdge(g, 6, 3).getEdge(), tflags); // no 4-3 to 3-1 tcs.addTurnInfo(getEdge(g, 4, 3).getEdge(), 3, getEdge(g, 3, 1).getEdge(), tflags); // no 4-3 to 3-2 tcs.addTurnInfo(getEdge(g, 4, 3).getEdge(), 3, getEdge(g, 3, 2).getEdge(), tflags); // no u-turn at 6-7 tcs.addTurnInfo(getEdge(g, 6, 7).getEdge(), 7, getEdge(g, 7, 6).getEdge(), tflags); // no u-turn at 3-6 tcs.addTurnInfo(getEdge(g, 3, 6).getEdge(), 6, getEdge(g, 6, 3).getEdge(), tflags); }
/** * This method calculates the turn weight separately. */ public double calcTurnWeight(int edgeFrom, int nodeVia, int edgeTo) { long turnFlags = turnCostExt.getTurnCostFlags(edgeFrom, nodeVia, edgeTo); if (turnCostEncoder.isTurnRestricted(turnFlags)) return Double.POSITIVE_INFINITY; return turnCostEncoder.getTurnCost(turnFlags); }
entry.edgeFrom = edgeIdFrom; entry.edgeTo = iter.getEdge(); entry.flags = encoder.getTurnFlags(true, 0); entries.add(entry);
entry.edgeFrom = edgeIdFrom; entry.edgeTo = iter.getEdge(); entry.flags = encoder.getTurnFlags(true, 0); entries.add(entry);
entry.edgeFrom = edgeIdFrom; entry.edgeTo = iter.getEdge(); entry.flags = encoder.getTurnFlags(true, 0); entries.add(entry);