Struct map_model::edits::perma_traffic_signal::Turn
source · pub struct Turn {
pub from: DirectedRoad,
pub to: DirectedRoad,
pub intersection_osm_node_id: i64,
pub is_crosswalk: bool,
}
Expand description
A movement through an intersection.
Movements over crosswalks are a little confusing to understand. See the crosswalk_turns.png diagram in this repository for some clarification.
Fields§
§from: DirectedRoad
The movement begins at the end of this road segment.
to: DirectedRoad
The movement ends at the beginning of this road segment.
intersection_osm_node_id: i64
The ID of the OSM node representing the intersection. This is redundant for turns performed by vehicles, but is necessary for disambiguating the 4 cases of crosswalks.
is_crosswalk: bool
True iff the movement is along a crosswalk. Note that moving over a crosswalk has a
different Turn
for each direction.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Turn
impl<'de> Deserialize<'de> for Turn
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for Turn
impl Ord for Turn
source§impl PartialEq for Turn
impl PartialEq for Turn
source§impl PartialOrd for Turn
impl PartialOrd for Turn
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Eq for Turn
impl StructuralPartialEq for Turn
Auto Trait Implementations§
impl Freeze for Turn
impl RefUnwindSafe for Turn
impl Send for Turn
impl Sync for Turn
impl Unpin for Turn
impl UnwindSafe for Turn
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.