Type Definition nalgebra::geometry::UnitQuaternion [] [src]

type UnitQuaternion<N> = Unit<Quaternion<N>>;

A unit quaternions. May be used to represent a rotation.

Methods

impl<N: Real> UnitQuaternion<N>
[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 below 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]

The rotation axis and angle in ]0, pi] of this unit quaternion.

Returns None if the angle is zero.

[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 Euler angles.

The angles are produced in the form (roll, yaw, pitch).

[src]

Converts this unit quaternion into its equivalent homogeneous transformation matrix.

impl<N: Real> UnitQuaternion<N>
[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]

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 has a magnitude smaller than N::default_epsilon(), this returns the identity rotation.

[src]

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

If axisangle has a magnitude smaller than eps, this returns the identity rotation.

[src]

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

If axisangle has a magnitude smaller than N::default_epsilon(), this returns the identity rotation. Same as Self::new(axisangle).

[src]

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

If axisangle has a magnitude smaller than eps, this returns the identity rotation. Same as Self::new(axisangle).

Trait Implementations

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

[src]

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

[src]

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

[src]

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

[src]

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

impl<N: Real + Display> Display for UnitQuaternion<N>
[src]

[src]

Formats the value using the given formatter. Read more

impl<N: Real + ApproxEq<Epsilon = N>> ApproxEq for UnitQuaternion<N>
[src]

Used for specifying relative comparisons.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

The inverse of ApproxEq::relative_eq.

[src]

The inverse of ApproxEq::ulps_eq.

impl<N: Real> One for UnitQuaternion<N>
[src]

[src]

Returns the multiplicative identity element of Self, 1. Read more

[src]

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

impl<N: Real + Rand> Rand for UnitQuaternion<N>
[src]

[src]

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

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

[src]

Performs the *= operation.

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

[src]

Performs the *= operation.

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

[src]

Performs the /= operation.

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

[src]

Performs the /= operation.

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

[src]

Performs the *= operation.

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

[src]

Performs the *= operation.

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

[src]

Performs the /= operation.

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

[src]

Performs the /= operation.

impl<N: Real> Identity<Multiplicative> for UnitQuaternion<N>
[src]

[src]

The identity element.

[src]

Specific identity.

impl<N: Real> AbstractMagma<Multiplicative> for UnitQuaternion<N>
[src]

[src]

Performs an operation.

[src]

Performs specific operation.

impl<N: Real> Inverse<Multiplicative> for UnitQuaternion<N>
[src]

[src]

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

[src]

In-place inversin of self.

impl<N: Real> AbstractSemigroup<Multiplicative> for UnitQuaternion<N>
[src]

[src]

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

[src]

Returns true if associativity holds for the given arguments.

impl<N: Real> AbstractQuasigroup<Multiplicative> for UnitQuaternion<N>
[src]

[src]

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

[src]

Returns true if latin squareness holds for the given arguments.

impl<N: Real> AbstractMonoid<Multiplicative> for UnitQuaternion<N>
[src]

[src]

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

[src]

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

impl<N: Real> AbstractLoop<Multiplicative> for UnitQuaternion<N>
[src]

impl<N: Real> AbstractGroup<Multiplicative> for UnitQuaternion<N>
[src]

impl<N: Real> Transformation<Point3<N>> for UnitQuaternion<N>
[src]

[src]

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

[src]

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

impl<N: Real> ProjectiveTransformation<Point3<N>> for UnitQuaternion<N>
[src]

[src]

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

[src]

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

impl<N: Real> AffineTransformation<Point3<N>> for UnitQuaternion<N>
[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.

[src]

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

[src]

Appends a translation to this similarity.

[src]

Prepends a translation to this similarity.

[src]

Appends a rotation to this similarity.

[src]

Prepends a rotation to this similarity.

[src]

Appends a scaling factor to this similarity.

[src]

Prepends a scaling factor to this similarity.

[src]

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

impl<N: Real> Similarity<Point3<N>> for UnitQuaternion<N>
[src]

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

[src]

The pure translational component of this similarity transformation.

[src]

The pure rotational component of this similarity transformation.

[src]

The pure scaling component of this similarity transformation.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

impl<N: Real> Isometry<Point3<N>> for UnitQuaternion<N>
[src]

impl<N: Real> DirectIsometry<Point3<N>> for UnitQuaternion<N>
[src]

impl<N: Real> OrthogonalTransformation<Point3<N>> for UnitQuaternion<N>
[src]

impl<N: Real> Rotation<Point3<N>> for UnitQuaternion<N>
[src]

[src]

Raises this rotation to a power. If this is a simple rotation, the result must be equivalent to multiplying the rotation angle by n. Read more

[src]

Computes a simple rotation that makes the angle between a and b equal to zero, i.e., b.angle(a * delta_rotation(a, b)) = 0. If a and b are collinear, the computed rotation may not be unique. Returns None if no such simple rotation exists in the subgroup represented by Self. Read more

[src]

Computes the rotation between a and b and raises it to the power n. Read more

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

[src]

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

[src]

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

[src]

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

[src]

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

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

[src]

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

[src]

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

[src]

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

[src]

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

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

[src]

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

[src]

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

[src]

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

[src]

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

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

[src]

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

[src]

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

[src]

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

[src]

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

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

[src]

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

[src]

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

[src]

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

[src]

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

impl<N1: Real, N2: Real + SupersetOf<N1>> SubsetOf<Matrix4<N2>> for UnitQuaternion<N1>
[src]

[src]

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

[src]

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

[src]

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

[src]

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

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

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

The resulting type after applying the / operator.

[src]

Performs the / operation.

impl<N, C: TCategory> MulAssign<UnitQuaternion<N>> for Transform<N, U3, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
    DefaultAllocator: Allocator<N, U4, U4> + Allocator<N, U4, U1>, 
[src]

[src]

Performs the *= operation.

impl<'b, N, C: TCategory> MulAssign<&'b UnitQuaternion<N>> for Transform<N, U3, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
    DefaultAllocator: Allocator<N, U4, U4> + Allocator<N, U4, U1>, 
[src]

[src]

Performs the *= operation.

impl<N, C: TCategory> DivAssign<UnitQuaternion<N>> for Transform<N, U3, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
    DefaultAllocator: Allocator<N, U4, U4> + Allocator<N, U4, U1>, 
[src]

[src]

Performs the /= operation.

impl<'b, N, C: TCategory> DivAssign<&'b UnitQuaternion<N>> for Transform<N, U3, C> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
    DefaultAllocator: Allocator<N, U4, U4> + Allocator<N, U4, U1>, 
[src]

[src]

Performs the /= operation.