[−][src]Struct polyhorn_ios::linalg::inter::Decomposition3D
This represents the decomposition of a 3D transformation matrix into three-component translation, scale and skew vectors, a four-component perspective vector and a rotation quaternion.
Fields
translation: [T; 3]
This is the three-component translation vector of this decomposition.
scale: [T; 3]
This is the three-component scale vector of this decomposition.
skew: [T; 3]
This is the three-component skew vector of this decomposition.
perspective: [T; 4]
This is the four-component perspective vector of this decomposition.
quaternion: Quaternion3D<T>
This is the rotation quaternion of this decomposition.
Implementations
impl<T> Decomposition3D<T>
[src]
pub fn new(
translation: [T; 3],
scale: [T; 3],
skew: [T; 3],
perspective: [T; 4],
quaternion: Quaternion3D<T>
) -> Decomposition3D<T>
[src]
translation: [T; 3],
scale: [T; 3],
skew: [T; 3],
perspective: [T; 4],
quaternion: Quaternion3D<T>
) -> Decomposition3D<T>
Returns a new transformation matrix decomposition with the given translation, scale, skew, perspective and rotation quaternion.
pub fn map<F, O>(self, op: F) -> Decomposition3D<O> where
F: FnMut(T) -> O,
[src]
F: FnMut(T) -> O,
Applies the given operation to each element in this decomposition and returns the result. The operation may return a value of different type than the decomposition's previous value type.
pub fn as_ref(&self) -> Decomposition3D<&T>
[src]
Returns a new decomposition with references to all elements of the
previous composition. This is particularly useful if T
does not
implement Copy
.
impl<T> Decomposition3D<T> where
T: Default + Float,
[src]
T: Default + Float,
pub fn decompose(matrix: Transform3D<T>) -> Option<Decomposition3D<T>>
[src]
Decomposes a 3D transformation matrix into its three-component translation, scale and skew vectors, its four-component perspective vector and its rotation quaternion.
pub fn interpolate(
&self,
other: &Decomposition3D<T>,
progress: T
) -> Decomposition3D<T>
[src]
&self,
other: &Decomposition3D<T>,
progress: T
) -> Decomposition3D<T>
This function interpolates between this decomposition and the other given decomposition with the given progress value. If the progress value is zero, it will return this decomposition. If the progress value is one, it will return the other decomposition.
pub fn recompose(&self) -> Transform3D<T>
[src]
Reconstructs the 3D transformation matrix from this decomposition.
Trait Implementations
impl<T> Clone for Decomposition3D<T> where
T: Clone,
[src]
T: Clone,
fn clone(&self) -> Decomposition3D<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T> Copy for Decomposition3D<T> where
T: Copy,
[src]
T: Copy,
impl<T> Debug for Decomposition3D<T> where
T: Debug,
[src]
T: Debug,
impl<T> Default for Decomposition3D<T> where
T: Default,
[src]
T: Default,
fn default() -> Decomposition3D<T>
[src]
impl<T> PartialEq<Decomposition3D<T>> for Decomposition3D<T> where
T: PartialEq<T>,
[src]
T: PartialEq<T>,
fn eq(&self, other: &Decomposition3D<T>) -> bool
[src]
fn ne(&self, other: &Decomposition3D<T>) -> bool
[src]
impl<T> StructuralPartialEq for Decomposition3D<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for Decomposition3D<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Decomposition3D<T> where
T: Send,
T: Send,
impl<T> Sync for Decomposition3D<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Decomposition3D<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Decomposition3D<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
[src]
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsAny for T where
T: Any,
[src]
T: Any,
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
fn type_name(&self) -> &'static str
[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, U> ConvertInto<U> for T where
U: ConvertFrom<T>,
[src]
U: ConvertFrom<T>,
fn convert_into(self) -> U
[src]
fn convert_unclamped_into(self) -> U
[src]
fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsDefault for T where
T: PartialEq<T> + Default + Copy,
[src]
T: PartialEq<T> + Default + Copy,
fn is_default(&self) -> bool
[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> 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>,