pub trait State: Copy + PartialEq + Display + LowerExp + Send + Syncwhere
Self: Sized,
DefaultAllocator: Allocator<f64, Self::Size> + Allocator<f64, Self::Size, Self::Size> + Allocator<f64, Self::VecLength>,{
type Size: DimName;
type VecLength: DimName;
fn as_vector(&self) -> Result<OVector<f64, Self::VecLength>, NyxError>;
fn set(
&mut self,
epoch: Epoch,
vector: &OVector<f64, Self::VecLength>
) -> Result<(), NyxError>;
fn epoch(&self) -> Epoch;
fn set_epoch(&mut self, epoch: Epoch);
fn zeros() -> Self { ... }
fn stm(&self) -> Result<OMatrix<f64, Self::Size, Self::Size>, NyxError> { ... }
fn reset_stm(&mut self) { ... }
fn set_with_delta_seconds(
self,
delta_t_s: f64,
vector: &OVector<f64, Self::VecLength>
) -> Self
where
DefaultAllocator: Allocator<f64, Self::VecLength>,
{ ... }
fn add(self, _other: OVector<f64, Self::Size>) -> Self { ... }
fn value(&self, _param: &StateParameter) -> Result<f64, NyxError> { ... }
fn set_value(
&mut self,
_param: &StateParameter,
_val: f64
) -> Result<(), NyxError> { ... }
}
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.
Required Associated Types
Required Methods
sourcefn as_vector(&self) -> Result<OVector<f64, Self::VecLength>, NyxError>
fn as_vector(&self) -> Result<OVector<f64, Self::VecLength>, NyxError>
Return this state as a vector for the propagation/estimation
Provided Methods
sourcefn zeros() -> Self
fn zeros() -> Self
Initialize an empty state By default, this is not implemented. This function must be implemented when filtering on this state.
sourcefn stm(&self) -> Result<OMatrix<f64, Self::Size, Self::Size>, NyxError>
fn stm(&self) -> Result<OMatrix<f64, Self::Size, Self::Size>, NyxError>
Return this state as a vector for the propagation/estimation By default, this is not implemented. This function must be implemented when filtering on this state.
sourcefn reset_stm(&mut self)
fn reset_stm(&mut self)
Return this state as a vector for the propagation/estimation By default, this is not implemented. This function must be implemented when filtering on this state.
sourcefn set_with_delta_seconds(
self,
delta_t_s: f64,
vector: &OVector<f64, Self::VecLength>
) -> Selfwhere
DefaultAllocator: Allocator<f64, Self::VecLength>,
fn set_with_delta_seconds(
self,
delta_t_s: f64,
vector: &OVector<f64, Self::VecLength>
) -> Selfwhere
DefaultAllocator: Allocator<f64, Self::VecLength>,
Reconstruct a new State from the provided delta time in seconds compared to the current state and with the provided vector.
sourcefn add(self, _other: OVector<f64, Self::Size>) -> Self
fn add(self, _other: OVector<f64, Self::Size>) -> Self
By default, this is not implemented. This function must be implemented when filtering on this state.