Struct nalgebra::geometry::IsometryBase [] [src]

#[repr(C)]
pub struct IsometryBase<N: Scalar, D: DimName, S, R> { pub rotation: R, pub translation: TranslationBase<N, D, S>, // 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, D: DimName, S, R> IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> IsometryBase<N, D, S, R> where
    N: Scalar,
    S: Storage<N, D, U1>, 
[src]

Converts this isometry into its equivalent homogeneous transformation matrix.

impl<N, D: DimName, S, R> IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: AlgaRotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

Creates a new identity isometry.

impl<N, D: DimName, S, R> IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: AlgaRotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

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

impl<N, S, SR> IsometryBase<N, U2, S, RotationBase<N, U2, SR>> where
    N: Real,
    S: OwnedStorage<N, U2, U1, Alloc = SR::Alloc>,
    SR: OwnedStorage<N, U2, U2>,
    S::Alloc: OwnedAllocator<N, U2, U1, S>,
    SR::Alloc: OwnedAllocator<N, U2, U2, SR>, 
[src]

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

impl<N, S> IsometryBase<N, U2, S, UnitComplex<N>> where
    N: Real,
    S: OwnedStorage<N, U2, U1>,
    S::Alloc: OwnedAllocator<N, U2, U1, S>, 
[src]

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

impl<N, S, SR> IsometryBase<N, U3, S, RotationBase<N, U3, SR>> where
    N: Real,
    S: OwnedStorage<N, U3, U1, Alloc = SR::Alloc>,
    SR: OwnedStorage<N, U3, U3>,
    S::Alloc: OwnedAllocator<N, U3, U1, S>,
    SR::Alloc: OwnedAllocator<N, U3, U3, SR> + Allocator<N, U3, U3>, 
[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, S, SR> IsometryBase<N, U3, S, UnitQuaternionBase<N, SR>> where
    N: Real,
    S: OwnedStorage<N, U3, U1, Alloc = SR::Alloc>,
    SR: OwnedStorage<N, U4, U1>,
    S::Alloc: OwnedAllocator<N, U3, U1, S>,
    SR::Alloc: OwnedAllocator<N, U4, U1, SR> + Allocator<N, U3, U3>, 
[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<N: Hash + Scalar, D: Hash + DimName, S: Hash, R: Hash> Hash for IsometryBase<N, D, S, R>
[src]

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

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

impl<N: Debug + Scalar, D: Debug + DimName, S: Debug, R: Debug> Debug for IsometryBase<N, D, S, R>
[src]

Formats the value using the given formatter.

impl<N: Clone + Scalar, D: Clone + DimName, S: Clone, R: Clone> Clone for IsometryBase<N, D, S, R>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<N: Copy + Scalar, D: Copy + DimName, S: Copy, R: Copy> Copy for IsometryBase<N, D, S, R>
[src]

impl<N, D: DimName, S, R> Eq for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>> + Eq,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

impl<N, D: DimName, S, R> PartialEq for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>> + PartialEq,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

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

This method tests for !=.

impl<N, D: DimName, S, R> ApproxEq for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>> + ApproxEq<Epsilon = N::Epsilon>,
    S::Alloc: OwnedAllocator<N, D, U1, S>,
    N::Epsilon: Copy
[src]

Used for specifying relative comparisons.

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

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

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

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

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

The inverse of ApproxEq::relative_eq.

The inverse of ApproxEq::ulps_eq.

impl<N, D: DimName, S, R> Display for IsometryBase<N, D, S, R> where
    N: Real + Display,
    S: OwnedStorage<N, D, U1>,
    R: Display,
    S::Alloc: OwnedAllocator<N, D, U1, S> + Allocator<usize, D, U1>, 
[src]

Formats the value using the given formatter. Read more

impl<N, D: DimName, S, R> One for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: AlgaRotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

Creates a new identity isometry.

impl<N, D: DimName, S, R> Rand for IsometryBase<N, D, S, R> where
    N: Real + Rand,
    S: OwnedStorage<N, D, U1>,
    R: AlgaRotation<PointBase<N, D, S>> + Rand,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

Generates a random instance of this type using the specified source of randomness. Read more

impl<N, D: DimName, S, R> Mul<IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<IsometryBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b IsometryBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Div<IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, N, D: DimName, S, R> Div<IsometryBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'b, N, D: DimName, S, R> Div<&'b IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, 'b, N, D: DimName, S, R> Div<&'b IsometryBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<N, D: DimName, S, R> MulAssign<TranslationBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<'b, N, D: DimName, S, R> MulAssign<&'b TranslationBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<N, D: DimName, S, R> MulAssign<IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<'b, N, D: DimName, S, R> MulAssign<&'b IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<N, D: DimName, S, R> DivAssign<IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the /= operator

impl<'b, N, D: DimName, S, R> DivAssign<&'b IsometryBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the /= operator

impl<N, D: DimName, S, R> MulAssign<R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<'b, N, D: DimName, S, R> MulAssign<&'b R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the *= operator

impl<N, D: DimName, S, R> DivAssign<R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the /= operator

impl<'b, N, D: DimName, S, R> DivAssign<&'b R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The method for the /= operator

impl<N, D: DimName, S, R> Mul<R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<R> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b R> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Div<R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, N, D: DimName, S, R> Div<R> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'b, N, D: DimName, S, R> Div<&'b R> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, 'b, N, D: DimName, S, R> Div<&'b R> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<N, D: DimName, S, R> Mul<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<PointBase<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b PointBase<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Mul<ColumnVector<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<ColumnVector<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b ColumnVector<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b ColumnVector<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Mul<TranslationBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<TranslationBase<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b TranslationBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b TranslationBase<N, D, S>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Identity<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The identity element.

impl<N, D: DimName, S, R> Inverse<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

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

In-place inversin of self.

impl<N, D: DimName, S, R> AbstractMagma<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

Performs an operation.

Performs specific operation.

impl<N, D: DimName, S, R> AbstractSemigroup<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> AbstractMonoid<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> AbstractQuasigroup<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> AbstractLoop<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

impl<N, D: DimName, S, R> AbstractGroup<Multiplicative> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

impl<N, D: DimName, S, R> Transformation<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> ProjectiveTransformation<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> AffineTransformation<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> Similarity<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[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, D: DimName, S, R> Isometry<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

impl<N, D: DimName, S, R> DirectIsometry<PointBase<N, D, S>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

impl<N1, N2, D: DimName, SA, SB, R1, R2> SubsetOf<IsometryBase<N2, D, SB, R2>> for IsometryBase<N1, D, SA, R1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R1: Rotation<PointBase<N1, D, SA>> + SubsetOf<R2>,
    R2: Rotation<PointBase<N2, D, SB>>,
    SA: OwnedStorage<N1, D, U1>,
    SB: OwnedStorage<N2, D, U1>,
    SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
    SB::Alloc: OwnedAllocator<N2, D, U1, SB>, 
[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, SA, SB, R1, R2> SubsetOf<SimilarityBase<N2, D, SB, R2>> for IsometryBase<N1, D, SA, R1> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    R1: Rotation<PointBase<N1, D, SA>> + SubsetOf<R2>,
    R2: Rotation<PointBase<N2, D, SB>>,
    SA: OwnedStorage<N1, D, U1>,
    SB: OwnedStorage<N2, D, U1>,
    SA::Alloc: OwnedAllocator<N1, D, U1, SA>,
    SB::Alloc: OwnedAllocator<N2, D, U1, SB>, 
[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, SA, SB, R, C> SubsetOf<TransformBase<N2, D, SB, C>> for IsometryBase<N1, D, SA, R> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    SA: OwnedStorage<N1, D, U1>,
    SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    C: SuperTCategoryOf<TAffine>,
    R: Rotation<PointBase<N1, D, SA>> + SubsetOf<OwnedSquareMatrix<N1, DimNameSum<D, U1>, SA::Alloc>> + SubsetOf<SquareMatrix<N2, DimNameSum<D, U1>, SB>>,
    D: DimNameAdd<U1>,
    SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, D> + Allocator<N2, D, U1> + Allocator<N2, U1, 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, SA, SB, R> SubsetOf<SquareMatrix<N2, DimNameSum<D, U1>, SB>> for IsometryBase<N1, D, SA, R> where
    N1: Real,
    N2: Real + SupersetOf<N1>,
    SA: OwnedStorage<N1, D, U1>,
    SB: OwnedStorage<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    R: Rotation<PointBase<N1, D, SA>> + SubsetOf<OwnedSquareMatrix<N1, DimNameSum<D, U1>, SA::Alloc>> + SubsetOf<SquareMatrix<N2, DimNameSum<D, U1>, SB>>,
    D: DimNameAdd<U1>,
    SA::Alloc: OwnedAllocator<N1, D, U1, SA> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SB::Alloc: OwnedAllocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>, SB> + Allocator<N2, D, D> + Allocator<N2, D, U1> + Allocator<N2, U1, 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, D: DimName, S, R> Mul<SimilarityBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimName, S, R> Mul<SimilarityBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimName, S, R> Mul<&'b SimilarityBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimName, S, R> Mul<&'b SimilarityBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N, D: DimName, S, R> Div<SimilarityBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, N, D: DimName, S, R> Div<SimilarityBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'b, N, D: DimName, S, R> Div<&'b SimilarityBase<N, D, S, R>> for IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, 'b, N, D: DimName, S, R> Div<&'b SimilarityBase<N, D, S, R>> for &'a IsometryBase<N, D, S, R> where
    N: Real,
    S: OwnedStorage<N, D, U1>,
    R: Rotation<PointBase<N, D, S>>,
    S::Alloc: OwnedAllocator<N, D, U1, S>, 
[src]

The resulting type after applying the / operator

The method for the / operator

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<OwnedSquareMatrix<N, DimNameSum<D, U1>, SA::Alloc>>, SA, SB> Mul<TransformBase<N, D, SB, C>> for IsometryBase<N, D, SA, R> where
    N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
    SA: Storage<N, D, U1>,
    SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<OwnedSquareMatrix<N, DimNameSum<D, U1>, SA::Alloc>>, SA, SB> Mul<TransformBase<N, D, SB, C>> for &'a IsometryBase<N, D, SA, R> where
    N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
    SA: Storage<N, D, U1>,
    SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<OwnedSquareMatrix<N, DimNameSum<D, U1>, SA::Alloc>>, SA, SB> Mul<&'b TransformBase<N, D, SB, C>> for IsometryBase<N, D, SA, R> where
    N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
    SA: Storage<N, D, U1>,
    SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<OwnedSquareMatrix<N, DimNameSum<D, U1>, SA::Alloc>>, SA, SB> Mul<&'b TransformBase<N, D, SB, C>> for &'a IsometryBase<N, D, SA, R> where
    N: Scalar + Zero + ClosedAdd + ClosedMul + Real,
    SA: Storage<N, D, U1>,
    SB: Storage<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
    SA::Alloc: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

The resulting type after applying the * operator

The method for the * operator