pub struct ElevatorConfig {
pub id: u32,
pub name: String,
pub max_speed: f64,
pub acceleration: f64,
pub deceleration: f64,
pub weight_capacity: f64,
pub starting_stop: StopId,
pub door_open_ticks: u32,
pub door_transition_ticks: u32,
pub restricted_stops: Vec<StopId>,
pub service_mode: Option<ServiceMode>,
pub inspection_speed_factor: f64,
}Expand description
Configuration for a single elevator car.
Fields§
§id: u32Numeric identifier for this elevator, unique within the config.
Mapped to an EntityId at construction
time; not used at runtime.
name: StringHuman-readable elevator name, displayed in UIs and logs.
max_speed: f64Maximum travel speed in distance units per second.
Must be positive. The trapezoidal velocity profile accelerates up to this speed, cruises, then decelerates to stop at the target.
Default (from SimulationBuilder): 2.0.
acceleration: f64Acceleration rate in distance units per second squared.
Must be positive. Controls how quickly the elevator reaches
max_speed from rest.
Default (from SimulationBuilder): 1.5.
deceleration: f64Deceleration rate in distance units per second squared.
Must be positive. Controls how quickly the elevator slows to a stop
when approaching a target. May differ from acceleration for
asymmetric motion profiles.
Default (from SimulationBuilder): 2.0.
weight_capacity: f64Maximum total weight the elevator car can carry.
Must be positive. Riders whose weight would exceed this limit are rejected during the loading phase.
Units: same as rider weight (typically kilograms).
Default (from SimulationBuilder): 800.0.
starting_stop: StopIdThe StopId where this elevator starts at simulation init.
Must reference an existing stop in the building config.
door_open_ticks: u32How many ticks the doors remain fully open before closing.
During this window, riders may board or exit. Longer values increase loading opportunity but reduce throughput.
Units: simulation ticks.
Default (from SimulationBuilder): 10.
door_transition_ticks: u32How many ticks a door open or close transition takes.
Models the mechanical travel time of the door panels. No boarding or exiting occurs during transitions.
Units: simulation ticks.
Default (from SimulationBuilder): 5.
restricted_stops: Vec<StopId>Stop IDs this elevator cannot serve (access restriction).
Riders whose current destination is in this list are rejected
with RejectionReason::AccessDenied
during the loading phase.
Default: empty (no restrictions).
service_mode: Option<ServiceMode>Service mode at simulation start. Defaults to Normal.
inspection_speed_factor: f64Speed multiplier for Inspection mode (0.0..1.0). Defaults to 0.25.
Trait Implementations§
Source§impl Clone for ElevatorConfig
impl Clone for ElevatorConfig
Source§fn clone(&self) -> ElevatorConfig
fn clone(&self) -> ElevatorConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more