[][src]Trait nyx_space::od::Estimable

pub trait Estimable<N> where
    Self: Dynamics + Sized
{ type LinStateSize: DimName; fn extract_estimated_state(
        &self,
        prop_state: &Self::StateType
    ) -> VectorN<f64, Self::LinStateSize>
    where
        DefaultAllocator: Allocator<f64, Self::LinStateSize>
;
fn set_estimated_state(
        &mut self,
        new_state: VectorN<f64, Self::LinStateSize>
    )
    where
        DefaultAllocator: Allocator<f64, Self::LinStateSize>
;
fn to_measurement(&self, prop_state: &Self::StateType) -> (Epoch, N);
fn extract_stm(
        &self,
        prop_state: &Self::StateType
    ) -> MatrixMN<f64, Self::LinStateSize, Self::LinStateSize>
    where
        DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>
; fn estimated_state(&self) -> VectorN<f64, Self::LinStateSize>
    where
        DefaultAllocator: Allocator<f64, Self::LinStateSize>
, { ... }
fn stm(&self) -> MatrixMN<f64, Self::LinStateSize, Self::LinStateSize>
    where
        DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>
, { ... } }

A trait container to specify that given dynamics support linearization, and can be used for state transition matrix computation.

This trait will likely be made obsolete after the implementation of #32.

Associated Types

type LinStateSize: DimName

Defines the state size of the estimated state

Loading content...

Required methods

fn extract_estimated_state(
    &self,
    prop_state: &Self::StateType
) -> VectorN<f64, Self::LinStateSize> where
    DefaultAllocator: Allocator<f64, Self::LinStateSize>, 

Returns the estimated state

fn set_estimated_state(&mut self, new_state: VectorN<f64, Self::LinStateSize>) where
    DefaultAllocator: Allocator<f64, Self::LinStateSize>, 

Sets the estimated state

fn to_measurement(&self, prop_state: &Self::StateType) -> (Epoch, N)

Converts the Dynamics' state type to a measurement to be ingested in a filter

fn extract_stm(
    &self,
    prop_state: &Self::StateType
) -> MatrixMN<f64, Self::LinStateSize, Self::LinStateSize> where
    DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>, 

Extracts the STM from the dynamics state

Loading content...

Provided methods

fn estimated_state(&self) -> VectorN<f64, Self::LinStateSize> where
    DefaultAllocator: Allocator<f64, Self::LinStateSize>, 

Returns the estimated state

fn stm(&self) -> MatrixMN<f64, Self::LinStateSize, Self::LinStateSize> where
    DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>, 

Defines the gradient of the equations of motion for these dynamics.

Loading content...

Implementors

impl<'a> Estimable<State> for CelestialDynamicsStm<'a>[src]

type LinStateSize = U6

fn set_estimated_state(&mut self, new_state: VectorN<f64, Self::LinStateSize>)[src]

Returns the estimated state

Loading content...