pub struct Distance { /* private fields */ }Expand description
Distance representation with conversions
Implementations§
Source§impl Distance
impl Distance
Sourcepub fn kilometers(km: f64) -> Self
pub fn kilometers(km: f64) -> Self
Create distance from kilometers
Sourcepub fn light_seconds(ls: f64) -> Self
pub fn light_seconds(ls: f64) -> Self
Create distance from light-seconds
Sourcepub fn as_kilometers(&self) -> f64
pub fn as_kilometers(&self) -> f64
Get distance in kilometers
Sourcepub fn light_travel_time(&self) -> Duration
pub fn light_travel_time(&self) -> Duration
Calculate light travel time for this distance
Sourcepub fn light_travel_time_ms(&self) -> f64
pub fn light_travel_time_ms(&self) -> f64
Calculate light travel time in milliseconds
Sourcepub fn tokyo_to_nyc() -> Self
pub fn tokyo_to_nyc() -> Self
Named distances for common scenarios
pub fn earth_to_moon() -> Self
pub fn earth_to_mars_min() -> Self
pub fn earth_to_mars_max() -> Self
pub fn one_au() -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Distance
impl<'de> Deserialize<'de> for Distance
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Distance
Auto Trait Implementations§
impl Freeze for Distance
impl RefUnwindSafe for Distance
impl Send for Distance
impl Sync for Distance
impl Unpin for Distance
impl UnwindSafe for Distance
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.