Trait rin::math::AbstractRotation[][src]

pub trait AbstractRotation<N, D>: PartialEq<Self> + ClosedMul<Self> + Clone where
    N: Scalar,
    D: DimName
{ pub fn identity() -> Self;
pub fn inverse(&self) -> Self;
pub fn inverse_mut(&mut self);
pub fn transform_vector(
        &self,
        v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
    ) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
    where
        DefaultAllocator: Allocator<N, D, U1>
;
pub fn transform_point(&self, p: &Point<N, D>) -> Point<N, D>
    where
        DefaultAllocator: Allocator<N, D, U1>
;
pub fn inverse_transform_vector(
        &self,
        v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
    ) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
    where
        DefaultAllocator: Allocator<N, D, U1>
;
pub fn inverse_transform_point(&self, p: &Point<N, D>) -> Point<N, D>
    where
        DefaultAllocator: Allocator<N, D, U1>
; pub fn inverse_transform_unit_vector(
        &self,
        v: &Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>
    ) -> Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>
    where
        DefaultAllocator: Allocator<N, D, U1>
, { ... } }

Trait implemented by rotations that can be used inside of an Isometry or Similarity.

Required methods

pub fn identity() -> Self[src]

The rotation identity.

pub fn inverse(&self) -> Self[src]

The rotation inverse.

pub fn inverse_mut(&mut self)[src]

Change self to its inverse.

pub fn transform_vector(
    &self,
    v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer> where
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

Apply the rotation to the given vector.

pub fn transform_point(&self, p: &Point<N, D>) -> Point<N, D> where
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

Apply the rotation to the given point.

pub fn inverse_transform_vector(
    &self,
    v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer> where
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

Apply the inverse rotation to the given vector.

pub fn inverse_transform_point(&self, p: &Point<N, D>) -> Point<N, D> where
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

Apply the inverse rotation to the given point.

Loading content...

Provided methods

pub fn inverse_transform_unit_vector(
    &self,
    v: &Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>
) -> Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> where
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

Apply the inverse rotation to the given unit vector.

Loading content...

Implementors

impl<N> AbstractRotation<N, U2> for Unit<Complex<N>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

impl<N> AbstractRotation<N, U3> for Unit<Quaternion<N>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

impl<N, D> AbstractRotation<N, D> for Rotation<N, D> where
    N: SimdRealField,
    D: DimName,
    <N as SimdValue>::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

Loading content...