Struct nalgebra::Iso4 [] [src]

pub struct Iso4<N> {
    pub rotation: Rot4<N>,
    pub translation: Vec4<N>,
}

Four dimensional isometry.

Isometries conserve angles and distances, hence do not allow shearing nor scaling.

Fields

rotation

The rotation applicable by this isometry.

translation

The translation applicable by this isometry.

Methods

impl<N> Iso4<N>

fn new_with_rotmat(translation: Vec4<N>, rotation: Rot4<N>) -> Iso4<N>

Creates a new isometry from a rotation matrix and a vector.

Trait Implementations

impl<N> Dim for Iso4<N>

fn dim(_: Option<Iso4<N>>) -> usize

impl<N: BaseFloat> One for Iso4<N>

fn one() -> Iso4<N>

impl<N: BaseFloat> AbsoluteRotate<Vec4<N>> for Iso4<N>

fn absolute_rotate(&self, v: &Vec4<N>) -> Vec4<N>

impl<N: ApproxEq<N>> ApproxEq<N> for Iso4<N>

fn approx_epsilon(_: Option<Iso4<N>>) -> N

fn approx_ulps(_: Option<Iso4<N>>) -> u32

fn approx_eq_eps(&self, other: &Iso4<N>, epsilon: &N) -> bool

fn approx_eq_ulps(&self, other: &Iso4<N>, ulps: u32) -> bool

fn approx_eq(&self, other: &Self) -> bool

impl<N: BaseNum> ToHomogeneous<Mat5<N>> for Iso4<N>

fn to_homogeneous(&self) -> Mat5<N>

impl<N: BaseNum + Neg<Output=N>> Inv for Iso4<N>

fn inv_mut(&mut self) -> bool

fn inv(&self) -> Option<Iso4<N>>

impl<N: BaseNum> Transform<Pnt4<N>> for Iso4<N>

fn transform(&self, p: &Pnt4<N>) -> Pnt4<N>

fn inv_transform(&self, p: &Pnt4<N>) -> Pnt4<N>

impl<N: BaseFloat> Transformation<Iso4<N>> for Iso4<N>

fn transformation(&self) -> Iso4<N>

fn inv_transformation(&self) -> Iso4<N>

fn append_transformation_mut(&mut self, t: &Iso4<N>)

fn append_transformation(&self, t: &Iso4<N>) -> Iso4<N>

fn prepend_transformation_mut(&mut self, t: &Iso4<N>)

fn prepend_transformation(&self, t: &Iso4<N>) -> Iso4<N>

fn set_transformation(&mut self, t: Iso4<N>)

impl<N: BaseNum> Rotate<Vec4<N>> for Iso4<N>

fn rotate(&self, v: &Vec4<N>) -> Vec4<N>

fn inv_rotate(&self, v: &Vec4<N>) -> Vec4<N>

impl<N: BaseFloat> Translation<Vec4<N>> for Iso4<N>

fn translation(&self) -> Vec4<N>

fn inv_translation(&self) -> Vec4<N>

fn append_translation_mut(&mut self, t: &Vec4<N>)

fn append_translation(&self, t: &Vec4<N>) -> Iso4<N>

fn prepend_translation_mut(&mut self, t: &Vec4<N>)

fn prepend_translation(&self, t: &Vec4<N>) -> Iso4<N>

fn set_translation(&mut self, t: Vec4<N>)

impl<N: Copy + Add<N, Output=N> + Sub<N, Output=N>> Translate<Pnt4<N>> for Iso4<N>

fn translate(&self, v: &Pnt4<N>) -> Pnt4<N>

fn inv_translate(&self, v: &Pnt4<N>) -> Pnt4<N>

impl<N: BaseFloat> Mul<Iso4<N>> for Iso4<N>

type Output = Iso4<N>

fn mul(self, right: Iso4<N>) -> Iso4<N>

impl<N: BaseNum> Mul<Pnt4<N>> for Iso4<N>

type Output = Pnt4<N>

fn mul(self, right: Pnt4<N>) -> Pnt4<N>

Derived Implementations

impl<N: Copy> Copy for Iso4<N>

impl<N: Debug> Debug for Iso4<N>

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl<N: Clone> Clone for Iso4<N>

fn clone(&self) -> Iso4<N>

fn clone_from(&mut self, source: &Self)

impl<N: Decodable> Decodable for Iso4<N>

fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<Iso4<N>, __D::Error>

impl<N: Encodable> Encodable for Iso4<N>

fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>

impl<N: PartialEq> PartialEq for Iso4<N>

fn eq(&self, __arg_0: &Iso4<N>) -> bool

fn ne(&self, __arg_0: &Iso4<N>) -> bool

impl<N: Eq> Eq for Iso4<N>