pub struct AngleDegree(pub f32);Expand description
Angle in degrees.
See AngleUnits for more details.
§Equality
Equality is determined using about_eq with 0.001 granularity.
Tuple Fields§
§0: f32Implementations§
Source§impl AngleDegree
impl AngleDegree
Sourcepub fn modulo(self) -> AngleDegree
pub fn modulo(self) -> AngleDegree
Degrees in [0.0 ..= 360.0].
Sourcepub fn lerp(self, to: AngleDegree, factor: Factor) -> AngleDegree
pub fn lerp(self, to: AngleDegree, factor: Factor) -> AngleDegree
Linear interpolation.
Sourcepub fn slerp(self, to: AngleDegree, factor: Factor) -> AngleDegree
pub fn slerp(self, to: AngleDegree, factor: Factor) -> AngleDegree
Spherical linear interpolation.
Always uses the shortest path from self to to.
The lerp linear interpolation always covers the numeric range between angles, so a transition from 358º to 1º
iterates over almost a full counterclockwise turn to reach the final value, slerp simply goes from 358º to 361º modulo
normalized.
Trait Implementations§
Source§impl Add for AngleDegree
impl Add for AngleDegree
Source§type Output = AngleDegree
type Output = AngleDegree
The resulting type after applying the
+ operator.Source§fn add(self, rhs: AngleDegree) -> <AngleDegree as Add>::Output
fn add(self, rhs: AngleDegree) -> <AngleDegree as Add>::Output
Performs the
+ operation. Read moreSource§impl AddAssign for AngleDegree
impl AddAssign for AngleDegree
Source§fn add_assign(&mut self, rhs: AngleDegree)
fn add_assign(&mut self, rhs: AngleDegree)
Performs the
+= operation. Read moreSource§impl Clone for AngleDegree
impl Clone for AngleDegree
Source§fn clone(&self) -> AngleDegree
fn clone(&self) -> AngleDegree
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AngleDegree
impl Debug for AngleDegree
Source§impl<'de> Deserialize<'de> for AngleDegree
impl<'de> Deserialize<'de> for AngleDegree
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AngleDegree, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AngleDegree, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for AngleDegree
impl Display for AngleDegree
Source§impl From<AngleDegree> for AngleGradian
impl From<AngleDegree> for AngleGradian
Source§fn from(deg: AngleDegree) -> AngleGradian
fn from(deg: AngleDegree) -> AngleGradian
Converts to this type from the input type.
Source§impl From<AngleDegree> for AngleRadian
impl From<AngleDegree> for AngleRadian
Source§fn from(deg: AngleDegree) -> AngleRadian
fn from(deg: AngleDegree) -> AngleRadian
Converts to this type from the input type.
Source§impl From<AngleDegree> for AngleTurn
impl From<AngleDegree> for AngleTurn
Source§fn from(deg: AngleDegree) -> AngleTurn
fn from(deg: AngleDegree) -> AngleTurn
Converts to this type from the input type.
Source§impl From<AngleGradian> for AngleDegree
impl From<AngleGradian> for AngleDegree
Source§fn from(grad: AngleGradian) -> AngleDegree
fn from(grad: AngleGradian) -> AngleDegree
Converts to this type from the input type.
Source§impl From<AngleRadian> for AngleDegree
impl From<AngleRadian> for AngleDegree
Source§fn from(rad: AngleRadian) -> AngleDegree
fn from(rad: AngleRadian) -> AngleDegree
Converts to this type from the input type.
Source§impl From<AngleTurn> for AngleDegree
impl From<AngleTurn> for AngleDegree
Source§fn from(turn: AngleTurn) -> AngleDegree
fn from(turn: AngleTurn) -> AngleDegree
Converts to this type from the input type.
Source§impl FromStr for AngleDegree
Parses "##", "##º" and "##.deg()" where ## is a f32.
impl FromStr for AngleDegree
Parses "##", "##º" and "##.deg()" where ## is a f32.
Source§type Err = ParseFloatError
type Err = ParseFloatError
The associated error which can be returned from parsing.
Source§fn from_str(s: &str) -> Result<AngleDegree, <AngleDegree as FromStr>::Err>
fn from_str(s: &str) -> Result<AngleDegree, <AngleDegree as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl Hash for AngleDegree
impl Hash for AngleDegree
Source§impl IntoVar<AngleDegree> for AngleGradian
impl IntoVar<AngleDegree> for AngleGradian
fn into_var(self) -> Var<AngleDegree>
Source§impl IntoVar<AngleDegree> for AngleRadian
impl IntoVar<AngleDegree> for AngleRadian
fn into_var(self) -> Var<AngleDegree>
Source§impl IntoVar<AngleDegree> for AngleTurn
impl IntoVar<AngleDegree> for AngleTurn
fn into_var(self) -> Var<AngleDegree>
Source§impl IntoVar<AngleGradian> for AngleDegree
impl IntoVar<AngleGradian> for AngleDegree
fn into_var(self) -> Var<AngleGradian>
Source§impl IntoVar<AngleRadian> for AngleDegree
impl IntoVar<AngleRadian> for AngleDegree
fn into_var(self) -> Var<AngleRadian>
Source§impl Neg for AngleDegree
impl Neg for AngleDegree
Source§impl Ord for AngleDegree
impl Ord for AngleDegree
Source§fn cmp(&self, other: &AngleDegree) -> Ordering
fn cmp(&self, other: &AngleDegree) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for AngleDegree
impl PartialEq for AngleDegree
Source§impl PartialOrd for AngleDegree
impl PartialOrd for AngleDegree
Source§impl Serialize for AngleDegree
impl Serialize for AngleDegree
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl Sub for AngleDegree
impl Sub for AngleDegree
Source§type Output = AngleDegree
type Output = AngleDegree
The resulting type after applying the
- operator.Source§fn sub(self, rhs: AngleDegree) -> <AngleDegree as Sub>::Output
fn sub(self, rhs: AngleDegree) -> <AngleDegree as Sub>::Output
Performs the
- operation. Read moreSource§impl SubAssign for AngleDegree
impl SubAssign for AngleDegree
Source§fn sub_assign(&mut self, rhs: AngleDegree)
fn sub_assign(&mut self, rhs: AngleDegree)
Performs the
-= operation. Read moreSource§impl Transitionable for AngleDegree
impl Transitionable for AngleDegree
Source§fn lerp(self, to: &AngleDegree, step: Factor) -> AngleDegree
fn lerp(self, to: &AngleDegree, step: Factor) -> AngleDegree
Sample the linear interpolation from
self -> to by step.impl Copy for AngleDegree
impl Eq for AngleDegree
impl IntoValue<AngleDegree> for AngleGradian
impl IntoValue<AngleDegree> for AngleRadian
impl IntoValue<AngleDegree> for AngleTurn
impl IntoValue<AngleGradian> for AngleDegree
impl IntoValue<AngleRadian> for AngleDegree
impl IntoValue<AngleTurn> for AngleDegree
Auto Trait Implementations§
impl Freeze for AngleDegree
impl RefUnwindSafe for AngleDegree
impl Send for AngleDegree
impl Sync for AngleDegree
impl Unpin for AngleDegree
impl UnwindSafe for AngleDegree
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Clone the value.
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
Gets if
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
Swap value with
other if both are of the same type.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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more