Struct ggez::graphics::na::Rotation [] [src]

#[repr(C)]
pub struct Rotation<N, D> where
    D: DimName,
    N: Scalar,
    DefaultAllocator: Allocator<N, D, D>, 
{ /* fields omitted */ }

A rotation matrix.

Methods

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

[src]

A reference to the underlying matrix representation of this rotation.

[src]

A mutable reference to the underlying matrix representation of this rotation.

This is unsafe because this allows the user to replace the matrix by another one that is non-square, non-inversible, or non-orthonormal. If one of those properties is broken, subsequent method calls may be UB.

[src]

Unwraps the underlying matrix.

[src]

Converts this rotation into its equivalent homogeneous transformation matrix.

[src]

Creates a new rotation from the given square matrix.

The matrix squareness is checked but not its orthonormality.

[src]

Transposes self.

[src]

Inverts self.

[src]

Transposes self in-place.

[src]

Inverts self in-place.

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

[src]

Creates a new square identity rotation of the given dimension.

impl<N> Rotation<N, U2> where
    N: Real
[src]

[src]

Builds a 2 dimensional rotation matrix from an angle in radian.

[src]

Builds a 2 dimensional rotation matrix from an angle in radian wrapped in a 1-dimensional vector.

Equivalent to Self::new(axisangle[0]).

[src]

The rotation matrix required to align a and b but with its angl.

This is the rotation R such that (R * a).angle(b) == 0 && (R * a).dot(b).is_positive().

[src]

The smallest rotation needed to make a and b collinear and point toward the same direction, raised to the power s.

impl<N> Rotation<N, U2> where
    N: Real
[src]

[src]

The rotation angle.

[src]

The rotation angle needed to make self and other coincide.

[src]

The rotation matrix needed to make self and other coincide.

The result is such that: self.rotation_to(other) * self == other.

[src]

Raise the quaternion to a given floating power, i.e., returns the rotation with the angle of self multiplied by n.

[src]

The rotation angle returned as a 1-dimensional vector.

impl<N> Rotation<N, U3> where
    N: Real
[src]

[src]

Builds a 3 dimensional rotation matrix from an axis and an angle.

Arguments

  • axisangle - A vector representing the rotation. Its magnitude is the amount of rotation in radian. Its direction is the axis of rotation.

[src]

Builds a 3D rotation matrix from an axis scaled by the rotation angle.

[src]

Builds a 3D rotation matrix from an axis and a rotation angle.

[src]

Creates a new rotation from Euler angles.

The primitive rotations are applied in order: 1 roll − 2 pitch − 3 yaw.

[src]

Creates a rotation that corresponds to the local frame of an observer standing at the origin and looking toward dir.

It maps the view direction dir to the positive z axis.

Arguments

  • dir - The look direction, that is, direction the matrix z axis will be aligned with.
  • up - The vertical direction. The only requirement of this parameter is to not be collinear to dir. Non-collinearity is not checked.

[src]

Builds a right-handed look-at view matrix without translation.

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.

[src]

Builds a left-handed look-at view matrix without translation.

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.

[src]

The rotation matrix required to align a and b but with its angl.

This is the rotation R such that (R * a).angle(b) == 0 && (R * a).dot(b).is_positive().

[src]

The smallest rotation needed to make a and b collinear and point toward the same direction, raised to the power s.

[src]

The rotation angle.

[src]

The rotation axis. Returns None if the rotation angle is zero or PI.

[src]

The rotation axis multiplied by the rotation angle.

[src]

The rotation angle needed to make self and other coincide.

[src]

The rotation matrix needed to make self and other coincide.

The result is such that: self.rotation_to(other) * self == other.

[src]

Raise the quaternion to a given floating power, i.e., returns the rotation with the same axis as self and an angle equal to self.angle() multiplied by n.

Trait Implementations

impl<N> Rand for Rotation<N, U2> where
    N: Rand + Real
[src]

[src]

impl<N> Rand for Rotation<N, U3> where
    N: Rand + Real
[src]

[src]

impl<N, D> Copy for Rotation<N, D> where
    D: DimName,
    N: Scalar,
    DefaultAllocator: Allocator<N, D, D>,
    <DefaultAllocator as Allocator<N, D, D>>::Buffer: Copy
[src]

impl<N, D> Clone for Rotation<N, D> where
    D: DimName,
    N: Scalar,
    DefaultAllocator: Allocator<N, D, D>,
    <DefaultAllocator as Allocator<N, D, D>>::Buffer: Clone
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

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

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

[src]

[src]

[src]

impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for Rotation<N1, U2> where
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

[src]

[src]

