Struct zng_layout::unit::AngleGradian
source · pub struct AngleGradian(pub f32);
Expand description
Angle in gradians.
See AngleUnits
for more details.
§Equality
Equality is determined using about_eq
with 0.001
epsilon.
Tuple Fields§
§0: f32
Implementations§
source§impl AngleGradian
impl AngleGradian
sourcepub fn modulo(self) -> AngleGradian
pub fn modulo(self) -> AngleGradian
Gradians in [0.0 ..= 400.0]
.
sourcepub fn lerp(self, to: AngleGradian, factor: Factor) -> AngleGradian
pub fn lerp(self, to: AngleGradian, factor: Factor) -> AngleGradian
Linear interpolation.
sourcepub fn slerp(self, to: AngleGradian, factor: Factor) -> AngleGradian
pub fn slerp(self, to: AngleGradian, factor: Factor) -> AngleGradian
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 AngleGradian
impl Add for AngleGradian
source§type Output = AngleGradian
type Output = AngleGradian
The resulting type after applying the
+
operator.source§fn add(self, rhs: AngleGradian) -> <AngleGradian as Add>::Output
fn add(self, rhs: AngleGradian) -> <AngleGradian as Add>::Output
Performs the
+
operation. Read moresource§impl AddAssign for AngleGradian
impl AddAssign for AngleGradian
source§fn add_assign(&mut self, rhs: AngleGradian)
fn add_assign(&mut self, rhs: AngleGradian)
Performs the
+=
operation. Read moresource§impl Clone for AngleGradian
impl Clone for AngleGradian
source§fn clone(&self) -> AngleGradian
fn clone(&self) -> AngleGradian
Returns a copy 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 AngleGradian
impl Debug for AngleGradian
source§impl<'de> Deserialize<'de> for AngleGradian
impl<'de> Deserialize<'de> for AngleGradian
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AngleGradian, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AngleGradian, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for AngleGradian
impl Display for AngleGradian
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<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<AngleGradian> for AngleRadian
impl From<AngleGradian> for AngleRadian
source§fn from(grad: AngleGradian) -> AngleRadian
fn from(grad: AngleGradian) -> AngleRadian
Converts to this type from the input type.
source§impl From<AngleGradian> for AngleTurn
impl From<AngleGradian> for AngleTurn
source§fn from(grad: AngleGradian) -> AngleTurn
fn from(grad: AngleGradian) -> AngleTurn
Converts to this type from the input type.
source§impl From<AngleRadian> for AngleGradian
impl From<AngleRadian> for AngleGradian
source§fn from(rad: AngleRadian) -> AngleGradian
fn from(rad: AngleRadian) -> AngleGradian
Converts to this type from the input type.
source§impl From<AngleTurn> for AngleGradian
impl From<AngleTurn> for AngleGradian
source§fn from(turn: AngleTurn) -> AngleGradian
fn from(turn: AngleTurn) -> AngleGradian
Converts to this type from the input type.
source§impl IntoVar<AngleDegree> for AngleGradian
impl IntoVar<AngleDegree> for AngleGradian
source§fn into_var(self) -> <AngleGradian as IntoVar<AngleDegree>>::Var
fn into_var(self) -> <AngleGradian as IntoVar<AngleDegree>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl IntoVar<AngleGradian> for AngleDegree
impl IntoVar<AngleGradian> for AngleDegree
source§fn into_var(self) -> <AngleDegree as IntoVar<AngleGradian>>::Var
fn into_var(self) -> <AngleDegree as IntoVar<AngleGradian>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl IntoVar<AngleGradian> for AngleRadian
impl IntoVar<AngleGradian> for AngleRadian
source§fn into_var(self) -> <AngleRadian as IntoVar<AngleGradian>>::Var
fn into_var(self) -> <AngleRadian as IntoVar<AngleGradian>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl IntoVar<AngleGradian> for AngleTurn
impl IntoVar<AngleGradian> for AngleTurn
source§fn into_var(self) -> <AngleTurn as IntoVar<AngleGradian>>::Var
fn into_var(self) -> <AngleTurn as IntoVar<AngleGradian>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl IntoVar<AngleRadian> for AngleGradian
impl IntoVar<AngleRadian> for AngleGradian
source§fn into_var(self) -> <AngleGradian as IntoVar<AngleRadian>>::Var
fn into_var(self) -> <AngleGradian as IntoVar<AngleRadian>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl IntoVar<AngleTurn> for AngleGradian
impl IntoVar<AngleTurn> for AngleGradian
source§fn into_var(self) -> <AngleGradian as IntoVar<AngleTurn>>::Var
fn into_var(self) -> <AngleGradian as IntoVar<AngleTurn>>::Var
Converts the source value into a var.
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
Converts into
BoxedVar<T>
. Read moresource§impl Neg for AngleGradian
impl Neg for AngleGradian
source§impl PartialEq for AngleGradian
impl PartialEq for AngleGradian
source§impl Serialize for AngleGradian
impl Serialize for AngleGradian
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 AngleGradian
impl Sub for AngleGradian
source§type Output = AngleGradian
type Output = AngleGradian
The resulting type after applying the
-
operator.source§fn sub(self, rhs: AngleGradian) -> <AngleGradian as Sub>::Output
fn sub(self, rhs: AngleGradian) -> <AngleGradian as Sub>::Output
Performs the
-
operation. Read moresource§impl SubAssign for AngleGradian
impl SubAssign for AngleGradian
source§fn sub_assign(&mut self, rhs: AngleGradian)
fn sub_assign(&mut self, rhs: AngleGradian)
Performs the
-=
operation. Read moresource§impl Transitionable for AngleGradian
impl Transitionable for AngleGradian
source§fn lerp(self, to: &AngleGradian, step: Factor) -> AngleGradian
fn lerp(self, to: &AngleGradian, step: Factor) -> AngleGradian
Sample the linear interpolation from
self
-> to
by step
.impl Copy for AngleGradian
impl IntoValue<AngleDegree> for AngleGradian
impl IntoValue<AngleGradian> for AngleDegree
impl IntoValue<AngleGradian> for AngleRadian
impl IntoValue<AngleGradian> for AngleTurn
impl IntoValue<AngleRadian> for AngleGradian
impl IntoValue<AngleTurn> for AngleGradian
Auto Trait Implementations§
impl Freeze for AngleGradian
impl RefUnwindSafe for AngleGradian
impl Send for AngleGradian
impl Sync for AngleGradian
impl Unpin for AngleGradian
impl UnwindSafe for AngleGradian
Blanket Implementations§
source§impl<T> AnyVarValue for Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Access to mut
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
Clone the value.
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
Clone the value into a new boxed
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
Gets if
self
equals other
.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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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