#[non_exhaustive]pub struct StoredSimulation {
pub name: String,
pub status: Option<String>,
pub simulator: Option<String>,
pub calculator: Option<String>,
pub conditions: Option<LaunchConditions>,
pub results: Option<StoredResults>,
pub parser_warnings: bool,
}Expand description
A simulation stored in a .ork.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: String<name>.
status: Option<String>The status attribute as written: uptodate, outdated, loaded, external,
notsimulated, cantrun or aborted in the files OpenRocket 24.12 writes.
simulator: Option<String><simulator>, such as RK4Simulator.
calculator: Option<String><calculator>, such as BarrowmanCalculator.
conditions: Option<LaunchConditions><conditions>: what the run was flown in.
results: Option<StoredResults><flightdata>: what it gave, when OpenRocket saved it.
parser_warnings: boolWhether reading this simulation required dropping or reinterpreting stored data.
Implementations§
Source§impl StoredSimulation
impl StoredSimulation
Sourcepub fn reference_exclusion(&self) -> Option<StoredReferenceExclusion>
pub fn reference_exclusion(&self) -> Option<StoredReferenceExclusion>
Returns why this stored result must not become a validation reference.
Only an explicitly uptodate simulation with the accepted OPENROCKET_SIMULATOR and
OPENROCKET_CALCULATOR provenance markers and finite, positive ascent summary values is
eligible. The two identifiers establish the recorded producer names, not a complete identity
fingerprint for the OpenRocket version, settings or design. Optional summary values
are checked when present. A time series is not required: OpenRocket can save a useful
summary without one. When a time series includes time and altitude, its finite values must
be non-negative apart from a 1 mm ground-contact rounding allowance, and time must not run
backwards. The selected summary branch’s maximum altitude must agree with the stored apogee
in both directions within max(0.1% of apogee, 1 mm). When multiple branches record an
apogee, the first such branch in file order is selected; the reader does not infer branch
identity from a matching maximum. A single altitude-bearing branch is selected even without
an apogee event; multiple such
branches without an apogee event are uninspectable because the summary branch cannot be
identified. A branch with rows but no
recognized time or altitude column is not inspectable. No arbitrary lower altitude threshold
is used: a small but internally consistent flight is not impossible merely because it is
small. Fatal events and event times outside the stored flight are also rejected.
Trait Implementations§
Source§impl Clone for StoredSimulation
impl Clone for StoredSimulation
Source§fn clone(&self) -> StoredSimulation
fn clone(&self) -> StoredSimulation
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 StoredSimulation
impl Debug for StoredSimulation
Source§impl<'de> Deserialize<'de> for StoredSimulation
impl<'de> Deserialize<'de> for StoredSimulation
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 JsonSchema for StoredSimulation
impl JsonSchema for StoredSimulation
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for StoredSimulation
impl PartialEq for StoredSimulation
Source§fn eq(&self, other: &StoredSimulation) -> bool
fn eq(&self, other: &StoredSimulation) -> bool
self and other values to be equal, and is used by ==.