pub struct VentumArc {
pub center: VentumArcPoint,
pub radius_mil: f64,
pub start_degrees: f64,
pub end_degrees: f64,
pub sweep_degrees: f64,
pub start_tip: VentumArcPoint,
pub apex: VentumArcPoint,
pub end_tip: VentumArcPoint,
}Expand description
One circle element that carried a sweep — a horseshoe or other arc — resolved into the
points a shooter could index on, but NOT imported as marks. See the module documentation
for why the decision is left to the caller.
Every field is in milliradians from the optical center (angles excepted, which are the
document’s own degrees), so
ReticleMark::new(arc.apex.down_mil, arc.apex.right_mil, MarkKind::Dot) is all it takes to
adopt one.
Fields§
§center: VentumArcPointThe arc’s center — the point its radius is measured from, NOT an aiming point.
radius_mil: f64Arc radius in milliradians.
start_degrees: f64The arc’s start angle, degrees, measured from 3 o’clock and sweeping clockwise (so
270° is the TOP of the reticle — see the module documentation).
For an arc the document drew, this is the document’s own number, reported as written —
a Ventum tool is free to write a bearing outside [0, 360) and this is not the place
that rewrites it. For the twin of a mirrored repeat, whose angles this module
computed by reflection, it is reduced into [0, 360) (MBA-1536).
end_degrees: f64The arc’s end angle, same convention and same provenance as
Self::start_degrees.
sweep_degrees: f64How far the arc sweeps clockwise from start to end, in (0, 360) degrees. A
circle whose angles describe a whole revolution is a ring, not an arc, and never
appears here.
start_tip: VentumArcPointWhere the arc begins: the visible tip at start_degrees.
apex: VentumArcPointThe sweep midpoint — a horseshoe’s apex, the closed end opposite its gap. The one point on an arc a shooter can index without measuring.
end_tip: VentumArcPointWhere the arc ends: the visible tip at end_degrees.
Trait Implementations§
impl Copy for VentumArc
impl StructuralPartialEq for VentumArc
Auto Trait Implementations§
impl Freeze for VentumArc
impl RefUnwindSafe for VentumArc
impl Send for VentumArc
impl Sync for VentumArc
impl Unpin for VentumArc
impl UnwindSafe for VentumArc
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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.