pub struct StateVector {
pub r_x: f64,
pub r_y: f64,
pub r_z: f64,
pub v_x: f64,
pub v_y: f64,
pub v_z: f64,
pub coordinate_frame: CoordinateFrame,
}Expand description
Satellite state vector
Position [km] and velocity [km/s] of a satellite in a specified coordinate frame.
SGP4 propagation returns this type in CoordinateFrame::TEME.
§Examples
use mako_sgp4::common::{CoordinateFrame, StateVector};
// Define a TEME state (position in km, velocity in km/s)
let state = StateVector {
r_x: 1.0,
r_y: 0.0,
r_z: 0.0,
v_x: 0.0,
v_y: 7.5,
v_z: 0.0,
coordinate_frame: CoordinateFrame::TEME,
};
// Assert the frame used by SGP4
assert_eq!(state.coordinate_frame, CoordinateFrame::TEME);§References
Fields§
§r_x: f64Position X component [km]
r_y: f64Position Y component [km]
r_z: f64Position Z component [km]
v_x: f64Velocity X component [km/s]
v_y: f64Velocity Y component [km/s]
v_z: f64Velocity Z component [km/s]
coordinate_frame: CoordinateFrameCoordinate frame of the state vector
Trait Implementations§
Source§impl Clone for StateVector
impl Clone for StateVector
impl Copy for StateVector
Auto Trait Implementations§
impl Freeze for StateVector
impl RefUnwindSafe for StateVector
impl Send for StateVector
impl Sync for StateVector
impl Unpin for StateVector
impl UnsafeUnpin for StateVector
impl UnwindSafe for StateVector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more