pub struct ECIState {
pub epoch: DateTime<Utc>,
pub position: Vector3,
pub velocity: Vector3,
}Expand description
State vector in Earth-Centered Inertial J2000 (ECI) reference frame.
ECI J2000 is an inertial reference frame with:
- Origin at Earth’s center of mass
- X-axis pointing toward the mean vernal equinox at J2000.0
- Z-axis pointing toward the mean celestial pole at J2000.0
- Y-axis completing the right-handed system
Position is in kilometers and velocity is in km/s.
Fields§
§epoch: DateTime<Utc>UTC epoch of this state
position: Vector3Position vector in km
velocity: Vector3Velocity vector in km/s
Implementations§
Source§impl ECIState
impl ECIState
Sourcepub fn new(epoch: DateTime<Utc>, position: Vector3, velocity: Vector3) -> Self
pub fn new(epoch: DateTime<Utc>, position: Vector3, velocity: Vector3) -> Self
Create a new ECI state.
Sourcepub fn from_tuples(
epoch: DateTime<Utc>,
position: (f64, f64, f64),
velocity: (f64, f64, f64),
) -> Self
pub fn from_tuples( epoch: DateTime<Utc>, position: (f64, f64, f64), velocity: (f64, f64, f64), ) -> Self
Create from position and velocity tuples.
Sourcepub fn angular_momentum(&self) -> Vector3
pub fn angular_momentum(&self) -> Vector3
Get the specific angular momentum vector (h = r × v) in km²/s.
Sourcepub fn specific_energy(&self) -> f64
pub fn specific_energy(&self) -> f64
Get the specific orbital energy in km²/s².
Sourcepub fn to_keplerian(&self) -> KeplerianElements
pub fn to_keplerian(&self) -> KeplerianElements
Convert to Keplerian elements.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ECIState
impl RefUnwindSafe for ECIState
impl Send for ECIState
impl Sync for ECIState
impl Unpin for ECIState
impl UnwindSafe for ECIState
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