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

#[repr(C)]
pub struct Unit<T> { /* fields omitted */ }

A wrapper that ensures the undelying algebraic entity has a unit norm.

Use .as_ref() or .unwrap() to obtain the undelying value by-reference or by-move.

Methods

impl<T> Unit<T> where
    T: NormedSpace, 
[src]

[src]

Normalize the given value and return it wrapped on a Unit structure.

[src]

Attempts to normalize the given value and return it wrapped on a Unit structure.

Returns None if the norm was smaller or equal to min_norm.

[src]

Normalize the given value and return it wrapped on a Unit structure and its norm.

[src]

Normalize the given value and return it wrapped on a Unit structure and its norm.

Returns None if the norm was smaller or equal to min_norm.

[src]

Normalizes this value again. This is useful when repeated computations might cause a drift in the norm because of float inaccuracies.

Returns the norm before re-normalization (should be close to 1.0).

impl<T> Unit<T>
[src]

[src]

Wraps the given value, assuming it is already normalized.

This function is not safe because value is not verified to be actually normalized.

[src]

Retrieves the underlying value.

[src]

Returns a mutable reference to the underlying value. This is _unchecked because modifying the underlying value in such a way that it no longer has unit length may lead to unexpected results.

impl<N> Unit<Quaternion<N>> where
    N: Real
[src]

[src]

Deprecated

: This method is a no-op and will be removed in a future release.

Moves this unit quaternion into one that owns its data.

[src]

Deprecated

: This method is a no-op and will be removed in a future release.

Clones this unit quaternion into one that owns its data.

[src]

The rotation angle in [0; pi] of this unit quaternion.

[src]

The underlying quaternion.

Same as self.as_ref().

[src]

Compute the conjugate of this unit quaternion.

[src]

Inverts this quaternion if it is not zero.

[src]

The rotation angle needed to make self and other coincide.

[src]

The unit quaternion needed to make self and other coincide.

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

[src]

Linear interpolation between two unit quaternions.

The result is not normalized.

[src]

Normalized linear interpolation between two unit quaternions.

[src]

Spherical linear interpolation between two unit quaternions.

Panics if the angle between both quaternion is 180 degrees (in which case the interpolation is not well-defined).

[src]

Computes the spherical linear interpolation between two unit quaternions or returns None if both quaternions are approximately 180 degrees apart (in which case the interpolation is not well-defined).

Arguments

  • self: the first quaternion to interpolate from.
  • other: the second quaternion to interpolate toward.
  • t: the interpolation parameter. Should be between 0 and 1.
  • epsilon: the value bellow which the sinus of the angle separating both quaternion must be to return None.

[src]

Compute the conjugate of this unit quaternion in-place.

[src]

Inverts this quaternion if it is not zero.

[src]

The rotation axis of this unit quaternion or None if the rotation is zero.

[src]

The rotation axis of this unit quaternion multiplied by the rotation agle.

[src]

Compute the exponential of a quaternion.

Note that this function yields a Quaternion<N> because it looses the unit property.

[src]

Compute the natural logarithm of a quaternion.

Note that this function yields a Quaternion<N> because it looses the unit property. The vector part of the return value corresponds to the axis-angle representation (divided by 2.0) of this unit quaternion.

[src]

Raise the quaternion to a given floating power.

This returns the unit quaternion that identifies a rotation with axis self.axis() and angle self.angle() × n.

[src]

Builds a rotation matrix from this unit quaternion.

[src]

Converts this unit quaternion into its equivalent homogeneous transformation matrix.

impl<N> Unit<Quaternion<N>> where
    N: Real
[src]

[src]

The quaternion multiplicative identity.

[src]

Creates a new quaternion from a unit vector (the rotation axis) and an angle (the rotation angle).

[src]

Creates a new unit quaternion from a quaternion.

The input quaternion will be normalized.

[src]

Creates a new unit quaternion from Euler angles.

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

[src]

Builds an unit quaternion from a rotation matrix.

[src]

The unit quaternion needed to make a and b be collinear and point toward the same direction.

[src]

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

[src]

