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

pub trait ThrustControl where
    Self: Clone + Sized
{ fn direction(&self, dt: Epoch, state: &Vector6<f64>) -> Vector3<f64>;
fn throttle(&self, dt: Epoch, state: &Vector6<f64>) -> f64;
fn next(&mut self, dt: Epoch, state: &Vector6<f64>); }

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, dt: Epoch, state: &Vector6<f64>) -> Vector3<f64>

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

fn throttle(&self, dt: Epoch, state: &Vector6<f64>) -> f64

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(&mut self, dt: Epoch, state: &Vector6<f64>)

Prepares the controller for the next maneuver (called from set_state of the dynamics).

Loading content...

Implementors

impl ThrustControl for FiniteBurns[src]

impl ThrustControl for Ruggiero[src]

fn next(&mut self, dt: Epoch, state: &Vector6<f64>)[src]

Update the state for the next iteration

Loading content...