Trait nyx_space::State[][src]

pub trait State: TimeTagged + Copy + Clone + PartialEq + Display + LowerExp + Send + Sync where
    Self: Sized,
    DefaultAllocator: Allocator<f64, Self::Size>, 
{ type Size: DimName; type PropVecSize: DimName; fn zeros() -> Self;
fn as_vector(&self) -> Result<VectorN<f64, Self::PropVecSize>, NyxError>
    where
        DefaultAllocator: Allocator<f64, Self::PropVecSize>
;
fn stm(&self) -> Result<MatrixN<f64, Self::Size>, NyxError>
    where
        DefaultAllocator: Allocator<f64, Self::Size, Self::Size>
;
fn set(
        &mut self,
        epoch: Epoch,
        vector: &VectorN<f64, Self::PropVecSize>
    ) -> Result<(), NyxError>
    where
        DefaultAllocator: Allocator<f64, Self::PropVecSize>
;
fn add(self, other: VectorN<f64, Self::Size>) -> Self; fn ctor_from(
        self,
        delta_t_s: f64,
        vector: &VectorN<f64, Self::PropVecSize>
    ) -> Self
    where
        DefaultAllocator: Allocator<f64, Self::PropVecSize>
, { ... } }
Expand description

A trait for generate propagation and estimation state. The first parameter is the size of the state, the second is the size of the propagated state including STM and extra items.

Associated Types

Size of the state and its STM

Required methods

Initialize an empty state

Return this state as a vector for the propagation/estimation

Return this state as a vector for the propagation/estimation

Set this state

Provided methods

Reconstruct a new State from the provided delta time in seconds compared to the current state and with the provided vector.

Implementors

Implementation of Orbit as a State for orbital dynamics with STM

Returns a state whose position, velocity and frame are zero, and STM is I_{6x6}.

WARNING: Currently the STM assumes that the fuel mass is constant at ALL TIMES!