public class CHPreparationGraph extends Object
disconnect(int)
.Modifier and Type | Class and Description |
---|---|
static class |
CHPreparationGraph.PrepareBaseEdge |
static interface |
CHPreparationGraph.TurnCostFunction |
Modifier and Type | Method and Description |
---|---|
void |
addEdge(int from,
int to,
int edge,
double weightFwd,
double weightBwd) |
int |
addShortcut(int from,
int to,
int origEdgeKeyFirst,
int origEdgeKeyLast,
int skipped1,
int skipped2,
double weight,
int origEdgeCount) |
static void |
buildFromGraph(CHPreparationGraph prepareGraph,
Graph graph,
Weighting weighting) |
static CHPreparationGraph.TurnCostFunction |
buildTurnCostFunctionFromTurnCostStorage(Graph graph,
Weighting weighting)
Builds a turn cost function for a given graph('s turn cost storage) and given uTurnCosts.
|
void |
close() |
PrepareGraphEdgeExplorer |
createInEdgeExplorer() |
PrepareGraphOrigEdgeExplorer |
createInOrigEdgeExplorer() |
PrepareGraphEdgeExplorer |
createOutEdgeExplorer() |
PrepareGraphOrigEdgeExplorer |
createOutOrigEdgeExplorer() |
com.carrotsearch.hppc.IntContainer |
disconnect(int node) |
static CHPreparationGraph |
edgeBased(int nodes,
int edges,
CHPreparationGraph.TurnCostFunction turnCostFunction) |
int |
getDegree(int node) |
int |
getNodes() |
int |
getOriginalEdges() |
int |
getShortcutForPrepareEdge(int prepareEdge) |
double |
getTurnWeight(int inEdgeKey,
int viaNode,
int outEdgeKey) |
static CHPreparationGraph |
nodeBased(int nodes,
int edges) |
void |
prepareForContraction() |
void |
setShortcutForPrepareEdge(int prepareEdge,
int shortcut) |
public static CHPreparationGraph nodeBased(int nodes, int edges)
public static CHPreparationGraph edgeBased(int nodes, int edges, CHPreparationGraph.TurnCostFunction turnCostFunction)
public static void buildFromGraph(CHPreparationGraph prepareGraph, Graph graph, Weighting weighting)
public static CHPreparationGraph.TurnCostFunction buildTurnCostFunctionFromTurnCostStorage(Graph graph, Weighting weighting)
Weighting.calcTurnWeight(int, int, int)
. However, it turned out
that storing all turn costs in separate arrays upfront speeds up edge-based CH preparation by about 25%. See #2084public int getNodes()
public int getOriginalEdges()
public int getDegree(int node)
public void addEdge(int from, int to, int edge, double weightFwd, double weightBwd)
public int addShortcut(int from, int to, int origEdgeKeyFirst, int origEdgeKeyLast, int skipped1, int skipped2, double weight, int origEdgeCount)
public void prepareForContraction()
public void setShortcutForPrepareEdge(int prepareEdge, int shortcut)
public int getShortcutForPrepareEdge(int prepareEdge)
public PrepareGraphEdgeExplorer createOutEdgeExplorer()
public PrepareGraphEdgeExplorer createInEdgeExplorer()
public PrepareGraphOrigEdgeExplorer createOutOrigEdgeExplorer()
public PrepareGraphOrigEdgeExplorer createInOrigEdgeExplorer()
public double getTurnWeight(int inEdgeKey, int viaNode, int outEdgeKey)
public com.carrotsearch.hppc.IntContainer disconnect(int node)
public void close()
Copyright © 2012–2022. All rights reserved.