Struct nyx_space::dynamics::orbital::OrbitalDynamics[][src]

pub struct OrbitalDynamics<'a> {
    pub accel_models: Vec<Arc<dyn AccelModel + Sync + 'a>>,
}

OrbitalDynamics provides the equations of motion for any celestial dynamic, without state transition matrix computation.

Fields

accel_models: Vec<Arc<dyn AccelModel + Sync + 'a>>

Implementations

impl<'a> OrbitalDynamics<'a>[src]

pub fn point_masses(
    integr_frame: Frame,
    bodies: &[Bodies],
    cosm: Arc<Cosm>
) -> Arc<Self>
[src]

Initialize point mass dynamics given the EXB IDs and a Cosm

pub fn two_body() -> Arc<Self>[src]

Initializes a OrbitalDynamics which does not simulate the gravity pull of other celestial objects but the primary one.

pub fn new(accel_models: Vec<Arc<dyn AccelModel + Sync + 'a>>) -> Arc<Self>[src]

Initialize orbital dynamics with a list of acceleration models

pub fn new_raw(accel_models: Vec<Arc<dyn AccelModel + Sync + 'a>>) -> Self[src]

Initialize orbital dynamics with a list of acceleration models, without encapsulating it in an Arc Use this only if you need to mutate the dynamics as you’ll need to wrap it in an Arc before propagation.

pub fn with_model(accel_model: Arc<dyn AccelModel + Sync + 'a>) -> Arc<Self>[src]

Initialize new orbital mechanics with the provided model. Note: Orbital dynamics always include two body dynamics, these cannot be turned off.

pub fn add_model(&mut self, accel_model: Arc<dyn AccelModel + Sync + 'a>)[src]

Add a model to the currently defined orbital dynamics

Trait Implementations

impl<'a> Clone for OrbitalDynamics<'a>[src]

impl<'a> Dynamics for OrbitalDynamics<'a>[src]

type HyperdualSize = U7

The state of the associated hyperdual state, almost always StateType + U1

type StateType = Orbit

Auto Trait Implementations

impl<'a> !RefUnwindSafe for OrbitalDynamics<'a>

impl<'a> Send for OrbitalDynamics<'a>

impl<'a> Sync for OrbitalDynamics<'a>

impl<'a> Unpin for OrbitalDynamics<'a>

impl<'a> !UnwindSafe for OrbitalDynamics<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,