Enum map_model::IntersectionKind
[−]pub enum IntersectionKind {
MapEdge,
Terminus,
Connection,
Fork,
Intersection,
}
Expand description
What kind of feature an Intersection
actually represents. Any connection between roads in the
network graph is represented by an Intersection
, but many of them are not traffic
“intersections” in the common sense.
Variants
MapEdge
A Road
ends because the road crosses the map boundary.
Terminus
A single Road
ends because the actual roadway ends; “the end of the line”.
E.g. turning circles, road end signs, train terminus thingos, …
Connection
Multiple Road
s connect but no flow of traffic interacts with any other.
Usually one Road
ends and another begins because the number of lanes has changed or some
other attribute of the roadway has changed. More than two Road
s could be involved,
e.g. when a single carriageway (a bidirectional Road
) splits into a dual carriageway
(two oneway Road
s).
Fork
One flow of traffic forks into multiple, or multiple merge into one, but all traffic is expected to keep flowing.
E.g. highway on-ramps and off-ramps.
Intersection
At least three Road
s meet at an actual “intersection” where at least one flow of traffic
gives way to, or conflicts with, another.
Trait Implementations
impl Clone for IntersectionKind
impl Clone for IntersectionKind
fn clone(&self) -> IntersectionKind
fn clone(&self) -> IntersectionKind
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreimpl Debug for IntersectionKind
impl Debug for IntersectionKind
impl<'de> Deserialize<'de> for IntersectionKind
impl<'de> Deserialize<'de> for IntersectionKind
fn deserialize<__D>(
__deserializer: __D
) -> Result<IntersectionKind, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<IntersectionKind, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Hash for IntersectionKind
impl Hash for IntersectionKind
impl PartialEq<IntersectionKind> for IntersectionKind
impl PartialEq<IntersectionKind> for IntersectionKind
fn eq(&self, other: &IntersectionKind) -> bool
fn eq(&self, other: &IntersectionKind) -> bool
impl Serialize for IntersectionKind
impl Serialize for IntersectionKind
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for IntersectionKind
impl Eq for IntersectionKind
impl StructuralEq for IntersectionKind
impl StructuralPartialEq for IntersectionKind
Auto Trait Implementations
impl RefUnwindSafe for IntersectionKind
impl Send for IntersectionKind
impl Sync for IntersectionKind
impl Unpin for IntersectionKind
impl UnwindSafe for IntersectionKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.