Struct nalgebra::geometry::Isometry[][src]

#[repr(C)]
pub struct Isometry<N: Real, D: DimName, R> where
    DefaultAllocator: Allocator<N, D>, 
{ pub rotation: R, pub translation: Translation<N, D>, // some fields omitted }

A direct isometry, i.e., a rotation followed by a translation.

Fields

The pure rotational part of this isometry.

The pure translational part of this isometry.

Methods

impl<N: Real, D: DimName, R: Rotation<Point<N, D>>> Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Creates a new isometry from its rotational and translational parts.

Inverts self.

Inverts self.

Appends to self the given translation in-place.

Appends to self the given rotation in-place.

Appends in-place to self a rotation centered at the point p, i.e., the rotation that lets p invariant.

Appends in-place to self a rotation centered at the point with coordinates self.translation.

impl<N: Real, D: DimName, R> Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Converts this isometry into its equivalent homogeneous transformation matrix.

impl<N: Real, D: DimName, R: AlgaRotation<Point<N, D>>> Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Creates a new identity isometry.

The isometry that applies the rotation r with its axis passing through the point p. This effectively lets p invariant.

impl<N: Real> Isometry<N, U2, Rotation2<N>>
[src]

Creates a new isometry from a translation and a rotation angle.

impl<N: Real> Isometry<N, U2, UnitComplex<N>>
[src]

Creates a new isometry from a translation and a rotation angle.

impl<N: Real> Isometry<N, U3, Rotation3<N>>
[src]

Creates a new isometry from a translation and a rotation axis-angle.

Creates an isometry that corresponds to the local frame of an observer standing at the point eye and looking toward target.

It maps the view direction target - eye to the positive z axis and the origin to the eye.

Arguments

  • eye - The observer position.
  • target - The target position.
  • up - Vertical direction. The only requirement of this parameter is to not be collinear to eye - at. Non-collinearity is not checked.

Builds a right-handed look-at view matrix.

This conforms to the common notion of right handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

Builds a left-handed look-at view matrix.

This conforms to the common notion of left handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

impl<N: Real> Isometry<N, U3, UnitQuaternion<N>>
[src]

Creates a new isometry from a translation and a rotation axis-angle.

Creates an isometry that corresponds to the local frame of an observer standing at the point eye and looking toward target.

It maps the view direction target - eye to the positive z axis and the origin to the eye.

Arguments

  • eye - The observer position.
  • target - The target position.
  • up - Vertical direction. The only requirement of this parameter is to not be collinear to eye - at. Non-collinearity is not checked.

Builds a right-handed look-at view matrix.

This conforms to the common notion of right handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

Builds a left-handed look-at view matrix.

This conforms to the common notion of left handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

Trait Implementations

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

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for UnitQuaternion<N1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R: AlgaRotation<Point3<N2>> + SupersetOf<UnitQuaternion<N1>>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R: AlgaRotation<Point2<N2>> + SupersetOf<UnitComplex<N1>>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

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

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl<N: Debug + Real, D: Debug + DimName, R: Debug> Debug for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Formats the value using the given formatter. Read more

impl<N: Real + Hash, D: DimName + Hash, R: Hash> Hash for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Hash
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<N: Real, D: DimName + Copy, R: Rotation<Point<N, D>> + Copy> Copy for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Copy
[src]

impl<N: Real, D: DimName, R: Rotation<Point<N, D>> + Clone> Clone for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<N: Real, D: DimName, R> Eq for Isometry<N, D, R> where
    R: Rotation<Point<N, D>> + Eq,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Real, D: DimName, R> PartialEq for Isometry<N, D, R> where
    R: Rotation<Point<N, D>> + PartialEq,
    DefaultAllocator: Allocator<N, D>, 
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<N: Real, D: DimName, R> AbsDiffEq for Isometry<N, D, R> where
    R: Rotation<Point<N, D>> + AbsDiffEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

Used for specifying relative comparisons.

The default tolerance to use when testing values that are close together. Read more

A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more

The inverse of ApproxEq::abs_diff_eq.

impl<N: Real, D: DimName, R> RelativeEq for Isometry<N, D, R> where
    R: Rotation<Point<N, D>> + RelativeEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

The default relative tolerance for testing values that are far-apart. Read more

A test for equality that uses a relative comparison if the values are far apart.

The inverse of ApproxEq::relative_eq.

impl<N: Real, D: DimName, R> UlpsEq for Isometry<N, D, R> where
    R: Rotation<Point<N, D>> + UlpsEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

The default ULPs to tolerate when testing values that are far-apart. Read more

A test for equality that uses units in the last place (ULP) if the values are far apart.

The inverse of ApproxEq::ulps_eq.

impl<N: Real + Display, D: DimName, R> Display for Isometry<N, D, R> where
    R: Display,
    DefaultAllocator: Allocator<N, D> + Allocator<usize, D>, 
[src]

Formats the value using the given formatter. Read more

impl<N: Real, D: DimName, R: AlgaRotation<Point<N, D>>> One for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

Creates a new identity isometry.

Returns true if self is equal to the multiplicative identity. Read more

impl<N: Real, D: DimName, R> Distribution<Isometry<N, D, R>> for Standard where
    R: AlgaRotation<Point<N, D>>,
    Standard: Distribution<N> + Distribution<R>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Generate a random value of T, using rng as the source of randomness.

Important traits for DistIter<'a, D, R, T>

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real, D: DimName, R> Div<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

Performs the *= operation.

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

Performs the *= operation.

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

Performs the *= operation.

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

Performs the *= operation.

impl<N: Real, D: DimName, R> DivAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Performs the /= operation.

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

Performs the /= operation.

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

Performs the *= operation.

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

Performs the *= operation.

impl<N: Real, D: DimName, R> DivAssign<R> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Performs the /= operation.

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

Performs the /= operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real, D: DimName, R> Div<R> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<'a, 'b, N: Real, 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]

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<'a, 'b, N: Real, 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]

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, N: Real, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'b, N: Real, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, 'b, N: Real, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real> Div<Isometry<N, U3, UnitQuaternion<N>>> for UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, N: Real> Div<Isometry<N, U3, UnitQuaternion<N>>> for &'a UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'b, N: Real> Div<&'b Isometry<N, U3, UnitQuaternion<N>>> for UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, 'b, N: Real> Div<&'b Isometry<N, U3, UnitQuaternion<N>>> for &'a UnitQuaternion<N> where
    DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<N: Real, D: DimName, R> Identity<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The identity element.

