private void initFromGraph() { FlagEncoder prepareFlagEncoder = prepareWeighting.getFlagEncoder(); final EdgeFilter allFilter = DefaultEdgeFilter.allEdges(prepareFlagEncoder); maxLevel = prepareGraph.getNodes(); vehicleAllExplorer = prepareGraph.createEdgeExplorer(allFilter); vehicleAllTmpExplorer = prepareGraph.createEdgeExplorer(allFilter); // Use an alternative to PriorityQueue as it has some advantages: // 1. Gets automatically smaller if less entries are stored => less total RAM used. // Important because Graph is increasing until the end. // 2. is slightly faster // but we need the additional oldPriorities array to keep the old value which is necessary for the update method sortedNodes = new GHTreeMapComposed(); oldPriorities = new float[prepareGraph.getNodes()]; nodeContractor = new NodeBasedNodeContractor(prepareGraph, weighting, pMap); nodeContractor.initFromGraph(); }
private void initFromGraph() { ghStorage.freeze(); FlagEncoder prepareFlagEncoder = prepareWeighting.getFlagEncoder(); final EdgeFilter allFilter = DefaultEdgeFilter.allEdges(prepareFlagEncoder); maxLevel = prepareGraph.getNodes(); vehicleAllExplorer = prepareGraph.createEdgeExplorer(allFilter); vehicleAllTmpExplorer = prepareGraph.createEdgeExplorer(allFilter); // Use an alternative to PriorityQueue as it has some advantages: // 1. Gets automatically smaller if less entries are stored => less total RAM used. // Important because Graph is increasing until the end. // 2. is slightly faster // but we need the additional oldPriorities array to keep the old value which is necessary for the update method sortedNodes = new GHTreeMapComposed(); oldPriorities = new float[prepareGraph.getNodes()]; nodeContractor = new NodeBasedNodeContractor(dir, ghStorage, prepareGraph, weighting, pMap); nodeContractor.initFromGraph(); }
PrepareContractionHierarchies initFromGraph() { ghStorage.freeze(); maxEdgesCount = ghStorage.getAllEdges().getMaxId(); FlagEncoder prepareFlagEncoder = prepareWeighting.getFlagEncoder(); vehicleInExplorer = prepareGraph.createEdgeExplorer(new DefaultEdgeFilter(prepareFlagEncoder, true, false)); vehicleOutExplorer = prepareGraph.createEdgeExplorer(new DefaultEdgeFilter(prepareFlagEncoder, false, true));