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

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

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

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

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.

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

Provided methods

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

Implementors

Returns whether the control law has achieved all goals

Update the state for the next iteration