Specific identity.

impl<N: Real, D: DimName, R> Inverse<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Returns the inverse of self, relative to the operator O.

In-place inversin of self.

impl<N: Real, D: DimName, R> AbstractMagma<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Performs an operation.

Performs specific operation.

impl<N: Real, D: DimName, R> AbstractSemigroup<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Returns true if associativity holds for the given arguments. Approximate equality is used for verifications. Read more

Returns true if associativity holds for the given arguments.

impl<N: Real, D: DimName, R> AbstractMonoid<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Checks whether operating with the identity element is a no-op for the given argument. Approximate equality is used for verifications. Read more

Checks whether operating with the identity element is a no-op for the given argument. Read more

impl<N: Real, D: DimName, R> AbstractQuasigroup<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Returns true if latin squareness holds for the given arguments. Approximate equality is used for verifications. Read more

Returns true if latin squareness holds for the given arguments.

impl<N: Real, D: DimName, R> AbstractLoop<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Real, D: DimName, R> AbstractGroup<Multiplicative> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Real, D: DimName, R> Transformation<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Applies this group's action on a point from the euclidean space.

Applies this group's action on a vector from the euclidean space. Read more

impl<N: Real, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Applies this group's inverse action on a point from the euclidean space.

Applies this group's inverse action on a vector from the euclidean space. Read more

impl<N: Real, D: DimName, R> AffineTransformation<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Type of the first rotation to be applied.

Type of the non-uniform scaling to be applied.

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

Decomposes this affine transformation into a rotation followed by a non-uniform scaling, followed by a rotation, followed by a translation. Read more

Appends a translation to this similarity.

Prepends a translation to this similarity.

Appends a rotation to this similarity.

Prepends a rotation to this similarity.

Appends a scaling factor to this similarity.

Prepends a scaling factor to this similarity.

Appends to this similarity a rotation centered at the point p, i.e., this point is left invariant. Read more

impl<N: Real, D: DimName, R> Similarity<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

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

The pure translational component of this similarity transformation.

The pure rotational component of this similarity transformation.

The pure scaling component of this similarity transformation.

Applies this transformation's pure translational part to a point.

Applies this transformation's pure rotational part to a point.

Applies this transformation's pure scaling part to a point.

Applies this transformation's pure rotational part to a vector.

Applies this transformation's pure scaling part to a vector.

Applies this transformation inverse's pure translational part to a point.

Applies this transformation inverse's pure rotational part to a point.

Applies this transformation inverse's pure scaling part to a point.

Applies this transformation inverse's pure rotational part to a vector.

Applies this transformation inverse's pure scaling part to a vector.

impl<N: Real, D: DimName, R> AlgaIsometry<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Real, D: DimName, R> DirectIsometry<Point<N, D>> for Isometry<N, D, R> where
    R: Rotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N1, N2, D: DimName, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R1: Rotation<Point<N1, D>> + SubsetOf<R2>,
    R2: Rotation<Point<N2, D>>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl<N1, N2, D: DimName, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R1: Rotation<Point<N1, D>> + SubsetOf<R2>,
    R2: Rotation<Point<N2, D>>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    C: SuperTCategoryOf<TAffine>,
    R: Rotation<Point<N1, D>> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

impl<N1, N2, D, R> SubsetOf<MatrixN<N2, DimNameSum<D, U1>>> for Isometry<N1, D, R> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R: Rotation<Point<N1, D>> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>, 
[src]

The inclusion map: converts self to the equivalent element of its superset.

Checks if element is actually part of the subset Self (and can be converted to it).

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

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

Performs the *= operation.

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

Performs the *= operation.

impl<N: Real, D: DimName, R> DivAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Performs the /= operation.

impl<'b, N: Real, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

Performs the /= operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real, D: DimName, R> Div<Isometry<N, D, R>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, N: Real, D: DimName, R> Div<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'b, N: Real, D: DimName, R> Div<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, 'b, N: Real, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N: Real, D: DimName, R> Div<Similarity<N, D, R>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, N: Real, D: DimName, R> Div<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'b, N: Real, D: DimName, R> Div<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<'a, 'b, N: Real, D: DimName, R> Div<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    R: AlgaRotation<Point<N, D>>,
    DefaultAllocator: Allocator<N, D>, 
[src]

The resulting type after applying the / operator.

Performs the / operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

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

The resulting type after applying the * operator.

Performs the * operation.

impl<N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<Isometry<N, D, R>> for Transform<N, D, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>, 
[src]

Performs the *= operation.

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

Performs the *= operation.

Auto Trait Implementations

impl<N, D, R> !Send for Isometry<N, D, R>

impl<N, D, R> !Sync for Isometry<N, D, R>