pub trait AbstractRotation<T: Scalar, const D: usize>: PartialEq + ClosedMul + Clone {
    // Required methods
    fn identity() -> Self;
    fn inverse(&self) -> Self;
    fn inverse_mut(&mut self);
    fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>;
    fn transform_point(&self, p: &Point<T, D>) -> Point<T, D>;
    fn inverse_transform_vector(
        &self,
        v: &OVector<T, Const<D>>
    ) -> OVector<T, Const<D>>;
    fn inverse_transform_point(&self, p: &Point<T, D>) -> Point<T, D>;

    // Provided method
    fn inverse_transform_unit_vector(
        &self,
        v: &Unit<SVector<T, D>>
    ) -> Unit<SVector<T, D>> { ... }
}
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: &SVector<T, D>) -> SVector<T, D>

Apply the rotation to the given vector.

source

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

Apply the rotation to the given point.

source

fn inverse_transform_vector( &self, v: &OVector<T, Const<D>> ) -> OVector<T, Const<D>>

Apply the inverse rotation to the given vector.

source

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

Apply the inverse rotation to the given point.

Provided Methods§

source

fn inverse_transform_unit_vector( &self, v: &Unit<SVector<T, D>> ) -> Unit<SVector<T, D>>

Apply the inverse rotation to the given unit vector.

Object Safety§

This trait is not object safe.

Implementors§