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
fn direction(&self, state: &Spacecraft) -> Vector3<f64>
[src]
fn direction(&self, state: &Spacecraft) -> Vector3<f64>
[src]Returns a unit vector corresponding to the thrust direction in the inertial frame.
fn throttle(&self, state: &Spacecraft) -> f64
[src]
fn throttle(&self, state: &Spacecraft) -> 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: &Spacecraft) -> GuidanceMode
[src]
fn next(&self, state: &Spacecraft) -> GuidanceMode
[src]Prepares the controller for the next maneuver by returning the next guidance mode.
Provided methods
Implementors
Returns whether the control law has achieved all goals
Update the state for the next iteration