pub struct CorridorRow {Show 14 fields
pub range_m: f64,
pub scenarios: Vec<ScenarioHold>,
pub elevation_min_mil: f64,
pub elevation_max_mil: f64,
pub windage_min_mil: f64,
pub windage_max_mil: f64,
pub minimax_elevation_mil: f64,
pub minimax_windage_mil: f64,
pub worst_case_miss_mil: f64,
pub worst_case_elevation_miss_mil: f64,
pub worst_case_windage_miss_mil: f64,
pub worst_case_scenario: String,
pub nominal_worst_case_miss_mil: Option<f64>,
pub fits_target: Option<bool>,
}Expand description
The corridor and chosen hold at one range.
Fields§
§range_m: f64§scenarios: Vec<ScenarioHold>Every scenario, in sorted-by-name order.
elevation_min_mil: f64§elevation_max_mil: f64§windage_min_mil: f64§windage_max_mil: f64§minimax_elevation_mil: f64The hold that minimizes the worst case under the active metric.
minimax_windage_mil: f64§worst_case_miss_mil: f64Worst-case deviation from the minimax hold to any scenario, under the active
metric: the larger per-axis half-span for CorridorMetric::Rectangular, the
minimum-enclosing-circle radius for CorridorMetric::Circular.
worst_case_elevation_miss_mil: f64Per-axis worst cases from the same hold, always reported: these are what the rectangular fit check uses, and they stay meaningful under either metric.
worst_case_windage_miss_mil: f64§worst_case_scenario: StringWhich scenario is furthest from the minimax hold under the active metric. Ties resolve to the first in sorted-by-name order.
nominal_worst_case_miss_mil: Option<f64>The same worst-case measure computed from the DESIGNATED NOMINAL scenario’s hold, when one was named. Present so the report can show what the minimax buys.
fits_target: Option<bool>Whether the whole corridor is inside the target when held at the minimax hold.
None when no target was supplied. Boundary contact counts as a fit.
Trait Implementations§
Source§impl Clone for CorridorRow
impl Clone for CorridorRow
Source§fn clone(&self) -> CorridorRow
fn clone(&self) -> CorridorRow
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 CorridorRow
impl Debug for CorridorRow
Source§impl<'de> Deserialize<'de> for CorridorRow
impl<'de> Deserialize<'de> for CorridorRow
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 CorridorRow
impl PartialEq for CorridorRow
Source§impl Serialize for CorridorRow
impl Serialize for CorridorRow
impl StructuralPartialEq for CorridorRow
Auto Trait Implementations§
impl Freeze for CorridorRow
impl RefUnwindSafe for CorridorRow
impl Send for CorridorRow
impl Sync for CorridorRow
impl Unpin for CorridorRow
impl UnsafeUnpin for CorridorRow
impl UnwindSafe for CorridorRow
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.