pub struct BallisticInputs {Show 55 fields
pub bc_value: f64,
pub bc_type: DragModel,
pub bullet_mass: f64,
pub muzzle_velocity: f64,
pub bullet_diameter: f64,
pub bullet_length: f64,
pub muzzle_angle: f64,
pub target_distance: f64,
pub azimuth_angle: f64,
pub shot_azimuth: f64,
pub shooting_angle: f64,
pub sight_height: f64,
pub muzzle_height: f64,
pub target_height: f64,
pub ground_threshold: f64,
pub altitude: f64,
pub temperature: f64,
pub pressure: f64,
pub humidity: f64,
pub latitude: Option<f64>,
pub wind_speed: f64,
pub wind_angle: f64,
pub twist_rate: f64,
pub is_twist_right: bool,
pub caliber_inches: f64,
pub weight_grains: f64,
pub manufacturer: Option<String>,
pub bullet_model: Option<String>,
pub bullet_id: Option<String>,
pub bullet_cluster: Option<usize>,
pub use_rk4: bool,
pub use_adaptive_rk45: bool,
pub enable_advanced_effects: bool,
pub enable_magnus: bool,
pub enable_coriolis: bool,
pub use_powder_sensitivity: bool,
pub powder_temp_sensitivity: f64,
pub powder_temp: f64,
pub tipoff_yaw: f64,
pub tipoff_decay_distance: f64,
pub use_bc_segments: bool,
pub bc_segments: Option<Vec<(f64, f64)>>,
pub bc_segments_data: Option<Vec<BCSegmentData>>,
pub use_enhanced_spin_drift: bool,
pub use_form_factor: bool,
pub enable_wind_shear: bool,
pub wind_shear_model: String,
pub enable_trajectory_sampling: bool,
pub sample_interval: f64,
pub enable_pitch_damping: bool,
pub enable_precession_nutation: bool,
pub enable_aerodynamic_jump: bool,
pub use_cluster_bc: bool,
pub custom_drag_table: Option<DragTable>,
pub bc_type_str: Option<String>,
}Fields§
§bc_value: f64§bc_type: DragModel§bullet_mass: f64§muzzle_velocity: f64§bullet_diameter: f64§bullet_length: f64§muzzle_angle: f64§target_distance: f64§azimuth_angle: f64§shot_azimuth: f64Compass bearing the shot is fired ALONG, radians, 0 = North, π/2 = East.
Used only by the Coriolis model (Earth-rotation depends on which way downrange
points relative to true North). Distinct from azimuth_angle, which is the
small horizontal aiming offset and rotates the launch velocity.
shooting_angle: f64§sight_height: f64§muzzle_height: f64§target_height: f64§ground_threshold: f64§altitude: f64§temperature: f64§pressure: f64§humidity: f64Relative humidity as a FRACTION in [0, 1] (e.g. 0.5 = 50%). NOTE the scale
differs from AtmosphericConditions::humidity, which is a PERCENT in [0, 100].
The atmosphere helpers (calculate_air_density_*) expect percent, so convert via
BallisticInputs::humidity_percent before passing this value to them (MBA-722).
latitude: Option<f64>§wind_speed: f64§wind_angle: f64§twist_rate: f64§is_twist_right: bool§caliber_inches: f64§weight_grains: f64§manufacturer: Option<String>§bullet_model: Option<String>§bullet_id: Option<String>§bullet_cluster: Option<usize>§use_rk4: bool§use_adaptive_rk45: bool§enable_advanced_effects: bool§enable_magnus: bool§enable_coriolis: bool§use_powder_sensitivity: bool§powder_temp_sensitivity: f64§powder_temp: f64§tipoff_yaw: f64§tipoff_decay_distance: f64§use_bc_segments: bool§bc_segments: Option<Vec<(f64, f64)>>§bc_segments_data: Option<Vec<BCSegmentData>>§use_enhanced_spin_drift: bool§use_form_factor: bool§enable_wind_shear: bool§wind_shear_model: String§enable_trajectory_sampling: bool§sample_interval: f64§enable_pitch_damping: bool§enable_precession_nutation: bool§enable_aerodynamic_jump: bool§use_cluster_bc: bool§custom_drag_table: Option<DragTable>§bc_type_str: Option<String>Implementations§
Source§impl BallisticInputs
impl BallisticInputs
Sourcepub fn humidity_percent(&self) -> f64
pub fn humidity_percent(&self) -> f64
humidity as a PERCENT in [0, 100], clamped — the scale the atmosphere
density helpers expect. Centralizes the 0–1 → 0–100 conversion so callers don’t
re-derive it (and can’t accidentally feed the raw 0–1 fraction as a percentage).
See the field doc on BallisticInputs::humidity (MBA-722).
Trait Implementations§
Source§impl Clone for BallisticInputs
impl Clone for BallisticInputs
Source§fn clone(&self) -> BallisticInputs
fn clone(&self) -> BallisticInputs
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 BallisticInputs
impl Debug for BallisticInputs
Auto Trait Implementations§
impl Freeze for BallisticInputs
impl RefUnwindSafe for BallisticInputs
impl Send for BallisticInputs
impl Sync for BallisticInputs
impl Unpin for BallisticInputs
impl UnsafeUnpin for BallisticInputs
impl UnwindSafe for BallisticInputs
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,
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.