Struct vecmat::transform::Linear [−][src]
#[repr(transparent)]pub struct Linear<T, const N: usize> { /* fields omitted */ }
Expand description
Linear transformation.
Implementations
impl<T, const N: usize> Linear<T, N>
[src]
impl<T, const N: usize> Linear<T, N>
[src]pub fn from_matrix(lin: Matrix<T, N, N>) -> Self
[src]
pub fn into_matrix(self) -> Matrix<T, N, N>
[src]
impl<T, const N: usize> Linear<T, N> where
T: Neg<Output = T> + Num + Copy,
Matrix<T, N, N>: Inv<Output = Matrix<T, N, N>>,
[src]
impl<T, const N: usize> Linear<T, N> where
T: Neg<Output = T> + Num + Copy,
Matrix<T, N, N>: Inv<Output = Matrix<T, N, N>>,
[src]pub fn normal_transform(self) -> Self
[src]
impl<T> Linear<T, 3> where
T: Float + NumCast,
[src]
impl<T> Linear<T, 3> where
T: Float + NumCast,
[src]pub fn look_at_any(dir: Vector<T, 3>) -> Self
[src]
pub fn look_at_any(dir: Vector<T, 3>) -> Self
[src]Returns any of transformations that rotate dir
to -z
-axis.
Trait Implementations
impl<T, const N: usize> AbsDiffEq<Linear<T, N>> for Linear<T, N> where
T: AbsDiffEq<Epsilon = T> + Copy,
[src]
impl<T, const N: usize> AbsDiffEq<Linear<T, N>> for Linear<T, N> where
T: AbsDiffEq<Epsilon = T> + Copy,
[src]type Epsilon = T
type Epsilon = T
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn default_epsilon() -> Self::Epsilon
[src]The default tolerance to use when testing values that are close together. Read more
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]The inverse of AbsDiffEq::abs_diff_eq
.
impl<T, const N: usize> Directional<Vector<T, N>> for Linear<T, N> where
Self: Transform<Vector<T, N>>,
T: Neg<Output = T> + Num + Copy,
Vector<T, N>: Normalize,
Matrix<T, N, N>: Inv<Output = Matrix<T, N, N>>,
[src]
impl<T, const N: usize> Directional<Vector<T, N>> for Linear<T, N> where
Self: Transform<Vector<T, N>>,
T: Neg<Output = T> + Num + Copy,
Vector<T, N>: Normalize,
Matrix<T, N, N>: Inv<Output = Matrix<T, N, N>>,
[src]impl<T, const N: usize> Distribution<Linear<T, N>> for Normal where
Normal: Distribution<Matrix<T, N, N>>,
[src]
impl<T, const N: usize> Distribution<Linear<T, N>> for Normal where
Normal: Distribution<Matrix<T, N, N>>,
[src]fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Linear<T, N>
[src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Linear<T, N>
[src]Generate a random value of T
, using rng
as the source of randomness.
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
[src]
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
[src]Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
impl<T, const N: usize> Distribution<Linear<T, N>> for Invertible where
Invertible: Distribution<Matrix<T, N, N>>,
[src]
impl<T, const N: usize> Distribution<Linear<T, N>> for Invertible where
Invertible: Distribution<Matrix<T, N, N>>,
[src]fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Linear<T, N>
[src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Linear<T, N>
[src]Generate a random value of T
, using rng
as the source of randomness.
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
[src]
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
[src]Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
impl<T, const N: usize> Reorder<Linear<T, N>, Vector<T, N>> for Shift<T, N> where
Linear<T, N>: Transform<Vector<T, N>> + Copy,
Self: Transform<Vector<T, N>>,
[src]
impl<T, const N: usize> Reorder<Linear<T, N>, Vector<T, N>> for Shift<T, N> where
Linear<T, N>: Transform<Vector<T, N>> + Copy,
Self: Transform<Vector<T, N>>,
[src]impl<T, const N: usize> Reorder<Shift<T, N>, Vector<T, N>> for Linear<T, N> where
Self: Transform<Vector<T, N>>,
Shift<T, N>: Transform<Vector<T, N>>,
[src]
impl<T, const N: usize> Reorder<Shift<T, N>, Vector<T, N>> for Linear<T, N> where
Self: Transform<Vector<T, N>>,
Shift<T, N>: Transform<Vector<T, N>>,
[src]impl<T, const N: usize> Transform<Vector<T, N>> for Linear<T, N> where
T: Neg<Output = T> + Num + Copy,
[src]
impl<T, const N: usize> Transform<Vector<T, N>> for Linear<T, N> where
T: Neg<Output = T> + Num + Copy,
[src]impl<T: Copy, const N: usize> Copy for Linear<T, N>
[src]
impl<T, const N: usize> StructuralPartialEq for Linear<T, N>
[src]
Auto Trait Implementations
impl<T, const N: usize> RefUnwindSafe for Linear<T, N> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, const N: usize> Send for Linear<T, N> where
T: Send,
T: Send,
impl<T, const N: usize> Sync for Linear<T, N> where
T: Sync,
T: Sync,
impl<T, const N: usize> Unpin for Linear<T, N> where
T: Unpin,
T: Unpin,
impl<T, const N: usize> UnwindSafe for Linear<T, N> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,