#[non_exhaustive]pub struct RouteBriefingRequest {
pub waypoints: Vec<RouteWaypoint>,
pub corridor_half_width_nm: f64,
pub cruise_altitude_ft: Option<i32>,
pub cruise_tas_kt: Option<f64>,
pub departure_at: Option<DateTime<Utc>>,
pub flight_rules: FlightRules,
pub products: Vec<ProductKind>,
}Expand description
A briefing request for a route corridor.
Non-exhaustive: construct with RouteBriefingRequest::new and the
with_* setters; future parameters (per-leg altitudes, alternates as
structured points) are additive.
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.waypoints: Vec<RouteWaypoint>Ordered route waypoints, departure first, destination last.
corridor_half_width_nm: f64Half-width of the corridor around the centerline, nautical miles.
cruise_altitude_ft: Option<i32>Planned cruise altitude, feet MSL.
cruise_tas_kt: Option<f64>Planned cruise true airspeed, knots.
departure_at: Option<DateTime<Utc>>Intended departure time (ETD); anchors departure-relative sources.
flight_rules: FlightRulesFlight rules the route is flown under.
products: Vec<ProductKind>Products to include; empty means the source’s default set.
Implementations§
Source§impl RouteBriefingRequest
impl RouteBriefingRequest
Sourcepub fn new(waypoints: Vec<RouteWaypoint>, corridor_half_width_nm: f64) -> Self
pub fn new(waypoints: Vec<RouteWaypoint>, corridor_half_width_nm: f64) -> Self
A request over waypoints with a corridor_half_width_nm
corridor, IFR, and source-default products.
Sourcepub fn with_cruise_altitude_ft(self, ft: Option<i32>) -> Self
pub fn with_cruise_altitude_ft(self, ft: Option<i32>) -> Self
Set the cruise altitude (feet MSL).
Sourcepub fn with_cruise_tas_kt(self, kt: Option<f64>) -> Self
pub fn with_cruise_tas_kt(self, kt: Option<f64>) -> Self
Set the cruise true airspeed (knots).
Sourcepub fn with_departure_at(self, at: Option<DateTime<Utc>>) -> Self
pub fn with_departure_at(self, at: Option<DateTime<Utc>>) -> Self
Anchor the briefing to an intended departure time.
Sourcepub fn with_flight_rules(self, rules: FlightRules) -> Self
pub fn with_flight_rules(self, rules: FlightRules) -> Self
Set the flight rules.
Sourcepub fn with_products(self, products: Vec<ProductKind>) -> Self
pub fn with_products(self, products: Vec<ProductKind>) -> Self
Restrict to the given product kinds (empty = source default set).
Sourcepub fn total_distance_nm(&self) -> f64
pub fn total_distance_nm(&self) -> f64
Total great-circle length of the route, nautical miles.
Sourcepub fn idents(&self) -> Vec<&str>
pub fn idents(&self) -> Vec<&str>
The published identifiers along the route, in order, skipping bare lat/lon points.
Sourcepub fn segment_bboxes(&self, max_segment_nm: f64) -> Vec<Area>
pub fn segment_bboxes(&self, max_segment_nm: f64) -> Vec<Area>
Cover the corridor with axis-aligned bounding boxes, each spanning
at most max_segment_nm of route, padded by the corridor
half-width. An area-only provider (AWC) issues one request per box
— fewer, larger boxes near the cap; one box for a short route.
Trait Implementations§
Source§impl Clone for RouteBriefingRequest
impl Clone for RouteBriefingRequest
Source§fn clone(&self) -> RouteBriefingRequest
fn clone(&self) -> RouteBriefingRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RouteBriefingRequest
impl Debug for RouteBriefingRequest
Source§impl<'de> Deserialize<'de> for RouteBriefingRequest
impl<'de> Deserialize<'de> for RouteBriefingRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RouteBriefingRequest
impl PartialEq for RouteBriefingRequest
Source§fn eq(&self, other: &RouteBriefingRequest) -> bool
fn eq(&self, other: &RouteBriefingRequest) -> bool
self and other values to be equal, and is used by ==.