pub struct TransitVehicle {
pub id: VehicleId,
pub route: RouteId,
pub current_stop: usize,
pub phase: VehiclePhase,
pub capacity: u32,
pub passengers: Vec<PassengerId>,
pub time_remaining: f64,
}Expand description
A service instance (one bus, tram, metro unit, …).
Fields§
§id: VehicleIdUnique identifier.
route: RouteIdWhich route this vehicle is assigned to.
current_stop: usizeCurrent stop index along the route (0 == first stop).
phase: VehiclePhaseCurrent operating phase.
capacity: u32Maximum seated + standing passengers.
passengers: Vec<PassengerId>On-board passengers.
time_remaining: f64Seconds remaining until the next phase transition.
Implementations§
Source§impl TransitVehicle
impl TransitVehicle
Sourcepub fn idle(id: VehicleId, route: RouteId, capacity: u32) -> Self
pub fn idle(id: VehicleId, route: RouteId, capacity: u32) -> Self
Create an idle vehicle ready for dispatch.
Sourcepub fn free_capacity(&self) -> u32
pub fn free_capacity(&self) -> u32
Number of free seats/standing room.
Sourcepub fn add_passenger(&mut self, id: PassengerId) -> bool
pub fn add_passenger(&mut self, id: PassengerId) -> bool
Add a passenger. Returns false if the vehicle was already full.
Trait Implementations§
Source§impl Clone for TransitVehicle
impl Clone for TransitVehicle
Source§fn clone(&self) -> TransitVehicle
fn clone(&self) -> TransitVehicle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TransitVehicle
impl RefUnwindSafe for TransitVehicle
impl Send for TransitVehicle
impl Sync for TransitVehicle
impl Unpin for TransitVehicle
impl UnsafeUnpin for TransitVehicle
impl UnwindSafe for TransitVehicle
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