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>
, { ... } }

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

type Size: DimName[src]

Size of the state and its STM

type PropVecSize: DimName[src]

Loading content...

Required methods

fn zeros() -> Self[src]

Initialize an empty state

fn as_vector(&self) -> Result<VectorN<f64, Self::PropVecSize>, NyxError> where
    DefaultAllocator: Allocator<f64, Self::PropVecSize>, 
[src]

Return this state as a vector for the propagation/estimation

fn stm(&self) -> Result<MatrixN<f64, Self::Size>, NyxError> where
    DefaultAllocator: Allocator<f64, Self::Size, Self::Size>, 
[src]

Return this state as a vector for the propagation/estimation

fn set(
    &mut self,
    epoch: Epoch,
    vector: &VectorN<f64, Self::PropVecSize>
) -> Result<(), NyxError> where
    DefaultAllocator: Allocator<f64, Self::PropVecSize>, 
[src]

Set this state

fn add(self, other: VectorN<f64, Self::Size>) -> Self[src]

Loading content...

Provided methods

fn ctor_from(
    self,
    delta_t_s: f64,
    vector: &VectorN<f64, Self::PropVecSize>
) -> Self where
    DefaultAllocator: Allocator<f64, Self::PropVecSize>, 
[src]

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

Loading content...

Implementors

impl State for Orbit[src]

Implementation of Orbit as a State for orbital dynamics with STM

type Size = U6

type PropVecSize = U42

fn zeros() -> Self[src]

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

impl State for SpacecraftState[src]

type Size = U7

type PropVecSize = U43

fn stm(&self) -> Result<MatrixN<f64, U7>, NyxError>[src]

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

Loading content...