Trait nyx_space::dynamics::thrustctrl::ThrustControl[][src]

pub trait ThrustControl: Send + Sync {
    fn direction(&self, state: &SpacecraftState) -> Vector3<f64>;
fn throttle(&self, state: &SpacecraftState) -> f64;
fn next(&self, state: &SpacecraftState) -> GuidanceMode; fn achieved(&self, _state: &SpacecraftState) -> Result<bool, NyxError> { ... } }

The ThrustControl trait handles control laws, optimizations, and other such methods for controlling the overall thrust direction when tied to a Spacecraft. For delta V control, tie the DeltaVctrl to a MissionArc.

Required methods

fn direction(&self, state: &SpacecraftState) -> Vector3<f64>[src]

Returns a unit vector corresponding to the thrust direction in the inertial frame.

fn throttle(&self, state: &SpacecraftState) -> f64[src]

Returns a number between [0;1] corresponding to the engine throttle level. For example, 0 means coasting, i.e. no thrusting, and 1 means maximum thrusting.

fn next(&self, state: &SpacecraftState) -> GuidanceMode[src]

Prepares the controller for the next maneuver by returning the next guidance mode.

Loading content...

Provided methods

fn achieved(&self, _state: &SpacecraftState) -> Result<bool, NyxError>[src]

Returns whether this thrust control has been achieved, if it has an objective

Loading content...

Implementors

impl ThrustControl for FiniteBurns[src]

impl ThrustControl for Ruggiero[src]

fn achieved(&self, state: &SpacecraftState) -> Result<bool, NyxError>[src]

Returns whether the control law has achieved all goals

fn next(&self, sc: &SpacecraftState) -> GuidanceMode[src]

Update the state for the next iteration

Loading content...