Skip to main content

RotationProvider

Trait RotationProvider 

Source
pub trait RotationProvider<T: TimeScale>: OffsetProvider {
    type EopError: Error + Send + Sync + 'static;

Show 26 methods // Required methods fn corrections( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Corrections, Self::EopError>; fn pole_coords(&self, time: Time<T>) -> Result<PoleCoords, Self::EopError>; // Provided methods fn icrf_to_iau<R>( &self, time: Time<T>, frame: Iau<R>, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, R: TryRotationalElements, Self: TryOffset<T, Tdb> { ... } fn iau_to_icrf<R>( &self, time: Time<T>, frame: Iau<R>, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, R: TryRotationalElements, Self: TryOffset<T, Tdb> { ... } fn icrf_to_itrf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> + TryOffset<T, Tt> + TryOffset<T, Ut1> { ... } fn itrf_to_icrf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> + TryOffset<T, Tt> + TryOffset<T, Ut1> { ... } fn icrf_to_j2000(&self) -> Rotation { ... } fn j2000_to_icrf(&self) -> Rotation { ... } fn j2000_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn mod_to_j2000( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn icrf_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn mod_to_icrf( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn mod_to_tod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn tod_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn tod_to_pef( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> + TryOffset<T, Ut1> { ... } fn pef_to_tod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> + TryOffset<T, Ut1> { ... } fn pef_to_itrf( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn itrf_to_pef( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn tod_to_teme(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn teme_to_tod(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn icrf_to_cirf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn cirf_to_icrf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tdb> { ... } fn cirf_to_tirf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Ut1> { ... } fn tirf_to_cirf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Ut1> { ... } fn tirf_to_itrf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... } fn itrf_to_tirf(&self, time: Time<T>) -> Result<Rotation, RotationError> where T: TimeScale + Copy, Self: TryOffset<T, Tt> { ... }
}
Expand description

Provides Earth orientation data and frame rotation methods for a given time scale.

Required Associated Types§

Source

type EopError: Error + Send + Sync + 'static

The error type for EOP lookups.

Required Methods§

Source

fn corrections( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Corrections, Self::EopError>

Returns nutation/precession corrections for the given reference system.

Source

fn pole_coords(&self, time: Time<T>) -> Result<PoleCoords, Self::EopError>

Returns polar motion coordinates at the given time.

Provided Methods§

Source

fn icrf_to_iau<R>( &self, time: Time<T>, frame: Iau<R>, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, R: TryRotationalElements, Self: TryOffset<T, Tdb>,

Rotation from ICRF to an IAU body-fixed frame.

Source

fn iau_to_icrf<R>( &self, time: Time<T>, frame: Iau<R>, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, R: TryRotationalElements, Self: TryOffset<T, Tdb>,

Rotation from an IAU body-fixed frame to ICRF.

Source

fn icrf_to_itrf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb> + TryOffset<T, Tt> + TryOffset<T, Ut1>,

Rotation from ICRF to ITRF (via CIO-based path).

Source

fn itrf_to_icrf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb> + TryOffset<T, Tt> + TryOffset<T, Ut1>,

Rotation from ITRF to ICRF.

Source

fn icrf_to_j2000(&self) -> Rotation

Rotation from ICRF to J2000 (frame bias).

Source

fn j2000_to_icrf(&self) -> Rotation

Rotation from J2000 to ICRF (inverse frame bias).

Source

fn j2000_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from J2000 to Mean of Date.

Source

fn mod_to_j2000( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from Mean of Date to J2000.

Source

fn icrf_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from ICRF to Mean of Date (bias + precession).

Source

fn mod_to_icrf( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from Mean of Date to ICRF.

Source

fn mod_to_tod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from Mean of Date to True of Date (nutation).

Source

fn tod_to_mod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from True of Date to Mean of Date.

Source

fn tod_to_pef( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt> + TryOffset<T, Ut1>,

Rotation from True of Date to Pseudo-Earth Fixed (Earth rotation).

Source

fn pef_to_tod( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt> + TryOffset<T, Ut1>,

Rotation from Pseudo-Earth Fixed to True of Date.

Source

fn pef_to_itrf( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from Pseudo-Earth Fixed to ITRF (polar motion).

Source

fn itrf_to_pef( &self, time: Time<T>, sys: ReferenceSystem, ) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from ITRF to Pseudo-Earth Fixed.

Source

fn tod_to_teme(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from True of Date to TEME.

Source

fn teme_to_tod(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from TEME to True of Date.

Source

fn icrf_to_cirf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from ICRF to CIRF (CIP + CIO).

Source

fn cirf_to_icrf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tdb>,

Rotation from CIRF to ICRF.

Source

fn cirf_to_tirf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Ut1>,

Rotation from CIRF to TIRF (Earth rotation angle).

Source

fn tirf_to_cirf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Ut1>,

Rotation from TIRF to CIRF.

Source

fn tirf_to_itrf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from TIRF to ITRF (polar motion).

Source

fn itrf_to_tirf(&self, time: Time<T>) -> Result<Rotation, RotationError>
where T: TimeScale + Copy, Self: TryOffset<T, Tt>,

Rotation from ITRF to TIRF.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§