Enum sim::mechanics::car::CarState [−][src]
pub(crate) enum CarState { Crossing { time_int: TimeInterval, dist_int: DistanceInterval, steep_uphill: bool, }, ChangingLanes { from: LaneID, to: LaneID, new_time: TimeInterval, new_dist: DistanceInterval, lc_time: TimeInterval, }, Queued { blocked_since: Time, want_to_change_lanes: Option<LaneID>, }, WaitingToAdvance { blocked_since: Time, }, Unparking { front: Distance, spot: ParkingSpot, time_int: TimeInterval, blocked_starts: Vec<LaneID>, }, Parking(Distance, ParkingSpot, TimeInterval), IdlingAtStop(Distance, TimeInterval), }
See https://a-b-street.github.io/docs/tech/trafficsim/discrete_event.html for details about the state machine encoded here.
Variants
Show fields
Fields of Crossing
Show fields
Fields of ChangingLanes
Show fields
Fields of WaitingToAdvance
blocked_since: Time
Where’s the front of the car while this is happening?
Show fields
Fields of Unparking
Parking(Distance, ParkingSpot, TimeInterval)
IdlingAtStop(Distance, TimeInterval)
Implementations
impl CarState
[src]
impl CarState
[src]pub fn get_end_time(&self) -> Time
[src]
pub fn time_spent_waiting(&self, now: Time) -> Duration
[src]
Trait Implementations
impl<'de> Deserialize<'de> for CarState
[src]
impl<'de> Deserialize<'de> for CarState
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl RefUnwindSafe for CarState
impl Send for CarState
impl Sync for CarState
impl Unpin for CarState
impl UnwindSafe for CarState
Blanket Implementations
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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>,