Trait na::AbstractRotation

source ·
pub trait AbstractRotation<T, const D: usize>: PartialEq<Self> + ClosedMul<Self> + Clonewhere
    T: Scalar,{
    // Required methods
    fn identity() -> Self;
    fn inverse(&self) -> Self;
    fn inverse_mut(&mut self);
    fn transform_vector(
        &self,
        v: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
    ) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>;
    fn transform_point(&self, p: &OPoint<T, Const<D>>) -> OPoint<T, Const<D>>;
    fn inverse_transform_vector(
        &self,
        v: &Matrix<T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>, Const<1>>>::Buffer>
    ) -> Matrix<T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>, Const<1>>>::Buffer>;
    fn inverse_transform_point(
        &self,
        p: &OPoint<T, Const<D>>
    ) -> OPoint<T, Const<D>>;

    // Provided method
    fn inverse_transform_unit_vector(
        &self,
        v: &Unit<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>
    ) -> Unit<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> { ... }
}
Expand description

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

Required Methods§

source

fn identity() -> Self

The rotation identity.

source

fn inverse(&self) -> Self

The rotation inverse.

source

fn inverse_mut(&mut self)

Change self to its inverse.

source

fn transform_vector( &self, v: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>> ) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>

Apply the rotation to the given vector.

source

fn transform_point(&self, p: &OPoint<T, Const<D>>) -> OPoint<T, Const<D>>

Apply the rotation to the given point.

source

fn inverse_transform_vector( &self, v: &Matrix<T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>, Const<1>>>::Buffer> ) -> Matrix<T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>, Const<1>>>::Buffer>

Apply the inverse rotation to the given vector.

source

fn inverse_transform_point( &self, p: &OPoint<T, Const<D>> ) -> OPoint<T, Const<D>>

Apply the inverse rotation to the given point.

Provided Methods§

source

fn inverse_transform_unit_vector( &self, v: &Unit<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> ) -> Unit<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>

Apply the inverse rotation to the given unit vector.

Implementors§