public class VirtualEdgeIteratorState extends Object implements EdgeIteratorState
Note, this class is not suited for public use and can change with minor releases unexpectedly or even gets removed.
REVERSE_STATE, UNFAVORED_EDGE| Constructor and Description |
|---|
VirtualEdgeIteratorState(int originalEdgeKey,
int edgeKey,
int baseNode,
int adjNode,
double distance,
IntsRef edgeFlags,
List<EdgeKVStorage.KeyValue> keyValues,
PointList pointList,
boolean reverse) |
| Modifier and Type | Method and Description |
|---|---|
EdgeIteratorState |
copyPropertiesFrom(EdgeIteratorState fromEdge)
Copies the properties of the specified edge into this edge.
|
EdgeIteratorState |
detach(boolean reverse)
Clones this EdgeIteratorState.
|
PointList |
fetchWayGeometry(FetchMode mode)
For road network data like OSM a way is often not just a straight line.
|
boolean |
get(BooleanEncodedValue property) |
double |
get(DecimalEncodedValue property) |
<T extends Enum<?>> |
get(EnumEncodedValue<T> property) |
int |
get(IntEncodedValue property) |
String |
get(StringEncodedValue property) |
int |
getAdjNode() |
int |
getBaseNode()
Returns the node used to instantiate the EdgeIterator.
|
double |
getDistance() |
int |
getEdge() |
int |
getEdgeKey()
Returns the edge key of the current edge.
|
IntsRef |
getFlags()
Returns edge properties stored in direction of the raw database layout.
|
List<EdgeKVStorage.KeyValue> |
getKeyValues()
This method returns KeyValue pairs for both directions in contrast to
EdgeIteratorState.getValue(String). |
String |
getName()
Identical to calling getKeyValues().get("name") if name is stored for both directions.
|
int |
getOriginalEdgeKey()
This method returns the original (not virtual!) edge key.
|
boolean |
getReverse(BooleanEncodedValue property) |
double |
getReverse(DecimalEncodedValue property) |
<T extends Enum<?>> |
getReverse(EnumEncodedValue<T> property) |
int |
getReverse(IntEncodedValue property) |
String |
getReverse(StringEncodedValue property) |
int |
getReverseEdgeKey()
Like #getEdgeKey, but returns the reverse key.
|
Object |
getValue(String key)
This method returns the *first* value for the specified key and only if stored for the direction of this
EdgeIteratorState.
|
EdgeIteratorState |
set(BooleanEncodedValue property,
boolean value) |
EdgeIteratorState |
set(BooleanEncodedValue property,
boolean fwd,
boolean bwd) |
EdgeIteratorState |
set(DecimalEncodedValue property,
double value) |
EdgeIteratorState |
set(DecimalEncodedValue property,
double fwd,
double bwd) |
<T extends Enum<?>> |
set(EnumEncodedValue<T> property,
T value) |
<T extends Enum<?>> |
set(EnumEncodedValue<T> property,
T fwd,
T bwd) |
EdgeIteratorState |
set(IntEncodedValue property,
int value) |
EdgeIteratorState |
set(IntEncodedValue property,
int fwd,
int bwd) |
EdgeIteratorState |
set(StringEncodedValue property,
String value) |
EdgeIteratorState |
set(StringEncodedValue property,
String fwd,
String bwd) |
EdgeIteratorState |
setDistance(double dist) |
EdgeIteratorState |
setFlags(IntsRef flags)
Stores the specified edgeFlags down to the DataAccess
|
EdgeIteratorState |
setKeyValues(List<EdgeKVStorage.KeyValue> list)
This stores the specified key-value pairs in the storage of this EdgeIteratorState.
|
EdgeIteratorState |
setReverse(BooleanEncodedValue property,
boolean value) |
EdgeIteratorState |
setReverse(DecimalEncodedValue property,
double value) |
<T extends Enum<?>> |
setReverse(EnumEncodedValue<T> property,
T value) |
EdgeIteratorState |
setReverse(IntEncodedValue property,
int value) |
EdgeIteratorState |
setReverse(StringEncodedValue property,
String value) |
void |
setReverseEdge(EdgeIteratorState reverseEdge) |
void |
setUnfavored(boolean unfavored)
This method sets edge to unfavored status for routing from the start or to the stop location.
|
EdgeIteratorState |
setWayGeometry(PointList list) |
String |
toString() |
public VirtualEdgeIteratorState(int originalEdgeKey,
int edgeKey,
int baseNode,
int adjNode,
double distance,
IntsRef edgeFlags,
List<EdgeKVStorage.KeyValue> keyValues,
PointList pointList,
boolean reverse)
public int getOriginalEdgeKey()
EdgeIteratorState.getEdgeKey()public int getEdge()
getEdge in interface EdgeIteratorStatepublic int getEdgeKey()
EdgeIteratorStateGHUtility.getEdgeFromEdgeKey(int), but the edge key also contains information about the
direction of the edge. The edge key is even when the edge is oriented in storage direction and odd
otherwise. You can use the edge key to retrieve an edge state in the associated direction using
Graph.getEdgeIteratorStateForKey(int). Loop edges are always returned in 'forward' direction even when
you use an odd edge key.getEdgeKey in interface EdgeIteratorStatepublic int getReverseEdgeKey()
EdgeIteratorStategetReverseEdgeKey in interface EdgeIteratorStatepublic int getBaseNode()
EdgeIteratorStategetBaseNode in interface EdgeIteratorStateEdgeIteratorpublic int getAdjNode()
getAdjNode in interface EdgeIteratorStateEdgeIteratorpublic PointList fetchWayGeometry(FetchMode mode)
EdgeIteratorStatefetchWayGeometry in interface EdgeIteratorStatemode - FetchModepublic EdgeIteratorState setWayGeometry(PointList list)
setWayGeometry in interface EdgeIteratorStatelist - is a sorted collection of coordinates between the base node and the current adjacent node. Specify
the list without the adjacent and base node. This method can be called multiple times, but if the
distance changes, the setDistance method is not called automatically.public double getDistance()
getDistance in interface EdgeIteratorStatepublic EdgeIteratorState setDistance(double dist)
setDistance in interface EdgeIteratorStatepublic IntsRef getFlags()
EdgeIteratorStategetFlags in interface EdgeIteratorStatepublic EdgeIteratorState setFlags(IntsRef flags)
EdgeIteratorStatesetFlags in interface EdgeIteratorStatepublic boolean get(BooleanEncodedValue property)
get in interface EdgeIteratorStatepublic EdgeIteratorState set(BooleanEncodedValue property, boolean value)
set in interface EdgeIteratorStatepublic boolean getReverse(BooleanEncodedValue property)
getReverse in interface EdgeIteratorStatepublic EdgeIteratorState setReverse(BooleanEncodedValue property, boolean value)
setReverse in interface EdgeIteratorStatepublic EdgeIteratorState set(BooleanEncodedValue property, boolean fwd, boolean bwd)
set in interface EdgeIteratorStatepublic int get(IntEncodedValue property)
get in interface EdgeIteratorStatepublic EdgeIteratorState set(IntEncodedValue property, int value)
set in interface EdgeIteratorStatepublic int getReverse(IntEncodedValue property)
getReverse in interface EdgeIteratorStatepublic EdgeIteratorState setReverse(IntEncodedValue property, int value)
setReverse in interface EdgeIteratorStatepublic EdgeIteratorState set(IntEncodedValue property, int fwd, int bwd)
set in interface EdgeIteratorStatepublic double get(DecimalEncodedValue property)
get in interface EdgeIteratorStatepublic EdgeIteratorState set(DecimalEncodedValue property, double value)
set in interface EdgeIteratorStatepublic double getReverse(DecimalEncodedValue property)
getReverse in interface EdgeIteratorStatepublic EdgeIteratorState setReverse(DecimalEncodedValue property, double value)
setReverse in interface EdgeIteratorStatepublic EdgeIteratorState set(DecimalEncodedValue property, double fwd, double bwd)
set in interface EdgeIteratorStatepublic <T extends Enum<?>> T get(EnumEncodedValue<T> property)
get in interface EdgeIteratorStatepublic <T extends Enum<?>> EdgeIteratorState set(EnumEncodedValue<T> property, T value)
set in interface EdgeIteratorStatepublic <T extends Enum<?>> T getReverse(EnumEncodedValue<T> property)
getReverse in interface EdgeIteratorStatepublic <T extends Enum<?>> EdgeIteratorState setReverse(EnumEncodedValue<T> property, T value)
setReverse in interface EdgeIteratorStatepublic <T extends Enum<?>> EdgeIteratorState set(EnumEncodedValue<T> property, T fwd, T bwd)
set in interface EdgeIteratorStatepublic String get(StringEncodedValue property)
get in interface EdgeIteratorStatepublic EdgeIteratorState set(StringEncodedValue property, String value)
set in interface EdgeIteratorStatepublic String getReverse(StringEncodedValue property)
getReverse in interface EdgeIteratorStatepublic EdgeIteratorState setReverse(StringEncodedValue property, String value)
setReverse in interface EdgeIteratorStatepublic EdgeIteratorState set(StringEncodedValue property, String fwd, String bwd)
set in interface EdgeIteratorStatepublic String getName()
EdgeIteratorStategetName in interface EdgeIteratorStatepublic EdgeIteratorState setKeyValues(List<EdgeKVStorage.KeyValue> list)
EdgeIteratorStatesetKeyValues in interface EdgeIteratorStatepublic List<EdgeKVStorage.KeyValue> getKeyValues()
EdgeIteratorStateEdgeIteratorState.getValue(String).getKeyValues in interface EdgeIteratorStateEdgeIteratorState.setKeyValues(List)public Object getValue(String key)
EdgeIteratorStateEdgeIteratorState.getKeyValues(). Avoid storing KeyPairs with
duplicate keys as only the first will be reachable with this method. Currently, there is no support to use this
method in a custom_model, and you should use EncodedValues instead.getValue in interface EdgeIteratorStatepublic void setUnfavored(boolean unfavored)
public EdgeIteratorState detach(boolean reverse)
EdgeIteratorStatedetach in interface EdgeIteratorStatereverse - if true a detached edgeState with reversed properties is created where base
and adjacent nodes, flags and wayGeometry are in reversed order. See #162 for more details
about why we need the reverse parameter.public EdgeIteratorState copyPropertiesFrom(EdgeIteratorState fromEdge)
EdgeIteratorStatecopyPropertiesFrom in interface EdgeIteratorStatepublic void setReverseEdge(EdgeIteratorState reverseEdge)
Copyright © 2012–2022. All rights reserved.