@@ -0,0 +1,1563 @@
+package org.opentripplanner.streets;%0A%0Aimport gnu.trove.list.TIntList;%0Aimport gnu.trove.list.array.TIntArrayList;%0Aimport gnu.trove.map.TIntIntMap;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0A/**%0A * This is like a SampleSet and a StopTreeCache rolled into one. It is a column store of vertices. Note that we don't%0A * ever need to traverse into a temporary vertex, only out of one, so temporary vertices do not interfere at all with%0A * the permanent graph.%0A *%0A * A temp vertex set can be used for a big set of vertices, but also for single origin and target vertices in%0A * point to point searches.%0A *%0A * Temp vertex sets can be persisted in the graph itself to save a worker the effort of loading street geometries and%0A * re-linking stops.%0A */%0Apublic class TempVertexSet %7B%0A%0A    private final StreetLayer streetLayer;%0A    TIntList edgePairs = new TIntArrayList();%0A    TIntList firstDistancesMm = new TIntArrayList();%0A    TIntList secondDistancesMm = new TIntArrayList();%0A    List%3CTIntIntMap%3E stopTrees = null;%0A%0A    public TempVertexSet (StreetLayer streetLayer) %7B%0A        this.streetLayer = streetLayer;%0A    %7D%0A%0A    public int getSize() %7B%0A        return edgePairs.size();%0A    %7D%0A%0A    public void addTempVertex (int fixedLat, int fixedLon) %7B%0A        // TODO find nearest edge pair, record distances to its endpoints%0A    %7D%0A%0A    public void buildStopTrees () %7B%0A        stopTrees = new ArrayList%3C%3E();%0A        for (int i = 0; i %3C edgePairs.size(); i++) %7B%0A            // TODO run a search at each temp vertex, retaining the walk times to vertices.%0A        %7D%0A    %7D%0A%7D%0A

add stub temporary vertex column store