Creates an unit quaternion 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]

Creates a new unit quaternion rotation from a rotation axis scaled by the rotation angle.

If axisangle is zero, this returns the indentity rotation.

[src]

Creates a new unit quaternion rotation from a rotation axis scaled by the rotation angle.

If axisangle is zero, this returns the indentity rotation. Same as Self::new(axisangle).

impl<N> Unit<Complex<N>> where
    N: Real
[src]

[src]

The rotation angle in ]-pi; pi] of this unit complex number.

[src]

The sine of the rotation angle.

[src]

The cosine of the rotation angle.

[src]

The rotation angle returned as a 1-dimensional vector.

[src]

The underlying complex number.

Same as self.as_ref().

[src]

Compute the conjugate of this unit complex number.

[src]

Inverts this complex number if it is not zero.

[src]

The rotation angle needed to make self and other coincide.

[src]

The unit complex number needed to make self and other coincide.

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

[src]

Compute in-place the conjugate of this unit complex number.

[src]

Inverts in-place this unit complex number.

[src]

Raise this unit complex number to a given floating power.

This returns the unit complex number that identifies a rotation angle equal to self.angle() × n.

[src]

Builds the rotation matrix corresponding to this unit complex number.

[src]

Converts this unit complex number into its equivalent homogeneous transformation matrix.

impl<N> Unit<Complex<N>> where
    N: Real
[src]

[src]

The unit complex number multiplicative identity.

[src]

Builds the unit complex number corresponding to the rotation with the angle.

[src]

Builds the unit complex number corresponding to the rotation with the angle.

Same as Self::new(angle).

[src]

Builds the unit complex number frow the sinus and cosinus of the rotation angle.

The input values are not checked.

[src]

Builds a unit complex rotation from an angle in radian wrapped in a 1-dimensional vector.

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

[src]

Creates a new unit complex number from a complex number.

The input complex number will be normalized.

[src]

Creates a new unit complex number from a complex number.

The input complex number will be normalized. Returns the complex number norm as well.

[src]

Builds the unit complex number from the corresponding 2D rotation matrix.

[src]

The unit complex needed to make a and b be collinear and point toward the same direction.

[src]

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

impl<N> Unit<Complex<N>> where
    N: Real
[src]

[src]

Performs the multiplication rhs = self * rhs in-place.

[src]

Performs the multiplication lhs = lhs * self in-place.

Trait Implementations

impl<T> Neg for Unit<T> where
    T: Neg
[src]

[src]

impl<N> Rand for Unit<Complex<N>> where
    N: Rand + Real
[src]

[src]

impl<N> Rand for Unit<Quaternion<N>> where
    N: Rand + Real
[src]

[src]

impl<T> Copy for Unit<T> where
    T: Copy
[src]

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

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<N> AbstractMonoid<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<N> AbstractMonoid<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

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

[src]

[src]

