pub struct TruingModelInputsV1 {
pub muzzle_velocity_fps: f64,
pub ballistic_coefficient: f64,
pub drag_model: DragModelArg,
pub mass_gr: f64,
pub diameter_in: f64,
pub zero_distance_yd: f64,
pub sight_height_in: f64,
pub temperature_f: f64,
pub pressure_inhg: f64,
pub humidity_pct: f64,
pub altitude_ft: f64,
}Expand description
Complete scalar-BC forward-model input used by the truing design and uncertainty APIs added in MBA-1346/MBA-1353.
All values use the truing core’s historical imperial units. A front end is expected to convert its display units once at the boundary. V1 deliberately models one scalar G1/G7 coefficient: a velocity-banded BC schedule or custom Mach/Cd deck does not have a single BC parameter to identify and must not be silently reduced to one.
Fields§
§muzzle_velocity_fps: f64Nominal muzzle velocity about which a plan is designed, in feet/second.
ballistic_coefficient: f64Nominal scalar ballistic coefficient about which a plan is designed.
drag_model: DragModelArg§mass_gr: f64Bullet mass in grains.
diameter_in: f64Bullet diameter in inches.
zero_distance_yd: f64Zero distance in yards.
sight_height_in: f64Sight height over bore in inches.
temperature_f: f64Ambient temperature in degrees Fahrenheit.
pressure_inhg: f64Station pressure in inches of mercury.
humidity_pct: f64Relative humidity in percent (0 through 100).
altitude_ft: f64Altitude in feet.
Implementations§
Trait Implementations§
Source§impl Clone for TruingModelInputsV1
impl Clone for TruingModelInputsV1
Source§fn clone(&self) -> TruingModelInputsV1
fn clone(&self) -> TruingModelInputsV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TruingModelInputsV1
Source§impl Debug for TruingModelInputsV1
impl Debug for TruingModelInputsV1
Source§impl<'de> Deserialize<'de> for TruingModelInputsV1
impl<'de> Deserialize<'de> for TruingModelInputsV1
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 From<&TruingModelInputsV1> for DsfSolveInputs
impl From<&TruingModelInputsV1> for DsfSolveInputs
Source§fn from(inputs: &TruingModelInputsV1) -> Self
fn from(inputs: &TruingModelInputsV1) -> Self
Widen a bare scalar-BC model into the full DsfSolveInputs shape a caller with
no profile-shaped extras reaches (Task 9’s true.dsf bridge command). EXPLICIT
bridge defaults — spelled out here because an app author needs to know what this
assumes: no wind, a level shot (0.0 shooting angle), no zero-POI bias, no
sight-mount offset, ICAO BC reference, no BC-segment auto-estimation
(use_bc_segments: false), no explicit BC-segment schedule, no custom drag
curve, and a 60 in (1.524 m) imperial-default bore height (a bridge caller has
no unit system of its own — every other field here is already imperial, e.g.
mass_gr/diameter_in, so the imperial bore-height default is the consistent
choice). zero_distance_yd carries inputs.zero_distance_yd (mandatory on
TruingModelInputsV1, so always Some here — never the “flat, no zero” case).
drag_model widens inputs.drag_model (DragModelArg, G1 or G7 only — the
bridge request’s own model has no wider choice) into the corresponding
DragModel variant; since the bridge never offers anything outside G1/G7,
nothing is lost by this widening, unlike the CLI’s saved-profile path which can
carry the full family.
Auto Trait Implementations§
impl Freeze for TruingModelInputsV1
impl RefUnwindSafe for TruingModelInputsV1
impl Send for TruingModelInputsV1
impl Sync for TruingModelInputsV1
impl Unpin for TruingModelInputsV1
impl UnsafeUnpin for TruingModelInputsV1
impl UnwindSafe for TruingModelInputsV1
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>,
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.