pub struct DopeCardConfig {Show 24 fields
pub rifle_name: String,
pub location: String,
pub density_altitude_ft: f64,
pub pressure_inhg: f64,
pub pressure_hpa: f64,
pub temperature_f: f64,
pub altitude_ft: f64,
pub wind_speed_mph: f64,
pub target_speed_mph: f64,
pub solver_mode: String,
pub powder: String,
pub bullet: String,
pub weight_gr: f64,
pub bc: f64,
pub drag_model: String,
pub bc_label: String,
pub velocity_fps: f64,
pub font_scale: f32,
pub bold_data: bool,
pub elevation_unit_label: String,
pub windage_unit_label: String,
pub engine_version: String,
pub table_version: String,
pub truncation_note: String,
}Expand description
Configuration for the dope card PDF
Fields§
§rifle_name: String§location: String§density_altitude_ft: f64§pressure_inhg: f64§pressure_hpa: f64§temperature_f: f64§altitude_ft: f64§wind_speed_mph: f64§target_speed_mph: f64§solver_mode: String§powder: String§bullet: String§weight_gr: f64§bc: f64§drag_model: String§bc_label: StringFooter text after BC:, in place of the bc figure and its drag-model group
(MBA-1601). EMPTY prints {bc:.3} ({drag_model lowercased}) exactly as before.
Pre-formatted, like truncation_note: supply ladder_bc_label when the rows flew a
BC ladder. Under a ladder bc is at most the interior-gap fallback, so printing it
alone states a BC the rows may never have flown.
velocity_fps: f64§font_scale: f32§bold_data: bool§elevation_unit_label: StringAngular unit label shown in the Drop column sub-header (“MIL”, “MOA”, “SMOA”,
“IPHY”, or “CLICKS”). CardRow::drop_adj is already expressed in this unit
(MBA-1410: independent from windage_unit_label below).
windage_unit_label: StringAngular unit label shown in the Wind/Lead column sub-headers. CardRow:: wind_adj/lead_adj are already expressed in this unit – may differ from
elevation_unit_label (MBA-1410 independent elevation/windage unit selection).
engine_version: StringEngine version that produced these rows, printed in the footer as Engine:<v>.
A card in a shooter’s pocket is otherwise impossible to reconcile with a screen: the rows are a function of the engine build and of the correction table, and both move. An EMPTY string prints nothing at all – the same rule the apps’ provenance line follows, because a placeholder (“unknown”) on a printed card is worse than silence.
table_version: StringCorrection-table version these rows were solved against, printed as Table:<v>.
Empty prints nothing, which is the honest rendering of “no correction table”.
truncation_note: StringOne line stating that these rows stop short of the card that was asked for, drawn in the footer under the provenance line (MBA-1477). Empty prints nothing.
Supply crate::hold_curve::CardTruncation::printed_note — the paper form of the
one wording every truncated card surface uses. Pre-formatted rather than structured
for the same reason engine_version and table_version are: this module renders a
card, it does not decide what a card has to say about itself.
A truncated card is otherwise indistinguishable on paper from a complete one. The notice reaches a CLI reader on stderr and an app through a response field, and a printed card carries neither: it is the artifact most likely to be taken to a range with no screen beside it, so a card that stopped short of the range it was asked for has to say so in the shooter’s hand.
Trait Implementations§
Source§impl Clone for DopeCardConfig
impl Clone for DopeCardConfig
Source§fn clone(&self) -> DopeCardConfig
fn clone(&self) -> DopeCardConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DopeCardConfig
impl RefUnwindSafe for DopeCardConfig
impl Send for DopeCardConfig
impl Sync for DopeCardConfig
impl Unpin for DopeCardConfig
impl UnwindSafe for DopeCardConfig
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.