[][src]Struct nalgebra::geometry::Translation

#[repr(C)]
pub struct Translation<N: Scalar, D: DimName> where
    DefaultAllocator: Allocator<N, D>, 
{ pub vector: VectorN<N, D>, }

A translation.

Fields

vector: VectorN<N, D>

The translation coordinates, i.e., how much is added to a point's coordinates when it is translated.

Methods

impl<N: Scalar, D: DimName> Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn from_vector(vector: VectorN<N, D>) -> Translation<N, D>[src]

Deprecated:

Use ::from instead.

Creates a new translation from the given vector.

pub fn inverse(&self) -> Translation<N, D> where
    N: ClosedNeg
[src]

Inverts self.

Example

let t = Translation3::new(1.0, 2.0, 3.0);
assert_eq!(t * t.inverse(), Translation3::identity());
assert_eq!(t.inverse() * t, Translation3::identity());

// Work in all dimensions.
let t = Translation2::new(1.0, 2.0);
assert_eq!(t * t.inverse(), Translation2::identity());
assert_eq!(t.inverse() * t, Translation2::identity());

pub fn to_homogeneous(&self) -> MatrixN<N, DimNameSum<D, U1>> where
    N: Zero + One,
    D: DimNameAdd<U1>,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

Converts this translation into its equivalent homogeneous transformation matrix.

Example

let t = Translation3::new(10.0, 20.0, 30.0);
let expected = Matrix4::new(1.0, 0.0, 0.0, 10.0,
                            0.0, 1.0, 0.0, 20.0,
                            0.0, 0.0, 1.0, 30.0,
                            0.0, 0.0, 0.0, 1.0);
assert_eq!(t.to_homogeneous(), expected);

let t = Translation2::new(10.0, 20.0);
let expected = Matrix3::new(1.0, 0.0, 10.0,
                            0.0, 1.0, 20.0,
                            0.0, 0.0, 1.0);
assert_eq!(t.to_homogeneous(), expected);

pub fn inverse_mut(&mut self) where
    N: ClosedNeg
[src]

Inverts self in-place.

Example

let t = Translation3::new(1.0, 2.0, 3.0);
let mut inv_t = Translation3::new(1.0, 2.0, 3.0);
inv_t.inverse_mut();
assert_eq!(t * inv_t, Translation3::identity());
assert_eq!(inv_t * t, Translation3::identity());

// Work in all dimensions.
let t = Translation2::new(1.0, 2.0);
let mut inv_t = Translation2::new(1.0, 2.0);
inv_t.inverse_mut();
assert_eq!(t * inv_t, Translation2::identity());
assert_eq!(inv_t * t, Translation2::identity());

impl<N: Scalar + ClosedAdd, D: DimName> Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>[src]

Translate the given point.

This is the same as the multiplication self * pt.

Example

let t = Translation3::new(1.0, 2.0, 3.0);
let transformed_point = t.transform_point(&Point3::new(4.0, 5.0, 6.0));
assert_eq!(transformed_point, Point3::new(5.0, 7.0, 9.0));

impl<N: Scalar + ClosedSub, D: DimName> Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>[src]

Translate the given point by the inverse of this translation.

Example

let t = Translation3::new(1.0, 2.0, 3.0);
let transformed_point = t.inverse_transform_point(&Point3::new(4.0, 5.0, 6.0));
assert_eq!(transformed_point, Point3::new(3.0, 3.0, 3.0));

impl<N: Scalar + Zero, D: DimName> Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn identity() -> Translation<N, D>[src]

Creates a new identity translation.

Example

let t = Translation2::identity();
let p = Point2::new(1.0, 2.0);
assert_eq!(t * p, p);

// Works in all dimensions.
let t = Translation3::identity();
let p = Point3::new(1.0, 2.0, 3.0);
assert_eq!(t * p, p);

impl<N: Scalar> Translation<N, U1> where
    DefaultAllocator: Allocator<N, U1>, 
[src]

