Struct map_model::objects::turn::Movement [−][src]
pub struct Movement { pub id: MovementID, pub turn_type: TurnType, pub members: Vec<TurnID>, pub geom: PolyLine, pub angle: Angle, }
A Movement groups all turns from one road to another, letting traffic signals operate at a higher level of abstraction. This is used for pathfinding and traffic signals currently; other places focus instead on turns.
Fields
id: MovementID
turn_type: TurnType
members: Vec<TurnID>
geom: PolyLine
The “overall” path of movement, aka, an “average” of the turn geometry
angle: Angle
Implementations
impl Movement
[src]
impl Movement
[src]pub(crate) fn for_i(
i: IntersectionID,
map: &Map
) -> Result<BTreeMap<MovementID, Movement>>
[src]
i: IntersectionID,
map: &Map
) -> Result<BTreeMap<MovementID, Movement>>
pub fn src_center_and_width(&self, map: &Map) -> (PolyLine, Distance)
[src]
Polyline points FROM intersection
pub fn conflicts_with(&self, other: &Movement) -> bool
[src]
Trait Implementations
impl<'de> Deserialize<'de> for Movement
[src]
impl<'de> Deserialize<'de> for Movement
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl StructuralPartialEq for Movement
[src]
Auto Trait Implementations
impl RefUnwindSafe for Movement
impl Send for Movement
impl Sync for Movement
impl Unpin for Movement
impl UnwindSafe for Movement
Blanket Implementations
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,