pub struct SimulationCheckpoint {
pub version: u32,
pub label: String,
pub timestamp: f64,
pub sim_time: f64,
pub step_count: u64,
pub gravity: [f64; 3],
pub bodies: Vec<BodyStateJson>,
pub metadata: HashMap<String, String>,
}Expand description
A simulation checkpoint with metadata for save/restore workflows.
Fields§
§version: u32Checkpoint format version.
label: StringHuman-readable checkpoint label.
timestamp: f64Wall-clock timestamp (Unix seconds, approximate).
sim_time: f64Simulation time at checkpoint.
step_count: u64Number of steps taken.
gravity: [f64; 3]Gravity vector at checkpoint.
bodies: Vec<BodyStateJson>All body states.
metadata: HashMap<String, String>Arbitrary metadata key-value pairs.
Implementations§
Source§impl SimulationCheckpoint
impl SimulationCheckpoint
Sourcepub const FORMAT_VERSION: u32 = 1
pub const FORMAT_VERSION: u32 = 1
Current checkpoint format version.
Sourcepub fn from_snapshot(
snap: &SimulationSnapshot,
label: impl Into<String>,
step_count: u64,
timestamp: f64,
) -> Self
pub fn from_snapshot( snap: &SimulationSnapshot, label: impl Into<String>, step_count: u64, timestamp: f64, ) -> Self
Build a checkpoint from a SimulationSnapshot.
Sourcepub fn to_snapshot(&self) -> SimulationSnapshot
pub fn to_snapshot(&self) -> SimulationSnapshot
Convert back to a SimulationSnapshot.
Sourcepub fn body_count(&self) -> usize
pub fn body_count(&self) -> usize
Number of bodies in the checkpoint.
Trait Implementations§
Source§impl Clone for SimulationCheckpoint
impl Clone for SimulationCheckpoint
Source§fn clone(&self) -> SimulationCheckpoint
fn clone(&self) -> SimulationCheckpoint
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SimulationCheckpoint
impl Debug for SimulationCheckpoint
Source§impl<'de> Deserialize<'de> for SimulationCheckpoint
impl<'de> Deserialize<'de> for SimulationCheckpoint
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SimulationCheckpoint
impl RefUnwindSafe for SimulationCheckpoint
impl Send for SimulationCheckpoint
impl Sync for SimulationCheckpoint
impl Unpin for SimulationCheckpoint
impl UnsafeUnpin for SimulationCheckpoint
impl UnwindSafe for SimulationCheckpoint
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
Mutably borrows from an owned value. Read more
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.