pub enum Frame {
Icrf,
J2000,
Cirf,
Tirf,
Itrf,
Iau(Origin),
Mod(ReferenceSystem),
Tod(ReferenceSystem),
Pef(ReferenceSystem),
Teme,
}Expand description
A reference frame determined at runtime.
Covers the same set of frames as the zero-sized frame types, as a single
closed enum. Because the frame is not known statically, frame properties
are reached through the fallible checks (TryQuasiInertial,
TryBodyFixed) rather than the marker traits.
Variants§
Icrf
International Celestial Reference Frame.
J2000
J2000 Mean Equator and Equinox.
Cirf
Celestial Intermediate Reference Frame.
Tirf
Terrestrial Intermediate Reference Frame.
Itrf
International Terrestrial Reference Frame.
Iau(Origin)
IAU body-fixed frame for the given origin.
Mod(ReferenceSystem)
Mean of Date frame for the given IERS convention.
Tod(ReferenceSystem)
True of Date frame for the given IERS convention.
Pef(ReferenceSystem)
Pseudo-Earth Fixed frame for the given IERS convention.
Teme
True Equator Mean Equinox.
Trait Implementations§
impl Copy for Frame
impl Eq for Frame
Source§impl<T: IersSystem + Into<ReferenceSystem>> From<Mod<T>> for Frame
impl<T: IersSystem + Into<ReferenceSystem>> From<Mod<T>> for Frame
Source§impl<T: IersSystem + Into<ReferenceSystem>> From<Pef<T>> for Frame
impl<T: IersSystem + Into<ReferenceSystem>> From<Pef<T>> for Frame
Source§impl<T: IersSystem + Into<ReferenceSystem>> From<Tod<T>> for Frame
impl<T: IersSystem + Into<ReferenceSystem>> From<Tod<T>> for Frame
Source§impl ReferenceFrame for Frame
impl ReferenceFrame for Frame
Source§impl<T, P> RotateToIcrf<T, P> for Framewhere
T: ContinuousTimeScale + Copy,
P: RotationProvider<T> + TryOffset<T, Tt> + TryOffset<T, Tdb> + TryOffset<T, Ut1>,
impl<T, P> RotateToIcrf<T, P> for Framewhere
T: ContinuousTimeScale + Copy,
P: RotationProvider<T> + TryOffset<T, Tt> + TryOffset<T, Tdb> + TryOffset<T, Ut1>,
impl StructuralPartialEq for Frame
Source§impl TryBodyFixed for Frame
impl TryBodyFixed for Frame
Source§fn try_body_fixed(&self) -> Result<(), NonBodyFixedFrameError>
fn try_body_fixed(&self) -> Result<(), NonBodyFixedFrameError>
Returns
Ok(()) if the frame is body-fixed.Source§fn try_origin(&self) -> Result<Self::Origin, NonBodyFixedFrameError>
fn try_origin(&self) -> Result<Self::Origin, NonBodyFixedFrameError>
Returns the coordinate origin (central body) of the body-fixed frame.
Source§impl TryQuasiInertial for Frame
impl TryQuasiInertial for Frame
Source§fn try_quasi_inertial(&self) -> Result<(), NonQuasiInertialFrameError>
fn try_quasi_inertial(&self) -> Result<(), NonQuasiInertialFrameError>
Returns
Ok(()) if the frame is quasi-inertial.Source§impl TryReferenceEllipsoid for Frame
impl TryReferenceEllipsoid for Frame
Source§fn try_reference_ellipsoid(
&self,
) -> Result<Ellipsoid, UndefinedReferenceEllipsoidError>
fn try_reference_ellipsoid( &self, ) -> Result<Ellipsoid, UndefinedReferenceEllipsoidError>
Returns the reference ellipsoid conventionally paired with this frame,
or an error if the frame is not body-fixed or its origin is not a spheroid.
Auto Trait Implementations§
impl Freeze for Frame
impl RefUnwindSafe for Frame
impl Send for Frame
impl Sync for Frame
impl Unpin for Frame
impl UnsafeUnpin for Frame
impl UnwindSafe for Frame
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, O, Tg, P> TryRotation<O, Tg, T> for Pwhere
T: ContinuousTimeScale + Copy,
O: ReferenceFrame + RotateToIcrf<T, P, Error = RotationError>,
Tg: ReferenceFrame + RotateToIcrf<T, P, Error = RotationError>,
impl<T, O, Tg, P> TryRotation<O, Tg, T> for Pwhere
T: ContinuousTimeScale + Copy,
O: ReferenceFrame + RotateToIcrf<T, P, Error = RotationError>,
Tg: ReferenceFrame + RotateToIcrf<T, P, Error = RotationError>,
Source§type Error = RotationError
type Error = RotationError
The error type returned when the rotation cannot be computed.
Source§fn try_rotation(
&self,
origin: O,
target: Tg,
time: Time<T>,
) -> Result<Rotation, <P as TryRotation<O, Tg, T>>::Error>
fn try_rotation( &self, origin: O, target: Tg, time: Time<T>, ) -> Result<Rotation, <P as TryRotation<O, Tg, T>>::Error>
Computes the rotation from
origin to target at the given time.