pub struct TrajectoryPoint {
pub time: f64,
pub position: Vector3<f64>,
pub velocity_magnitude: f64,
pub kinetic_energy: f64,
pub drag_coefficient: Option<f64>,
}Fields§
§time: f64§position: Vector3<f64>§velocity_magnitude: f64§kinetic_energy: f64§drag_coefficient: Option<f64>The projectile’s own drag coefficient at this point (MBA-1423).
Filled in one pass after integration finishes, not at the sites that build this struct,
so a solver family added later cannot silently omit it. None when sectional density is
unavailable — see TrajectorySolver::effective_drag_coefficient for the definition and
why this is the projectile’s Cd rather than the reference table’s.
Implementations§
Source§impl TrajectoryPoint
impl TrajectoryPoint
Sourcepub fn drag_coefficient_json_value(
&self,
with_drag_coefficient: bool,
) -> Option<f64>
pub fn drag_coefficient_json_value( &self, with_drag_coefficient: bool, ) -> Option<f64>
The value --with-drag-coefficient emits for this point, or None when the JSON key
must be ABSENT — flag off, or sectional density unknown (MBA-1427).
Host-compilable on purpose. The browser terminal’s emit site lives in src/wasm.rs,
which is cfg(target_arch = "wasm32")-gated out of every native build — CI never
executes a line of it. Keeping the gating rule here means a native test can pin the
absent-not-null contract even though the surface that applies it only compiles for wasm.
Trait Implementations§
Source§impl Clone for TrajectoryPoint
impl Clone for TrajectoryPoint
Source§fn clone(&self) -> TrajectoryPoint
fn clone(&self) -> TrajectoryPoint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TrajectoryPoint
impl RefUnwindSafe for TrajectoryPoint
impl Send for TrajectoryPoint
impl Sync for TrajectoryPoint
impl Unpin for TrajectoryPoint
impl UnsafeUnpin for TrajectoryPoint
impl UnwindSafe for TrajectoryPoint
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.