RotInner

Trait RotInner 

Source
pub trait RotInner<const N: usize, S: Field>: Sized + Copy {
    type Bivector;
    type Axis: Mul<S, Output = Self::Bivector>;

    const IDENT: Self;
Show 16 methods // Required methods fn angle_axis(angle: S, axis: Self::Axis) -> Self; fn from_to(from: Nrml<N, S>, to: Nrml<N, S>) -> Self; fn from_torq(axis: Self::Bivector) -> Self; unsafe fn from_w_bi_unchecked(w: S, bi: Self::Bivector) -> Self; fn angle(self) -> S; fn axis(self) -> Option<Self::Axis>; fn axis_or_zero(self) -> Self::Bivector; fn w(self) -> S; fn bi(self) -> Self::Bivector; fn to_torq(self) -> Self::Bivector; fn part(self, t: S) -> Self; fn inv(self) -> Self; fn aft(self, other: Self) -> Self; fn apl(self, vect: Vect<N, S>) -> Vect<N, S>; fn normalize_bivector(vector: Self::Bivector) -> Option<Self::Axis>; fn mat(self) -> Mat<N, N, S>;
}

Required Associated Constants§

Source

const IDENT: Self

Required Associated Types§

Source

type Bivector

Source

type Axis: Mul<S, Output = Self::Bivector>

Required Methods§

Source

fn angle_axis(angle: S, axis: Self::Axis) -> Self

Source

fn from_to(from: Nrml<N, S>, to: Nrml<N, S>) -> Self

Source

fn from_torq(axis: Self::Bivector) -> Self

This is like angle_axis, except that the angle is the magnitude of the input.

Source

unsafe fn from_w_bi_unchecked(w: S, bi: Self::Bivector) -> Self

.

§Safety

Safe when w*w + bi.dot(bi) = 1. That is, the created rotor is properly unitized.

.

Source

fn angle(self) -> S

Source

fn axis(self) -> Option<Self::Axis>

Source

fn axis_or_zero(self) -> Self::Bivector

Source

fn w(self) -> S

Source

fn bi(self) -> Self::Bivector

Source

fn to_torq(self) -> Self::Bivector

Source

fn part(self, t: S) -> Self

Source

fn inv(self) -> Self

Source

fn aft(self, other: Self) -> Self

Source

fn apl(self, vect: Vect<N, S>) -> Vect<N, S>

Source

fn normalize_bivector(vector: Self::Bivector) -> Option<Self::Axis>

Source

fn mat(self) -> Mat<N, N, S>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§