#[non_exhaustive]pub struct Transition {
pub travel_duration: Option<Duration>,
pub travel_distance_meters: f64,
pub traffic_info_unavailable: bool,
pub delay_duration: Option<Duration>,
pub break_duration: Option<Duration>,
pub wait_duration: Option<Duration>,
pub total_duration: Option<Duration>,
pub start_time: Option<Timestamp>,
pub route_polyline: Option<EncodedPolyline>,
pub vehicle_loads: HashMap<String, VehicleLoad>,
pub loads: Vec<CapacityQuantity>,
/* private fields */
}Expand description
Transition between two events on the route. See the description of ShipmentRoute.
If the vehicle does not have a start_location and/or end_location, the
corresponding travel metrics are 0.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.travel_duration: Option<Duration>Travel duration during this transition.
travel_distance_meters: f64Distance traveled during the transition.
When traffic is requested via
[OptimizeToursRequest.consider_road_traffic]
[google.cloud.optimization.v1.OptimizeToursRequest.consider_road_traffic],
and the traffic info couldn’t be retrieved for a Transition, this
boolean is set to true. This may be temporary (rare hiccup in the
realtime traffic servers) or permanent (no data for this location).
delay_duration: Option<Duration>Sum of the delay durations applied to this transition. If any, the delay
starts exactly delay_duration seconds before the next event (visit or
vehicle end). See
TransitionAttributes.delay.
break_duration: Option<Duration>Sum of the duration of the breaks occurring during this transition, if any. Details about each break’s start time and duration are stored in ShipmentRoute.breaks.
wait_duration: Option<Duration>Time spent waiting during this transition. Wait duration corresponds to idle time and does not include break time. Also note that this wait time may be split into several non-contiguous intervals.
total_duration: Option<Duration>Total duration of the transition, provided for convenience. It is equal to:
- next visit
start_time(orvehicle_end_timeif this is the last transition) - this transition’sstart_time; - if
ShipmentRoute.has_traffic_infeasibilitiesis false, the following additionally holds: `total_duration = travel_duration + delay_duration
- break_duration + wait_duration`.
start_time: Option<Timestamp>Start time of this transition.
route_polyline: Option<EncodedPolyline>The encoded polyline representation of the route followed during the transition. This field is only populated if [populate_transition_polylines] [google.cloud.optimization.v1.OptimizeToursRequest.populate_transition_polylines] is set to true.
vehicle_loads: HashMap<String, VehicleLoad>Vehicle loads during this transition, for each type that either appears in this vehicle’s Vehicle.load_limits, or that have non-zero Shipment.load_demands on some shipment performed on this route.
The loads during the first transition are the starting loads of the
vehicle route. Then, after each visit, the visit’s load_demands are
either added or subtracted to get the next transition’s loads, depending
on whether the visit was a pickup or a delivery.
loads: Vec<CapacityQuantity>Deprecated: Use Transition.vehicle_loads instead.
Implementations§
Source§impl Transition
impl Transition
pub fn new() -> Self
Sourcepub fn set_travel_duration<T>(self, v: T) -> Self
pub fn set_travel_duration<T>(self, v: T) -> Self
Sets the value of travel_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_travel_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_travel_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_travel_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of travel_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_travel_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_travel_duration(None::<Duration>);Sourcepub fn set_travel_distance_meters<T: Into<f64>>(self, v: T) -> Self
pub fn set_travel_distance_meters<T: Into<f64>>(self, v: T) -> Self
Sets the value of travel_distance_meters.
§Example
let x = Transition::new().set_travel_distance_meters(42.0);Sets the value of traffic_info_unavailable.
§Example
let x = Transition::new().set_traffic_info_unavailable(true);Sourcepub fn set_delay_duration<T>(self, v: T) -> Self
pub fn set_delay_duration<T>(self, v: T) -> Self
Sets the value of delay_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_delay_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_delay_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_delay_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of delay_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_delay_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_delay_duration(None::<Duration>);Sourcepub fn set_break_duration<T>(self, v: T) -> Self
pub fn set_break_duration<T>(self, v: T) -> Self
Sets the value of break_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_break_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_break_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_break_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of break_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_break_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_break_duration(None::<Duration>);Sourcepub fn set_wait_duration<T>(self, v: T) -> Self
pub fn set_wait_duration<T>(self, v: T) -> Self
Sets the value of wait_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_wait_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_wait_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_wait_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of wait_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_wait_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_wait_duration(None::<Duration>);Sourcepub fn set_total_duration<T>(self, v: T) -> Self
pub fn set_total_duration<T>(self, v: T) -> Self
Sets the value of total_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_total_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_total_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_total_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of total_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_total_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_total_duration(None::<Duration>);Sourcepub fn set_start_time<T>(self, v: T) -> Self
pub fn set_start_time<T>(self, v: T) -> Self
Sets the value of start_time.
§Example
use wkt::Timestamp;
let x = Transition::new().set_start_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of start_time.
§Example
use wkt::Timestamp;
let x = Transition::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
let x = Transition::new().set_or_clear_start_time(None::<Timestamp>);Sourcepub fn set_route_polyline<T>(self, v: T) -> Selfwhere
T: Into<EncodedPolyline>,
pub fn set_route_polyline<T>(self, v: T) -> Selfwhere
T: Into<EncodedPolyline>,
Sets the value of route_polyline.
§Example
use google_cloud_optimization_v1::model::shipment_route::EncodedPolyline;
let x = Transition::new().set_route_polyline(EncodedPolyline::default()/* use setters */);Sourcepub fn set_or_clear_route_polyline<T>(self, v: Option<T>) -> Selfwhere
T: Into<EncodedPolyline>,
pub fn set_or_clear_route_polyline<T>(self, v: Option<T>) -> Selfwhere
T: Into<EncodedPolyline>,
Sets or clears the value of route_polyline.
§Example
use google_cloud_optimization_v1::model::shipment_route::EncodedPolyline;
let x = Transition::new().set_or_clear_route_polyline(Some(EncodedPolyline::default()/* use setters */));
let x = Transition::new().set_or_clear_route_polyline(None::<EncodedPolyline>);Sourcepub fn set_vehicle_loads<T, K, V>(self, v: T) -> Self
pub fn set_vehicle_loads<T, K, V>(self, v: T) -> Self
Sets the value of vehicle_loads.
§Example
use google_cloud_optimization_v1::model::shipment_route::VehicleLoad;
let x = Transition::new().set_vehicle_loads([
("key0", VehicleLoad::default()/* use setters */),
("key1", VehicleLoad::default()/* use (different) setters */),
]);Trait Implementations§
Source§impl Clone for Transition
impl Clone for Transition
Source§fn clone(&self) -> Transition
fn clone(&self) -> Transition
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more