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§
Required Associated Types§
Required Methods§
fn angle_axis(angle: S, axis: Self::Axis) -> Self
fn from_to(from: Nrml<N, S>, to: Nrml<N, S>) -> Self
Sourcefn from_torq(axis: Self::Bivector) -> Self
fn from_torq(axis: Self::Bivector) -> Self
This is like angle_axis, except that the angle is the magnitude of the input.
Sourceunsafe fn from_w_bi_unchecked(w: S, bi: 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>
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.