[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 Rotation<N1, D> where
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: Real,
    N2: Real + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>, 
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<N1, N2> SubsetOf<Unit<Quaternion<N2>>> for Rotation<N1, U3> where
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

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

[src]

[src]

[src]

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

[src]

[src]

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

[src]

[src]

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

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

[src]

[src]

[src]

[src]

[src]

[src]

[src]

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

[src]

[src]

impl<'b, N, D> Div<&'b Rotation<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

[src]

impl<N, D, C> Div<Transform<N, D, C>> for Rotation<N, D> where
    C: TCategoryMul<TAffine>,
    D: DimNameAdd<U1>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, <D as DimNameAdd<U1>>::Output>, 
[src]

[src]

impl<N> Div<Unit<Quaternion<N>>> for Rotation<N, U3> where
    N: Real,
    DefaultAllocator: Allocator<N, U3, U3>,
    DefaultAllocator: Allocator<N, U4, U1>, 
[src]

[src]

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

[src]

impl<'a, N> Div<Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
    N: Real,
    DefaultAllocator: Allocator<N, U3, U3>,
    DefaultAllocator: Allocator<N, U4, U1>, 
[src]

[src]

impl<'b, N> Div<&'b Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

impl<N> Div<Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

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

[src]

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

[src]

impl<'a, N> Div<Unit<Complex<N>>> for &'a Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

impl<'a, 'b, N> Div<&'b Unit<Complex<N>>> for &'a Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

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

[src]

impl<'a, 'b, N, D> Div<&'b Rotation<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

impl<'b, N> Div<&'b Unit<Quaternion<N>>> for Rotation<N, U3> where
    N: Real,
    DefaultAllocator: Allocator<N, U3, U3>,
    DefaultAllocator: Allocator<N, U4, U1>, 
[src]

[src]

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

[src]

impl<'a, 'b, N> Div<&'b Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
    N: Real,
    DefaultAllocator: Allocator<N, U3, U3>,
    DefaultAllocator: Allocator<N, U4, U1>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

impl<'a, N, D> Div<Rotation<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

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

impl<'b, N, D> DivAssign<&'b Rotation<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

impl<'b, N> DivAssign<&'b Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

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

[src]

impl<N> DivAssign<Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

impl<N, D> ApproxEq for Rotation<N, D> where
    D: DimName,
    N: Scalar + ApproxEq,
    DefaultAllocator: Allocator<N, D, D>,
    <N as ApproxEq>::Epsilon: Copy
[src]

[src]

[src]

[src]

[src]

[src]

impl<N, D> Hash for Rotation<N, D> where
    D: DimName + Hash,
    N: Scalar + Hash,
    DefaultAllocator: Allocator<N, D, D>,
    <DefaultAllocator as Allocator<N, D, D>>::Buffer: Hash
[src]

[src]

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

1.3.0
[src]

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

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

[src]

[src]

[src]

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

[src]

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

1.0.0
[src]

This method tests for !=.

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

[src]

Formats the value using the given formatter.

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

Subgroups of the n-dimensional rotation group SO(n).

[src]

[src]

[src]

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

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

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

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

[src]

impl<N, D> Index<(usize, usize)> for Rotation<N, D> where
    D: DimName,
    N: Scalar,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

[src]

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

impl<N, D> OrthogonalTransformation<Point<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Real,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

impl<'b, N> MulAssign<&'b Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

impl<'b, N, D> MulAssign<&'b Rotation<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

impl<N> MulAssign<Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N> Mul<Unit<Quaternion<N>>> for Rotation<N, U3> where
    N: Real,
    DefaultAllocator: Allocator<N, U3, U3>,
    DefaultAllocator: Allocator<N, U4, U1>, 
[src]

[src]

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

[src]

impl<'b, N, D> Mul<&'b Point<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: AreMultipliable<D, D, D, U1>, 
[src]

[src]

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

[src]

impl<N> Mul<Unit<Complex<N>>> for Rotation<N, U2> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

[src]

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

[src]

impl<'a, 'b, N, D> Mul<&'b Rotation<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'b, N, D1, R2, C2, SB> Mul<&'b Matrix<N, R2, C2, SB>> for Rotation<N, D1> where
    C2: Dim,
    D1: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    R2: Dim,
    SB: Storage<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, D1>,
    DefaultAllocator: Allocator<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    ShapeConstraint: AreMultipliable<D1, D1, R2, C2>, 
[src]

[src]

impl<'b, N, D> Mul<&'b Rotation<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

impl<'a, N, D> Mul<Rotation<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, D>, 
[src]

[src]

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

[src]

impl<'a, N, D1, R2, C2, SB> Mul<Matrix<N, R2, C2, SB>> for &'a Rotation<N, D1> where
    C2: Dim,
    D1: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    R2: Dim,
    SB: Storage<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, D1>,
    DefaultAllocator: Allocator<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    ShapeConstraint: AreMultipliable<D1, D1, R2, C2>, 
[src]

[src]

impl<N, D1, R2, C2, SB> Mul<Matrix<N, R2, C2, SB>> for Rotation<N, D1> where
    C2: Dim,
    D1: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    R2: Dim,
    SB: Storage<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, D1>,
    DefaultAllocator: Allocator<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    ShapeConstraint: AreMultipliable<D1, D1, R2, C2>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'a, 'b, N, D> Mul<&'b Point<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: AreMultipliable<D, D, D, U1>, 
[src]

[src]

impl<'a, 'b, N, D1, R2, C2, SB> Mul<&'b Matrix<N, R2, C2, SB>> for &'a Rotation<N, D1> where
    C2: Dim,
    D1: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    R2: Dim,
    SB: Storage<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, D1>,
    DefaultAllocator: Allocator<N, R2, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    DefaultAllocator: Allocator<N, D1, C2>,
    ShapeConstraint: AreMultipliable<D1, D1, R2, C2>, 
[src]

[src]

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

[src]

impl<N, D, C> Mul<Transform<N, D, C>> for Rotation<N, D> where
    C: TCategoryMul<TAffine>,
    D: DimNameAdd<U1>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, <D as DimNameAdd<U1>>::Output>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N, D> Mul<Point<N, D>> for Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: AreMultipliable<D, D, D, U1>, 
[src]

[src]

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

[src]

impl<'a, N, D> Mul<Point<N, D>> for &'a Rotation<N, D> where
    D: DimName,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N>,
    DefaultAllocator: Allocator<N, D, D>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    ShapeConstraint: AreMultipliable<D, D, D, U1>, 
[src]

[src]

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

[src]

Formats the value using the given formatter. Read more