pub enum MarkToRangeOutcome {
Reached(Box<HoldPoint>),
InsideZero {
far_zero_range_m: f64,
},
BeyondSearch {
max_range_m: f64,
max_drop_mil: f64,
},
}Expand description
Result of inverting the hold curve for one mark subtension (MBA-1362).
The two failure arms are REPORTED, never silently dropped: a mark the load cannot reach is information a shooter needs (it is the reticle’s usable range limit), and dropping it would quietly shorten the answer table.
Variants§
Reached(Box<HoldPoint>)
The mark’s subtension is matched at this range.
InsideZero
The subtension corresponds to no range past the far zero. Angular drop is exactly zero AT the far zero and only grows past it, so a mark at or ABOVE the optical center (a non-positive subtension) is never matched — those are under-holds for ranges inside the zero, where drop-vs-range is not monotone and “the range for this mark” is not well defined.
BeyondSearch
Angular drop never grows to the subtension within the searched trajectory.
Trait Implementations§
Source§impl Clone for MarkToRangeOutcome
impl Clone for MarkToRangeOutcome
Source§fn clone(&self) -> MarkToRangeOutcome
fn clone(&self) -> MarkToRangeOutcome
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 MarkToRangeOutcome
impl Debug for MarkToRangeOutcome
Source§impl PartialEq for MarkToRangeOutcome
impl PartialEq for MarkToRangeOutcome
impl StructuralPartialEq for MarkToRangeOutcome
Auto Trait Implementations§
impl Freeze for MarkToRangeOutcome
impl RefUnwindSafe for MarkToRangeOutcome
impl Send for MarkToRangeOutcome
impl Sync for MarkToRangeOutcome
impl Unpin for MarkToRangeOutcome
impl UnsafeUnpin for MarkToRangeOutcome
impl UnwindSafe for MarkToRangeOutcome
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> 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.