Horizon

Enum Horizon 

Source
pub enum Horizon {
    SunriseSunset,
    CivilTwilight,
    NauticalTwilight,
    AstronomicalTwilight,
    Custom(f64),
}
Expand description

Predefined elevation angles for sunrise/sunset calculations.

Corresponds to different twilight definitions for consistent sunrise, sunset, and twilight calculations.

Variants§

§

SunriseSunset

Standard sunrise/sunset (sun’s upper limb touches horizon, accounting for refraction)

§

CivilTwilight

Civil twilight (sun is 6° below horizon)

§

NauticalTwilight

Nautical twilight (sun is 12° below horizon)

§

AstronomicalTwilight

Astronomical twilight (sun is 18° below horizon)

§

Custom(f64)

Custom elevation angle

Implementations§

Source§

impl Horizon

Source

pub const fn elevation_angle(&self) -> f64

Gets the elevation angle in degrees for this horizon definition.

Negative values indicate the sun is below the horizon.

Source

pub fn custom(elevation_degrees: f64) -> Result<Self>

Creates a custom horizon with the specified elevation angle.

§Errors

Returns InvalidElevationAngle if elevation is outside -90 to +90 degrees.

Trait Implementations§

Source§

impl Clone for Horizon

Source§

fn clone(&self) -> Horizon

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Horizon

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Horizon

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Horizon

Source§

fn eq(&self, other: &Horizon) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Horizon

Source§

impl Eq for Horizon

Source§

impl StructuralPartialEq for Horizon

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.