[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U2, C>> for Unit<Complex<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

[src]

[src]

[src]

impl<N1, N2> SubsetOf<Matrix<N2, U4, U4, <DefaultAllocator as Allocator<N2, U4, U4>>::Buffer>> for Unit<Quaternion<N1>> where
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<N1, N2> SubsetOf<Matrix<N2, U3, U3, <DefaultAllocator as Allocator<N2, U3, U3>>::Buffer>> for Unit<Complex<N1>> where
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<T> SubsetOf<T> for Unit<T> where
    T: NormedSpace,
    <T as VectorSpace>::Field: ApproxEq, 
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U3, C>> for Unit<Quaternion<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: Real,
    N2: Real + SupersetOf<N1>, 
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<N> Inverse<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

impl<N> Inverse<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

[src]

[src]

impl<N> ProjectiveTransformation<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

[src]

impl<N> ProjectiveTransformation<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

impl<N> Isometry<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

impl<N> Isometry<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> AffineTransformation<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<N> AffineTransformation<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<N> Transformation<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

impl<N> Transformation<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'b, N, C> Div<&'b Transform<N, U3, C>> for Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N, C> Div<Transform<N, U3, C>> for Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'a, 'b, N, C> Div<&'b Transform<N, U3, C>> for &'a Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N> Div<Unit<Complex<N>>> for Unit<Complex<N>> where
    N: Real
[src]

[src]

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

[src]

impl<'a, N, C> Div<Transform<N, U3, C>> for &'a Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

impl<N> AbstractSemigroup<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> AbstractSemigroup<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<N> AbstractLoop<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<N> AbstractLoop<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

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

[src]

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

[src]

impl<N> DivAssign<Unit<Complex<N>>> for Unit<Complex<N>> where
    N: Real
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N, R, C, S> ApproxEq for Unit<Matrix<N, R, C, S>> where
    C: Dim,
    N: Scalar + ApproxEq,
    R: Dim,
    S: Storage<N, R, C>,
    <N as ApproxEq>::Epsilon: Copy
[src]

[src]

[src]

[src]

[src]

[src]

impl<N> ApproxEq for Unit<Quaternion<N>> where
    N: ApproxEq<Epsilon = N> + Real
[src]

[src]

[src]

[src]

[src]

[src]

impl<N> ApproxEq for Unit<Complex<N>> where
    N: Real
[src]

[src]

[src]

[src]

[src]

[src]

impl<T> Hash for Unit<T> where
    T: 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> Similarity<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

[src]

[src]

impl<N> Similarity<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

[src]

impl<T> PartialEq<Unit<T>> for Unit<T> where
    T: PartialEq<T>, 
[src]

[src]

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

[src]

This method tests for !=.

impl<T> Debug for Unit<T> where
    T: Debug
[src]

[src]

Formats the value using the given formatter.

impl<N> Rotation<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

[src]

[src]

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

[src]

[src]

[src]

impl<N> DirectIsometry<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

impl<N> DirectIsometry<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> AbstractQuasigroup<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<N> AbstractQuasigroup<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> AbstractGroup<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> AbstractGroup<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<N> One for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

impl<N> One for Unit<Complex<N>> where
    N: Real
[src]

[src]

impl<N> Identity<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> Identity<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

impl<T> Eq for Unit<T> where
    T: Eq
[src]

impl<T> Deref for Unit<T>
[src]

[src]

impl<N> OrthogonalTransformation<Point<N, U3>> for Unit<Quaternion<N>> where
    N: Real
[src]

impl<N> OrthogonalTransformation<Point<N, U2>> for Unit<Complex<N>> where
    N: Real,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

impl<T> AsRef<T> for Unit<T>
[src]

[src]

Performs the conversion.

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

[src]

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

[src]

impl<N> MulAssign<Unit<Complex<N>>> for Unit<Complex<N>> where
    N: Real
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N> AbstractMagma<Multiplicative> for Unit<Complex<N>> where
    N: Real
[src]

[src]

impl<N> AbstractMagma<Multiplicative> for Unit<Quaternion<N>> where
    N: Real
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N, S> Mul<Unit<Matrix<N, U2, U1, S>>> for Unit<Complex<N>> where
    N: Real,
    S: Storage<N, U2, U1>,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N> Mul<Unit<Complex<N>>> for Unit<Complex<N>> where
    N: Real
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'a, 'b, N, C> Mul<&'b Transform<N, U3, C>> for &'a Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<'b, N, C> Mul<&'b Transform<N, U3, C>> for Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

impl<N, S> Mul<Matrix<N, U2, U1, S>> for Unit<Complex<N>> where
    N: Real,
    S: Storage<N, U2, U1>,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

[src]

impl<'a, N, C> Mul<Transform<N, U3, C>> for &'a Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N, C> Mul<Transform<N, U3, C>> for Unit<Quaternion<N>> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + Real,
    DefaultAllocator: Allocator<N, U4, U1>,
    DefaultAllocator: Allocator<N, U4, U4>,
    DefaultAllocator: Allocator<N, U4, U4>, 
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<N> Display for Unit<Complex<N>> where
    N: Display + Real
[src]

[src]

Formats the value using the given formatter. Read more

impl<N> Display for Unit<Quaternion<N>> where
    N: Display + Real
[src]

[src]

Formats the value using the given formatter. Read more