#[repr(transparent)]pub struct Shift<T, const N: usize> { /* private fields */ }
Expand description
Shift transformation.
Implementations
sourceimpl<T, const N: usize> Shift<T, N>
impl<T, const N: usize> Shift<T, N>
pub fn from_vector(pos: Vector<T, N>) -> Self
pub fn into_vector(self) -> Vector<T, N>
Trait Implementations
sourceimpl<T, const N: usize> AbsDiffEq<Shift<T, N>> for Shift<T, N> where
T: AbsDiffEq<Epsilon = T> + Copy,
impl<T, const N: usize> AbsDiffEq<Shift<T, N>> for Shift<T, N> where
T: AbsDiffEq<Epsilon = T> + Copy,
type Epsilon = T
type Epsilon = T
Used for specifying relative comparisons.
sourcefn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
The default tolerance to use when testing values that are close together. Read more
sourcefn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
sourcefn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
The inverse of AbsDiffEq::abs_diff_eq
.
sourceimpl<T, const N: usize> Directional<Vector<T, N>> for Shift<T, N> where
Self: Transform<Vector<T, N>>,
impl<T, const N: usize> Directional<Vector<T, N>> for Shift<T, N> where
Self: Transform<Vector<T, N>>,
sourceimpl<T, const N: usize> Distribution<Shift<T, N>> for Normal where
Normal: Distribution<Vector<T, N>>,
impl<T, const N: usize> Distribution<Shift<T, N>> for Normal where
Normal: Distribution<Vector<T, N>>,
sourcefn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Shift<T, N>
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Shift<T, N>
Generate a random value of T
, using rng
as the source of randomness.
sourcefn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
sourceimpl<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>>,
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>>,
sourceimpl<T> Reorder<Rotation2<T>, Vector<T, 2_usize>> for Shift<T, 2> where
Rotation2<T>: Transform<Vector<T, 2>> + Copy,
Self: Transform<Vector<T, 2>>,
impl<T> Reorder<Rotation2<T>, Vector<T, 2_usize>> for Shift<T, 2> where
Rotation2<T>: Transform<Vector<T, 2>> + Copy,
Self: Transform<Vector<T, 2>>,
sourceimpl<T> Reorder<Rotation3<T>, Vector<T, 3_usize>> for Shift<T, 3> where
Rotation3<T>: Transform<Vector<T, 3>> + Copy,
Self: Transform<Vector<T, 3>>,
impl<T> Reorder<Rotation3<T>, Vector<T, 3_usize>> for Shift<T, 3> where
Rotation3<T>: Transform<Vector<T, 3>> + Copy,
Self: Transform<Vector<T, 3>>,
sourceimpl<T, const N: usize> Reorder<Scale<T>, Vector<T, N>> for Shift<T, N> where
Scale<T>: Transform<Vector<T, N>> + Copy,
Self: Transform<Vector<T, N>>,
impl<T, const N: usize> Reorder<Scale<T>, Vector<T, N>> for Shift<T, N> where
Scale<T>: Transform<Vector<T, N>> + Copy,
Self: Transform<Vector<T, N>>,
sourceimpl<T> Reorder<Shift<T, 2_usize>, Vector<T, 2_usize>> for Rotation2<T> where
Self: Transform<Vector<T, 2>>,
Shift<T, 2>: Transform<Vector<T, 2>>,
impl<T> Reorder<Shift<T, 2_usize>, Vector<T, 2_usize>> for Rotation2<T> where
Self: Transform<Vector<T, 2>>,
Shift<T, 2>: Transform<Vector<T, 2>>,
sourceimpl<T> Reorder<Shift<T, 3_usize>, Vector<T, 3_usize>> for Rotation3<T> where
Self: Transform<Vector<T, 3>>,
Shift<T, 3>: Transform<Vector<T, 3>>,
impl<T> Reorder<Shift<T, 3_usize>, Vector<T, 3_usize>> for Rotation3<T> where
Self: Transform<Vector<T, 3>>,
Shift<T, 3>: Transform<Vector<T, 3>>,
sourceimpl<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>>,
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>>,
sourceimpl<T, const N: usize> Reorder<Shift<T, N>, Vector<T, N>> for Scale<T> where
Self: Transform<Vector<T, N>>,
Shift<T, N>: Transform<Vector<T, N>>,
impl<T, const N: usize> Reorder<Shift<T, N>, Vector<T, N>> for Scale<T> where
Self: Transform<Vector<T, N>>,
Shift<T, N>: Transform<Vector<T, N>>,
sourceimpl<T, const N: usize> Transform<Vector<T, N>> for Shift<T, N> where
T: Neg<Output = T> + Num + Copy,
impl<T, const N: usize> Transform<Vector<T, N>> for Shift<T, N> where
T: Neg<Output = T> + Num + Copy,
impl<T: Copy, const N: usize> Copy for Shift<T, N>
impl<T, const N: usize> StructuralPartialEq for Shift<T, N>
Auto Trait Implementations
impl<T, const N: usize> RefUnwindSafe for Shift<T, N> where
T: RefUnwindSafe,
impl<T, const N: usize> Send for Shift<T, N> where
T: Send,
impl<T, const N: usize> Sync for Shift<T, N> where
T: Sync,
impl<T, const N: usize> Unpin for Shift<T, N> where
T: Unpin,
impl<T, const N: usize> UnwindSafe for Shift<T, N> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more