[−][src]Struct nannou::color::LabHue
A hue type for the CIE Lab* family of color spaces.
It's measured in degrees and it's based on the four physiological elementary colors red, yellow, green and blue. This makes it different from the hue of RGB based color spaces.
The hue is a circular type, where 0
and 360
is the same, and
it's normalized to (-180, 180]
when it's converted to a linear
number (like f32
). This makes many calculations easier, but may
also have some surprising effects if it's expected to act as a
linear number.
Methods
impl<T> LabHue<T> where
T: Float,
[src]
T: Float,
pub fn from_radians(radians: T) -> LabHue<T>
[src]
Create a new hue from radians, instead of degrees.
pub fn to_degrees(self) -> T
[src]
Get the hue as degrees, in the range (-180, 180]
.
pub fn to_radians(self) -> T
[src]
Convert the hue to radians, in the range (-π, π]
.
pub fn to_positive_degrees(self) -> T
[src]
Convert the hue to positive degrees, in the range [0, 360)
.
pub fn to_positive_radians(self) -> T
[src]
Convert the hue to positive radians, in the range [0, 2π)
.
Trait Implementations
impl<T> ApproxEq for LabHue<T> where
T: ApproxEq + Float,
<T as ApproxEq>::Epsilon: Float,
[src]
T: ApproxEq + Float,
<T as ApproxEq>::Epsilon: Float,
type Epsilon = <T as ApproxEq>::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> <LabHue<T> as ApproxEq>::Epsilon
[src]
fn default_max_relative() -> <LabHue<T> as ApproxEq>::Epsilon
[src]
fn default_max_ulps() -> u32
[src]
fn relative_eq(
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_relative: <LabHue<T> as ApproxEq>::Epsilon
) -> bool
[src]
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_relative: <LabHue<T> as ApproxEq>::Epsilon
) -> bool
fn ulps_eq(
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
fn relative_ne(
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_relative: <LabHue<T> as ApproxEq>::Epsilon
) -> bool
[src]
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_relative: <LabHue<T> as ApproxEq>::Epsilon
) -> bool
fn ulps_ne(
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &LabHue<T>,
epsilon: <LabHue<T> as ApproxEq>::Epsilon,
max_ulps: u32
) -> bool
impl<T> From<T> for LabHue<T> where
T: Float,
[src]
T: Float,
impl<T> Default for LabHue<T> where
T: Default + Float,
[src]
T: Default + Float,
impl<T> Debug for LabHue<T> where
T: Debug + Float,
[src]
T: Debug + Float,
impl<T> Copy for LabHue<T> where
T: Copy + Float,
[src]
T: Copy + Float,
impl Into<f32> for LabHue<f32>
[src]
impl Into<f64> for LabHue<f64>
[src]
impl Into<f32> for LabHue<f64>
[src]
impl<T> PartialEq<T> for LabHue<T> where
T: Float,
[src]
T: Float,
fn eq(&self, other: &T) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl<T> PartialEq<LabHue<T>> for LabHue<T> where
T: Float,
[src]
T: Float,
fn eq(&self, other: &LabHue<T>) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl<T> Add<T> for LabHue<T> where
T: Float,
[src]
T: Float,
type Output = LabHue<T>
The resulting type after applying the +
operator.
fn add(self, other: T) -> LabHue<T>
[src]
impl<T> Add<LabHue<T>> for LabHue<T> where
T: Float,
[src]
T: Float,
type Output = LabHue<T>
The resulting type after applying the +
operator.
fn add(self, other: LabHue<T>) -> LabHue<T>
[src]
impl<T> Sub<T> for LabHue<T> where
T: Float,
[src]
T: Float,
type Output = LabHue<T>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> LabHue<T>
[src]
impl<T> Sub<LabHue<T>> for LabHue<T> where
T: Float,
[src]
T: Float,
type Output = LabHue<T>
The resulting type after applying the -
operator.
fn sub(self, other: LabHue<T>) -> LabHue<T>
[src]
impl<T> Clone for LabHue<T> where
T: Clone + Float,
[src]
T: Clone + Float,
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
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>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
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>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Style for T where
T: Any + Debug + PartialEq<T>,
[src]
T: Any + Debug + PartialEq<T>,
impl<T> Content for T
[src]
fn ref_from_ptr(ptr: *mut c_void, size: usize) -> Option<*mut T>
[src]
fn is_size_suitable(size: usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T> SafeBorrow<T> for T
[src]
impl<T> Erased for T
impl<S> FromSample<S> for S
[src]
fn from_sample_(s: S) -> S
[src]
impl<T, U> ToSample<U> for T where
U: FromSample<T>,
[src]
U: FromSample<T>,
fn to_sample_(self) -> U
[src]
impl<S, T> Duplex<S> for T where
T: FromSample<S> + ToSample<S>,
[src]
T: FromSample<S> + ToSample<S>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.