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 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl 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 for IntersectionKind
impl PartialEq for IntersectionKind
§fn eq(&self, other: &IntersectionKind) -> bool
fn eq(&self, other: &IntersectionKind) -> bool
self
and other
values to be equal, and is used
by ==
.§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 StructuralPartialEq for IntersectionKind
Auto Trait Implementations§
impl Freeze for IntersectionKind
impl RefUnwindSafe for IntersectionKind
impl Send for IntersectionKind
impl Sync for IntersectionKind
impl Unpin for IntersectionKind
impl UnwindSafe for IntersectionKind
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
§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
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
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
key
and return true
if they are equal.