Struct nannou::math::Decomposed [−][src]
pub struct Decomposed<V, R> where
V: VectorSpace, { pub scale: <V as VectorSpace>::Scalar, pub rot: R, pub disp: V, }
A generic transformation consisting of a rotation, displacement vector and scale amount.
Fields
scale: <V as VectorSpace>::Scalar
rot: R
disp: V
Trait Implementations
impl<S, R, E> AbsDiffEq<Decomposed<S, R>> for Decomposed<S, R> where
E: BaseFloat,
S: AbsDiffEq<S, Epsilon = E> + VectorSpace,
R: AbsDiffEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: AbsDiffEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
[src]
E: BaseFloat,
S: AbsDiffEq<S, Epsilon = E> + VectorSpace,
R: AbsDiffEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: AbsDiffEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
type Epsilon = E
Used for specifying relative comparisons.
pub fn default_epsilon() -> E
[src]
pub fn abs_diff_eq(&self, other: &Decomposed<S, R>, epsilon: E) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
impl<V, R> Clone for Decomposed<V, R> where
V: Clone + VectorSpace,
R: Clone,
<V as VectorSpace>::Scalar: Clone,
[src]
V: Clone + VectorSpace,
R: Clone,
<V as VectorSpace>::Scalar: Clone,
pub fn clone(&self) -> Decomposed<V, R>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<V, R> Copy for Decomposed<V, R> where
V: Copy + VectorSpace,
R: Copy,
<V as VectorSpace>::Scalar: Copy,
[src]
V: Copy + VectorSpace,
R: Copy,
<V as VectorSpace>::Scalar: Copy,
impl<V, R> Debug for Decomposed<V, R> where
V: Debug + VectorSpace,
R: Debug,
<V as VectorSpace>::Scalar: Debug,
[src]
V: Debug + VectorSpace,
R: Debug,
<V as VectorSpace>::Scalar: Debug,
impl<'a, S, R> Deserialize<'a> for Decomposed<S, R> where
S: VectorSpace + Deserialize<'a>,
R: Deserialize<'a>,
<S as VectorSpace>::Scalar: Deserialize<'a>,
[src]
S: VectorSpace + Deserialize<'a>,
R: Deserialize<'a>,
<S as VectorSpace>::Scalar: Deserialize<'a>,
pub fn deserialize<D>(
deserializer: D
) -> Result<Decomposed<S, R>, <D as Deserializer<'a>>::Error> where
D: Deserializer<'a>,
[src]
deserializer: D
) -> Result<Decomposed<S, R>, <D as Deserializer<'a>>::Error> where
D: Deserializer<'a>,
impl<S, R> From<Decomposed<Vector2<S>, R>> for Matrix3<S> where
S: BaseFloat,
R: Rotation2<S>,
[src]
S: BaseFloat,
R: Rotation2<S>,
pub fn from(dec: Decomposed<Vector2<S>, R>) -> Matrix3<S>
[src]
impl<S, R> From<Decomposed<Vector3<S>, R>> for Matrix4<S> where
S: BaseFloat,
R: Rotation3<S>,
[src]
S: BaseFloat,
R: Rotation3<S>,
pub fn from(dec: Decomposed<Vector3<S>, R>) -> Matrix4<S>
[src]
impl<V, R> PartialEq<Decomposed<V, R>> for Decomposed<V, R> where
V: PartialEq<V> + VectorSpace,
R: PartialEq<R>,
<V as VectorSpace>::Scalar: PartialEq<<V as VectorSpace>::Scalar>,
[src]
V: PartialEq<V> + VectorSpace,
R: PartialEq<R>,
<V as VectorSpace>::Scalar: PartialEq<<V as VectorSpace>::Scalar>,
pub fn eq(&self, other: &Decomposed<V, R>) -> bool
[src]
pub fn ne(&self, other: &Decomposed<V, R>) -> bool
[src]
impl<S, R, E> RelativeEq<Decomposed<S, R>> for Decomposed<S, R> where
E: BaseFloat,
S: RelativeEq<S, Epsilon = E> + VectorSpace,
R: RelativeEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: RelativeEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
[src]
E: BaseFloat,
S: RelativeEq<S, Epsilon = E> + VectorSpace,
R: RelativeEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: RelativeEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
pub fn default_max_relative() -> E
[src]
pub fn relative_eq(
&self,
other: &Decomposed<S, R>,
epsilon: E,
max_relative: E
) -> bool
[src]
&self,
other: &Decomposed<S, R>,
epsilon: E,
max_relative: E
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<V, R> Serialize for Decomposed<V, R> where
V: Serialize + VectorSpace,
R: Serialize,
<V as VectorSpace>::Scalar: Serialize,
[src]
V: Serialize + VectorSpace,
R: Serialize,
<V as VectorSpace>::Scalar: Serialize,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl<V, R> StructuralPartialEq for Decomposed<V, R> where
V: VectorSpace,
[src]
V: VectorSpace,
impl<P, R> Transform<P> for Decomposed<<P as EuclideanSpace>::Diff, R> where
P: EuclideanSpace,
R: Rotation<P>,
<P as EuclideanSpace>::Scalar: BaseFloat,
<P as EuclideanSpace>::Diff: VectorSpace,
[src]
P: EuclideanSpace,
R: Rotation<P>,
<P as EuclideanSpace>::Scalar: BaseFloat,
<P as EuclideanSpace>::Diff: VectorSpace,
pub fn one() -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
pub fn look_at(
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
eye: P,
center: P,
up: <P as EuclideanSpace>::Diff
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
pub fn transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
[src]
&self,
vec: <P as EuclideanSpace>::Diff
) -> <P as EuclideanSpace>::Diff
pub fn inverse_transform_vector(
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
[src]
&self,
vec: <P as EuclideanSpace>::Diff
) -> Option<<P as EuclideanSpace>::Diff>
pub fn transform_point(&self, point: P) -> P
[src]
pub fn concat(
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
[src]
&self,
other: &Decomposed<<P as EuclideanSpace>::Diff, R>
) -> Decomposed<<P as EuclideanSpace>::Diff, R>
pub fn inverse_transform(
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>
[src]
&self
) -> Option<Decomposed<<P as EuclideanSpace>::Diff, R>>
pub fn concat_self(&mut self, other: &Self)
[src]
impl<S, R> Transform2<S> for Decomposed<Vector2<S>, R> where
S: BaseFloat,
R: Rotation2<S>,
[src]
S: BaseFloat,
R: Rotation2<S>,
impl<S, R> Transform3<S> for Decomposed<Vector3<S>, R> where
S: BaseFloat,
R: Rotation3<S>,
[src]
S: BaseFloat,
R: Rotation3<S>,
impl<S, R, E> UlpsEq<Decomposed<S, R>> for Decomposed<S, R> where
E: BaseFloat,
S: UlpsEq<S, Epsilon = E> + VectorSpace,
R: UlpsEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: UlpsEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
[src]
E: BaseFloat,
S: UlpsEq<S, Epsilon = E> + VectorSpace,
R: UlpsEq<R, Epsilon = E>,
<S as VectorSpace>::Scalar: UlpsEq<<S as VectorSpace>::Scalar>,
<<S as VectorSpace>::Scalar as AbsDiffEq<<S as VectorSpace>::Scalar>>::Epsilon == E,
Auto Trait Implementations
impl<V, R> RefUnwindSafe for Decomposed<V, R> where
R: RefUnwindSafe,
V: RefUnwindSafe,
<V as VectorSpace>::Scalar: RefUnwindSafe,
R: RefUnwindSafe,
V: RefUnwindSafe,
<V as VectorSpace>::Scalar: RefUnwindSafe,
impl<V, R> Send for Decomposed<V, R> where
R: Send,
V: Send,
<V as VectorSpace>::Scalar: Send,
R: Send,
V: Send,
<V as VectorSpace>::Scalar: Send,
impl<V, R> Sync for Decomposed<V, R> where
R: Sync,
V: Sync,
<V as VectorSpace>::Scalar: Sync,
R: Sync,
V: Sync,
<V as VectorSpace>::Scalar: Sync,
impl<V, R> Unpin for Decomposed<V, R> where
R: Unpin,
V: Unpin,
<V as VectorSpace>::Scalar: Unpin,
R: Unpin,
V: Unpin,
<V as VectorSpace>::Scalar: Unpin,
impl<V, R> UnwindSafe for Decomposed<V, R> where
R: UnwindSafe,
V: UnwindSafe,
<V as VectorSpace>::Scalar: UnwindSafe,
R: UnwindSafe,
V: UnwindSafe,
<V as VectorSpace>::Scalar: UnwindSafe,
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
[src]
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
pub fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
pub fn adapt_into(self) -> D
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> ConvertInto<U> for T where
U: ConvertFrom<T>,
[src]
U: ConvertFrom<T>,
pub fn convert_into(self) -> U
[src]
pub fn convert_unclamped_into(self) -> U
[src]
pub fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> Downcast<T> for T
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> SetParameter for T
pub fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> Style for T where
T: Any + Debug + PartialEq<T>,
[src]
T: Any + Debug + PartialEq<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,