pub struct BodyFlight {
pub body: usize,
pub stages: (usize, usize),
pub pieces: Vec<usize>,
pub mass_kg: f64,
pub start_sample: BodySample,
pub termination: Termination,
pub events: Vec<BodyEvent>,
pub final_sample: BodySample,
pub stats: Stats,
pub impulse_left_n_s: f64,
}Expand description
One separated body’s descent, from the moment it flies on its own to its landing.
Fields§
§body: usizeWhich body: 0 keeps the nose. A body is numbered by its lead piece (crate::Ejection).
stages: (usize, usize)The first and last stage it has a component in when it lands.
pieces: Vec<usize>The pieces it lands with: its own, and any joined to it whose split never fired. Piece 0 is the nose’s, the separation makes piece 1, and each ejection the next.
mass_kg: f64Its mass when it lands, kg. It is constant between splits, and steps down when a piece
leaves it on the way down (an crate::EventKind::Ejection among its events).
start_sample: BodySampleWhere it started flying on its own: at the airframe’s first parting, its own center of mass
and that point’s velocity; at a later one, on the way down, the point and velocity of the
body it left. Either way plus the pushes of the pushed ejections on its sides
(crate::Ejection::with_impulse).
termination: TerminationWhy its descent ended.
events: Vec<BodyEvent>Its events, in order.
final_sample: BodySampleWhere it ended.
stats: StatsThe integrator’s work on it.
impulse_left_n_s: f64The impulse its motors still had to give when it started flying on its own, N·s, which its descent leaves out: a point mass has no thrust. It is 0 but for a body a powered separation dropped with a motor still burning, as OpenRocket’s first burnout of a stage drops its other motors (ADR-172). That thrust could have changed its speed by about this over its mass, a little more as the propellant left burns away.
Implementations§
Trait Implementations§
Source§impl Clone for BodyFlight
impl Clone for BodyFlight
Source§fn clone(&self) -> BodyFlight
fn clone(&self) -> BodyFlight
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 BodyFlight
impl Debug for BodyFlight
Source§impl<'de> Deserialize<'de> for BodyFlight
impl<'de> Deserialize<'de> for BodyFlight
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 PartialEq for BodyFlight
impl PartialEq for BodyFlight
Source§fn eq(&self, other: &BodyFlight) -> bool
fn eq(&self, other: &BodyFlight) -> bool
self and other values to be equal, and is used by ==.