pub fn new(x: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation1::new(1.0);
assert!(t.vector.x == 1.0);

impl<N: Scalar> Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2>, 
[src]

pub fn new(x: N, y: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation2::new(1.0, 2.0);
assert!(t.vector.x == 1.0 && t.vector.y == 2.0);

impl<N: Scalar> Translation<N, U3> where
    DefaultAllocator: Allocator<N, U3>, 
[src]

pub fn new(x: N, y: N, z: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation3::new(1.0, 2.0, 3.0);
assert!(t.vector.x == 1.0 && t.vector.y == 2.0 && t.vector.z == 3.0);

impl<N: Scalar> Translation<N, U4> where
    DefaultAllocator: Allocator<N, U4>, 
[src]

pub fn new(x: N, y: N, z: N, w: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation4::new(1.0, 2.0, 3.0, 4.0);
assert!(t.vector.x == 1.0 && t.vector.y == 2.0 && t.vector.z == 3.0 && t.vector.w == 4.0);

impl<N: Scalar> Translation<N, U5> where
    DefaultAllocator: Allocator<N, U5>, 
[src]

pub fn new(x: N, y: N, z: N, w: N, a: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation5::new(1.0, 2.0, 3.0, 4.0, 5.0);
assert!(t.vector.x == 1.0 && t.vector.y == 2.0 && t.vector.z == 3.0 && t.vector.w == 4.0 && t.vector.a == 5.0);

impl<N: Scalar> Translation<N, U6> where
    DefaultAllocator: Allocator<N, U6>, 
[src]

pub fn new(x: N, y: N, z: N, w: N, a: N, b: N) -> Self[src]

Initializes this translation from its components.

Example

let t = Translation6::new(1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
assert!(t.vector.x == 1.0 && t.vector.y == 2.0 && t.vector.z == 3.0 && t.vector.w == 4.0 && t.vector.a == 5.0 && t.vector.b == 6.0);

Trait Implementations

impl<N: Scalar + Eq, D: DimName> Eq for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar, D: DimName> Clone for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Clone
[src]

impl<N: Scalar + PartialEq, D: DimName> PartialEq<Translation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar + Zero + One, D: DimName> From<Translation<N, D>> for MatrixN<N, DimNameSum<D, U1>> where
    D: DimNameAdd<U1>,
    DefaultAllocator: Allocator<N, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

impl<N: Scalar, D: DimName> From<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar, D: DimName> Copy for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Copy
[src]

impl<N: Scalar> DerefMut for Translation<N, U1> where
    DefaultAllocator: Allocator<N, U1>, 
[src]

impl<N: Scalar> DerefMut for Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2>, 
[src]

impl<N: Scalar> DerefMut for Translation<N, U3> where
    DefaultAllocator: Allocator<N, U3>, 
[src]

impl<N: Scalar> DerefMut for Translation<N, U4> where
    DefaultAllocator: Allocator<N, U4>, 
[src]

impl<N: Scalar> DerefMut for Translation<N, U5> where
    DefaultAllocator: Allocator<N, U5>, 
[src]

impl<N: Scalar> DerefMut for Translation<N, U6> where
    DefaultAllocator: Allocator<N, U6>, 
[src]

impl<N: Scalar + Hash, D: DimName + Hash> Hash for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Hash
[src]

impl<N: RealField> Mul<Translation<N, U2>> for UnitComplex<N> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'a, N: RealField> Mul<Translation<N, U2>> for &'a UnitComplex<N> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'b, N: RealField> Mul<&'b Translation<N, U2>> for UnitComplex<N> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField> Mul<&'b Translation<N, U2>> for &'a UnitComplex<N> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<N: RealField> Mul<Unit<Complex<N>>> for Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'a, N: RealField> Mul<Unit<Complex<N>>> for &'a Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'b, N: RealField> Mul<&'b Unit<Complex<N>>> for Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField> Mul<&'b Unit<Complex<N>>> for &'a Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimName> Mul<&'b Translation<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the * operator.

impl<'a, N, D: DimName> Mul<Translation<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the * operator.

impl<'b, N, D: DimName> Mul<&'b Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the * operator.

impl<N, D: DimName> Mul<Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<N, D: DimName> Mul<Point<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName, R> Mul<Translation<N, D>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName, R> Mul<Translation<N, D>> for &'a Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName, R> Mul<&'b Translation<N, D>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Translation<N, D>> for &'a Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName, R> Mul<Isometry<N, D, R>> for Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName> Mul<Translation<N, D>> for Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName> Mul<Translation<N, D>> for &'a Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName> Mul<&'b Translation<N, D>> for Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Translation<N, D>> for &'a Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<N: RealField> Mul<Translation<N, U3>> for UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'a, N: RealField> Mul<Translation<N, U3>> for &'a UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'b, N: RealField> Mul<&'b Translation<N, U3>> for UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField> Mul<&'b Translation<N, U3>> for &'a UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName> Mul<Rotation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName> Mul<Rotation<N, D>> for &'a Translation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName> Mul<&'b Rotation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Rotation<N, D>> for &'a Translation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<N: RealField> Mul<Unit<Quaternion<N>>> for Translation<N, U3> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'a, N: RealField> Mul<Unit<Quaternion<N>>> for &'a Translation<N, U3> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'b, N: RealField> Mul<&'b Unit<Quaternion<N>>> for Translation<N, U3> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField> Mul<&'b Unit<Quaternion<N>>> for &'a Translation<N, U3> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName, R> Mul<Translation<N, D>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName, R> Mul<Translation<N, D>> for &'a Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName, R> Mul<&'b Translation<N, D>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Translation<N, D>> for &'a Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<N: RealField, D: DimName, R> Mul<Similarity<N, D, R>> for Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: RealField, D: DimName, R> Mul<Similarity<N, D, R>> for &'a Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: RealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for &'a Translation<N, D> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Translation<N, D>> for &'a Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Translation<N, D>> for &'a Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Transform<N, D, C>> for Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Transform<N, D, C>> for &'a Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Transform<N, D, C>> for Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Transform<N, D, C>> for &'a Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimName> Div<&'b Translation<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the / operator.

impl<'a, N, D: DimName> Div<Translation<N, D>> for &'a Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the / operator.

impl<'b, N, D: DimName> Div<&'b Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the / operator.

impl<N, D: DimName> Div<Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>, 
[src]

type Output = Translation<N, D>

The resulting type after applying the / operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Translation<N, D>> for &'a Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Translation<N, D>> for &'a Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Transform<N, D, C>> for Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Transform<N, D, C>> for &'a Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Transform<N, D, C>> for Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Transform<N, D, C>> for &'a Translation<N, D> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the / operator.

impl<'b, N, D: DimName> MulAssign<&'b Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>, 
[src]

impl<N, D: DimName> MulAssign<Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedAdd,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>, 
[src]

impl<N: RealField, D: DimName, R> MulAssign<Translation<N, D>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N: RealField, D: DimName, R> MulAssign<&'b Translation<N, D>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName, R> MulAssign<Translation<N, D>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N: RealField, D: DimName, R> MulAssign<&'b Translation<N, D>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N, D: DimNameAdd<U1>, C: TCategory> MulAssign<Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>, 
[src]

impl<'b, N, D: DimNameAdd<U1>, C: TCategory> MulAssign<&'b Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>, 
[src]

impl<'b, N, D: DimName> DivAssign<&'b Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>, 
[src]

impl<N, D: DimName> DivAssign<Translation<N, D>> for Translation<N, D> where
    N: Scalar + ClosedSub,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>, 
[src]

impl<N, D: DimNameAdd<U1>, C: TCategory> DivAssign<Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>, 
[src]

impl<'b, N, D: DimNameAdd<U1>, C: TCategory> DivAssign<&'b Translation<N, D>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>, 
[src]

impl<N: Scalar> Deref for Translation<N, U1> where
    DefaultAllocator: Allocator<N, U1>, 
[src]

type Target = X<N>

The resulting type after dereferencing.

impl<N: Scalar> Deref for Translation<N, U2> where
    DefaultAllocator: Allocator<N, U2>, 
[src]

type Target = XY<N>

The resulting type after dereferencing.

impl<N: Scalar> Deref for Translation<N, U3> where
    DefaultAllocator: Allocator<N, U3>, 
[src]

type Target = XYZ<N>

The resulting type after dereferencing.

impl<N: Scalar> Deref for Translation<N, U4> where
    DefaultAllocator: Allocator<N, U4>, 
[src]

type Target = XYZW<N>

The resulting type after dereferencing.

impl<N: Scalar> Deref for Translation<N, U5> where
    DefaultAllocator: Allocator<N, U5>, 
[src]

type Target = XYZWA<N>

The resulting type after dereferencing.

impl<N: Scalar> Deref for Translation<N, U6> where
    DefaultAllocator: Allocator<N, U6>, 
[src]

type Target = XYZWAB<N>

The resulting type after dereferencing.

impl<N: Debug + Scalar, D: Debug + DimName> Debug for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField + Display, D: DimName> Display for Translation<N, D> where
    DefaultAllocator: Allocator<N, D> + Allocator<usize, D>, 
[src]

impl<N: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<Translation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

type Epsilon = N::Epsilon

Used for specifying relative comparisons.

impl<N: Scalar + RelativeEq, D: DimName> RelativeEq<Translation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

impl<N: Scalar + UlpsEq, D: DimName> UlpsEq<Translation<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

impl<N: Scalar + Zero + ClosedAdd, D: DimName> One for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar, D: DimName> Distribution<Translation<N, D>> for Standard where
    DefaultAllocator: Allocator<N, D>,
    Standard: Distribution<N>, 
[src]

impl<N: RealField, D: DimName> AbstractMagma<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> AbstractQuasigroup<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> AbstractSemigroup<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> AbstractLoop<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> AbstractMonoid<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> AbstractGroup<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> Identity<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> TwoSidedInverse<Multiplicative> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N1, N2, D: DimName> SubsetOf<Translation<N2, D>> for Translation<N1, D> where
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: Rotation<Point<N2, D>>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D: DimName, R> SubsetOf<Similarity<N2, D, R>> for Translation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: Rotation<Point<N2, D>>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Translation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Translation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    D: DimNameAdd<U1>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

impl<N: RealField, D: DimName> ProjectiveTransformation<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> Transformation<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> DirectIsometry<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName> Similarity<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

type Scaling = Id

The type of the pure (uniform) scaling part of this similarity transformation.

impl<N: RealField, D: DimName> Translation<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Subgroups of the n-dimensional translation group T(n).

impl<N: RealField, D: DimName> AffineTransformation<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

type Rotation = Id

Type of the first rotation to be applied.

type NonUniformScaling = Id

Type of the non-uniform scaling to be applied.

type Translation = Self

The type of the pure translation part of this affine transformation.

impl<N: RealField, D: DimName> Isometry<Point<N, D>> for Translation<N, D> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Auto Trait Implementations

impl<N, D> !Send for Translation<N, D>

impl<N, D> !Unpin for Translation<N, D>

impl<N, D> !Sync for Translation<N, D>

impl<N, D> !UnwindSafe for Translation<N, D>

impl<N, D> !RefUnwindSafe for Translation<N, D>

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, Right> ClosedMul<Right> for T where
    T: Mul<Right, Output = T> + MulAssign<Right>, 
[src]

impl<T, Right> ClosedDiv<Right> for T where
    T: Div<Right, Output = T> + DivAssign<Right>, 
[src]

impl<T> MultiplicativeMagma for T where
    T: AbstractMagma<Multiplicative>, 
[src]

impl<T> MultiplicativeQuasigroup for T where
    T: AbstractQuasigroup<Multiplicative> + ClosedDiv<T> + MultiplicativeMagma
[src]

impl<T> MultiplicativeLoop for T where
    T: AbstractLoop<Multiplicative> + MultiplicativeQuasigroup + One
[src]

impl<T> MultiplicativeSemigroup for T where
    T: AbstractSemigroup<Multiplicative> + ClosedMul<T> + MultiplicativeMagma
[src]

impl<T> MultiplicativeMonoid for T where
    T: AbstractMonoid<Multiplicative> + MultiplicativeSemigroup + One
[src]

impl<T> MultiplicativeGroup for T where
    T: AbstractGroup<Multiplicative> + MultiplicativeLoop + MultiplicativeMonoid
[src]

impl<R, E> ProjectiveTransformation<E> for R where
    E: EuclideanSpace<RealField = R>,
    R: RealField,
    <E as EuclideanSpace>::Coordinates: ClosedMul<R>,
    <E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
    <E as EuclideanSpace>::Coordinates: ClosedNeg
[src]

impl<R, E> Transformation<E> for R where
    E: EuclideanSpace<RealField = R>,
    R: RealField,
    <E as EuclideanSpace>::Coordinates: ClosedMul<R>,
    <E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
    <E as EuclideanSpace>::Coordinates: ClosedNeg
[src]

impl<R, E> Similarity<E> for R where
    E: EuclideanSpace<RealField = R>,
    R: RealField + SubsetOf<R>,
    <E as EuclideanSpace>::Coordinates: ClosedMul<R>,
    <E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
    <E as EuclideanSpace>::Coordinates: ClosedNeg
[src]

type Scaling = R

The type of the pure (uniform) scaling part of this similarity transformation.

impl<R, E> AffineTransformation<E> for R where
    E: EuclideanSpace<RealField = R>,
    R: RealField,
    <E as EuclideanSpace>::Coordinates: ClosedMul<R>,
    <E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
    <E as EuclideanSpace>::Coordinates: ClosedNeg
[src]

type Rotation = Id<Multiplicative>

Type of the first rotation to be applied.

type NonUniformScaling = R

Type of the non-uniform scaling to be applied.

type Translation = Id<Multiplicative>

The type of the pure translation part of this affine transformation.