#[non_exhaustive]pub struct DistanceLimit {
pub max_meters: Option<i64>,
pub soft_max_meters: Option<i64>,
pub cost_per_kilometer_below_soft_max: Option<f64>,
pub cost_per_kilometer_above_soft_max: Option<f64>,
/* private fields */
}Expand description
A limit defining a maximum distance which can be traveled. It can be either hard or soft.
If a soft limit is defined, both soft_max_meters and
cost_per_kilometer_above_soft_max must be defined and be nonnegative.
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.max_meters: Option<i64>A hard limit constraining the distance to be at most max_meters. The limit must be nonnegative.
soft_max_meters: Option<i64>A soft limit not enforcing a maximum distance limit, but when violated results in a cost which adds up to other costs defined in the model, with the same unit.
If defined soft_max_meters must be less than max_meters and must be nonnegative.
cost_per_kilometer_below_soft_max: Option<f64>Cost per kilometer incurred, increasing up to soft_max_meters, with
formula:
min(distance_meters, soft_max_meters) / 1000.0 *
cost_per_kilometer_below_soft_max.This cost is not supported in route_distance_limit.
cost_per_kilometer_above_soft_max: Option<f64>Cost per kilometer incurred if distance is above soft_max_meters limit.
The additional cost is 0 if the distance is under the limit, otherwise the
formula used to compute the cost is the following:
(distance_meters - soft_max_meters) / 1000.0 *
cost_per_kilometer_above_soft_max.The cost must be nonnegative.
Implementations§
Source§impl DistanceLimit
impl DistanceLimit
pub fn new() -> Self
Sourcepub fn set_max_meters<T>(self, v: T) -> Self
pub fn set_max_meters<T>(self, v: T) -> Self
Sets the value of max_meters.
Sourcepub fn set_or_clear_max_meters<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_max_meters<T>(self, v: Option<T>) -> Self
Sets or clears the value of max_meters.
Sourcepub fn set_soft_max_meters<T>(self, v: T) -> Self
pub fn set_soft_max_meters<T>(self, v: T) -> Self
Sets the value of soft_max_meters.
Sourcepub fn set_or_clear_soft_max_meters<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_soft_max_meters<T>(self, v: Option<T>) -> Self
Sets or clears the value of soft_max_meters.
Sourcepub fn set_cost_per_kilometer_below_soft_max<T>(self, v: T) -> Self
pub fn set_cost_per_kilometer_below_soft_max<T>(self, v: T) -> Self
Sets the value of cost_per_kilometer_below_soft_max.
Sourcepub fn set_or_clear_cost_per_kilometer_below_soft_max<T>(
self,
v: Option<T>,
) -> Self
pub fn set_or_clear_cost_per_kilometer_below_soft_max<T>( self, v: Option<T>, ) -> Self
Sets or clears the value of cost_per_kilometer_below_soft_max.
Sourcepub fn set_cost_per_kilometer_above_soft_max<T>(self, v: T) -> Self
pub fn set_cost_per_kilometer_above_soft_max<T>(self, v: T) -> Self
Sets the value of cost_per_kilometer_above_soft_max.
Sourcepub fn set_or_clear_cost_per_kilometer_above_soft_max<T>(
self,
v: Option<T>,
) -> Self
pub fn set_or_clear_cost_per_kilometer_above_soft_max<T>( self, v: Option<T>, ) -> Self
Sets or clears the value of cost_per_kilometer_above_soft_max.
Trait Implementations§
Source§impl Clone for DistanceLimit
impl Clone for DistanceLimit
Source§fn clone(&self) -> DistanceLimit
fn clone(&self) -> DistanceLimit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more