/** * get a single end time in position * * @param position position to get value from * @return a single end time */ public int getEndTime(int position) { return endTimes.get(position); }
/** * get a single start time in position * * @param position position to get value from * @return a single start time */ public int getStartTime(int position) { return startTimes.get(position); }
/** {@inheritDoc} */ public int next() { try { int next = get( cursor ); lastRet = cursor++; return next; } catch ( IndexOutOfBoundsException e ) { throw new NoSuchElementException(); } }
/** * get a single end time * * @return a single end time */ public int getEndTime() { if (endTimes.size() == 0) { return 0; } return endTimes.get(0); }
/** * get a single start time * * @return a single start time */ public int getStartTime() { if (startTimes.size() == 0) { return 0; } return startTimes.get(0); }
/** {@inheritDoc} */ public int removeAt( int offset ) { int old = get( offset ); remove( offset, 1 ); return old; }
/** * Returns the value at the top of the stack. * * @return an <code>int</code> value */ public int peek() { return _list.get( _list.size() - 1 ); }
private static void simplifyLine(TIntArrayList lt, int precision, int start, int end) { if(start == end - 1) { return; } int x = lt.get(start*3 + 1); int y = lt.get(start*3 + 2); int ex = lt.get(end*3 + 1); int ey = lt.get(end*3 + 2); double max = 0; int maxK = -1; for(int k = start + 1; k < end ; k++) { double ld = orthogonalDistance(lt.get(k*3 + 1), lt.get(k*3 + 2), x, y, ex, ey); if(maxK == -1 || max < ld) { maxK = k; max = ld; } } if(max < precision) { return; } lt.set(maxK*3, 1); // keep point simplifyLine(lt, precision, start, maxK); simplifyLine(lt, precision, maxK, end); }
/** * Returns a String representation of the list, top to bottom. * * @return a <code>String</code> value */ public String toString() { final StringBuilder buf = new StringBuilder( "{" ); for ( int i = _list.size() - 1; i > 0; i-- ) { buf.append( _list.get( i ) ); buf.append( ", " ); } if ( size() > 0 ) { buf.append( _list.get( 0 ) ); } buf.append( "}" ); return buf.toString(); }
private void init(TIntArrayList px, TIntArrayList py, List<Float> speedSegments) { float totaltm = 0; List<Float> times = new ArrayList<Float>(); for (int i = 0; i < px.size(); i++) { // MapUtils.measuredDist31 vs BinaryRoutePlanner.squareRootDist // use measuredDist31 because we use precise s.getDistance() to calculate routeSpd int ip = i == 0 ? 0 : i - 1; float dist = (float) MapUtils.measuredDist31(px.get(ip), py.get(ip), px.get(i), py.get(i)); float tm = dist / speedSegments.get(i);// routeSpd; times.add(tm); quadTree.insert(i, px.get(i), py.get(i)); // indexedPoints.registerObjectXY(); totaltm += tm; } pointsX = px.toArray(); pointsY = py.toArray(); tms = new float[times.size()]; float totDec = totaltm; for(int i = 0; i < times.size(); i++) { totDec -= times.get(i); tms[i] = totDec; } }
public Map<Integer, String> getOrderedObjectNames() { if (namesOrder == null) { return null; } LinkedHashMap<Integer, String> lm = new LinkedHashMap<Integer, String> (); for (int i = 0; i < namesOrder.size(); i++) { int nm = namesOrder.get(i); lm.put(nm, objectNames.get(nm)); } return lm; }
@Override public boolean isOpened24_7() { boolean opened24_7 = isOpenedEveryDay(); if (opened24_7) { if (startTimes != null && startTimes.size() > 0) { for (int i = 0; i < startTimes.size(); i++) { int startTime = startTimes.get(i); int endTime = endTimes.get(i); if (startTime == 0 && endTime / 60 == 24) { return true; } } } else { return true; } } return false; }
@Override public boolean accept(TIntArrayList types, MapIndex index) { boolean polygon = false; boolean polyline = false; for (int j = 0; j < types.size(); j++) { int wholeType = types.get(j); TagValuePair pair = index.decodeType(wholeType); if (pair != null) { int t = wholeType & 3; if (t == RenderingRulesStorage.POINT_RULES) { stat.pointCount++; } else if (t == RenderingRulesStorage.LINE_RULES) { stat.wayCount++; polyline = true; } else { polygon = true; stat.polygonCount++; if (!map.containsKey(pair)) { map.put(pair, 0); } map.put(pair, map.get(pair) + 1); } } } stat.totalCount++; return polyline; } };
@Override public void run() { for(int i = 0; i < al.size(); i++) { int a = al.get(i); for(int j = i + 1; j < al.size(); j++) { int b = al.get(j); double lenDiff; lenDiff = Math.abs(featureLen[a]-featureLen[b]); lenDiff /=Math.max(featureLen[a],featureLen[b]); if(lenDiff>lenDiffThresh) continue; int ids,idl; if(a<=b){ ids = a; idl=b; }else{ ids = b; idl=a; } if(similarityMap[ids] == null) similarityMap[ids] = new TIntIntHashMap(); synchronized (similarityMap[ids]) { similarityMap[ids].adjustOrPutValue(idl, 1, 1); } } } } }
public int getArrivalTime() { if(route.getSchedule() != null && depTime != -1) { int tm = depTime; TIntArrayList intervals = route.getSchedule().avgStopIntervals; for(int i = start; i <= end; i++) { if(i == end) { return tm; } if(intervals.size() > i) { tm += intervals.get(i); } else { break; } } } return -1; }
/** * 由上到下存储路径 */ public void CalcPath() { treepath = new int[size][]; for(int i=0;i<size;i++){ TIntArrayList list= new TIntArrayList (); list.add(i); Integer j=i; while((j=edgesInv.get(j))!=null){ list.add(j); } int s = list.size(); treepath[i] = new int[s]; for(int k=0;k<s;k++){ treepath[i][s-k-1] = list.get(k); } } }
int filePointer = pointers.get(i); TransportRoute transportRoute = transportAdapter.getTransportRoute(filePointer, stringTable, false); result.put(filePointer, transportRoute);
private static TIntArrayList simplify(int[] c, int precision) { int len = c.length / 2; TIntArrayList lt = new TIntArrayList(len * 3); for (int i = 0; i < len; i++) { lt.add(0); lt.add(c[i * 2]); lt.add(c[i * 2 + 1]); } lt.set(0, 1); lt.set((len - 1) * 3, 1); simplifyLine(lt, precision, 0, len - 1); TIntArrayList res = new TIntArrayList(len * 2); for (int i = 0; i < len; i++) { if (lt.get(i * 3) == 1) { res.add(lt.get(i * 3 + 1)); res.add(lt.get(i * 3 + 2)); } } return res; }