[−][src]Struct nalgebra::geometry::Rotation
A rotation matrix.
Methods
impl<N: Scalar, D: DimName> Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
pub fn matrix(&self) -> &MatrixN<N, D>
[src]
A reference to the underlying matrix representation of this rotation.
Example
let rot = Rotation3::from_axis_angle(&Vector3::z_axis(), f32::consts::FRAC_PI_6); let expected = Matrix3::new(0.8660254, -0.5, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 1.0); assert_eq!(*rot.matrix(), expected); let rot = Rotation2::new(f32::consts::FRAC_PI_6); let expected = Matrix2::new(0.8660254, -0.5, 0.5, 0.8660254); assert_eq!(*rot.matrix(), expected);
pub unsafe fn matrix_mut(&mut self) -> &mut MatrixN<N, D>
[src]
Use .matrix_mut_unchecked()
instead.
A mutable reference to the underlying matrix representation of this rotation.
pub fn matrix_mut_unchecked(&mut self) -> &mut MatrixN<N, D>
[src]
A mutable reference to the underlying matrix representation of this rotation.
This is suffixed by "_unchecked" 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.
pub fn into_inner(self) -> MatrixN<N, D>
[src]
Unwraps the underlying matrix.
Example
let rot = Rotation3::from_axis_angle(&Vector3::z_axis(), f32::consts::FRAC_PI_6); let mat = rot.into_inner(); let expected = Matrix3::new(0.8660254, -0.5, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 1.0); assert_eq!(mat, expected); let rot = Rotation2::new(f32::consts::FRAC_PI_6); let mat = rot.into_inner(); let expected = Matrix2::new(0.8660254, -0.5, 0.5, 0.8660254); assert_eq!(mat, expected);
pub fn unwrap(self) -> MatrixN<N, D>
[src]
use .into_inner()
instead
Unwraps the underlying matrix. Deprecated: Use [Rotation::into_inner] instead.
pub fn to_homogeneous(&self) -> MatrixN<N, DimNameSum<D, U1>> where
N: Zero + One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
N: Zero + One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
Converts this rotation into its equivalent homogeneous transformation matrix.
This is the same as self.into()
.
Example
let rot = Rotation3::from_axis_angle(&Vector3::z_axis(), f32::consts::FRAC_PI_6); let expected = Matrix4::new(0.8660254, -0.5, 0.0, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); assert_eq!(rot.to_homogeneous(), expected); let rot = Rotation2::new(f32::consts::FRAC_PI_6); let expected = Matrix3::new(0.8660254, -0.5, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 1.0); assert_eq!(rot.to_homogeneous(), expected);
pub fn from_matrix_unchecked(matrix: MatrixN<N, D>) -> Self
[src]
Creates a new rotation from the given square matrix.
The matrix squareness is checked but not its orthonormality.
Example
let mat = Matrix3::new(0.8660254, -0.5, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 1.0); let rot = Rotation3::from_matrix_unchecked(mat); assert_eq!(*rot.matrix(), mat); let mat = Matrix2::new(0.8660254, -0.5, 0.5, 0.8660254); let rot = Rotation2::from_matrix_unchecked(mat); assert_eq!(*rot.matrix(), mat);
pub fn transpose(&self) -> Self
[src]
Transposes self
.
Same as .inverse()
because the inverse of a rotation matrix is its transform.
Example
let rot = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); let tr_rot = rot.transpose(); assert_relative_eq!(rot * tr_rot, Rotation3::identity(), epsilon = 1.0e-6); assert_relative_eq!(tr_rot * rot, Rotation3::identity(), epsilon = 1.0e-6); let rot = Rotation2::new(1.2); let tr_rot = rot.transpose(); assert_relative_eq!(rot * tr_rot, Rotation2::identity(), epsilon = 1.0e-6); assert_relative_eq!(tr_rot * rot, Rotation2::identity(), epsilon = 1.0e-6);
pub fn inverse(&self) -> Self
[src]
Inverts self
.
Same as .transpose()
because the inverse of a rotation matrix is its transform.
Example
let rot = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); let inv = rot.inverse(); assert_relative_eq!(rot * inv, Rotation3::identity(), epsilon = 1.0e-6); assert_relative_eq!(inv * rot, Rotation3::identity(), epsilon = 1.0e-6); let rot = Rotation2::new(1.2); let inv = rot.inverse(); assert_relative_eq!(rot * inv, Rotation2::identity(), epsilon = 1.0e-6); assert_relative_eq!(inv * rot, Rotation2::identity(), epsilon = 1.0e-6);
pub fn transpose_mut(&mut self)
[src]
Transposes self
in-place.
Same as .inverse_mut()
because the inverse of a rotation matrix is its transform.
Example
let rot = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); let mut tr_rot = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); tr_rot.transpose_mut(); assert_relative_eq!(rot * tr_rot, Rotation3::identity(), epsilon = 1.0e-6); assert_relative_eq!(tr_rot * rot, Rotation3::identity(), epsilon = 1.0e-6); let rot = Rotation2::new(1.2); let mut tr_rot = Rotation2::new(1.2); tr_rot.transpose_mut(); assert_relative_eq!(rot * tr_rot, Rotation2::identity(), epsilon = 1.0e-6); assert_relative_eq!(tr_rot * rot, Rotation2::identity(), epsilon = 1.0e-6);
pub fn inverse_mut(&mut self)
[src]
Inverts self
in-place.
Same as .transpose_mut()
because the inverse of a rotation matrix is its transform.
Example
let rot = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); let mut inv = Rotation3::new(Vector3::new(1.0, 2.0, 3.0)); inv.inverse_mut(); assert_relative_eq!(rot * inv, Rotation3::identity(), epsilon = 1.0e-6); assert_relative_eq!(inv * rot, Rotation3::identity(), epsilon = 1.0e-6); let rot = Rotation2::new(1.2); let mut inv = Rotation2::new(1.2); inv.inverse_mut(); assert_relative_eq!(rot * inv, Rotation2::identity(), epsilon = 1.0e-6); assert_relative_eq!(inv * rot, Rotation2::identity(), epsilon = 1.0e-6);
impl<N: RealField, D: DimName> Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
pub fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
Rotate the given point.
This is the same as the multiplication self * pt
.
Example
let rot = Rotation3::new(Vector3::y() * f32::consts::FRAC_PI_2); let transformed_point = rot.transform_point(&Point3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Point3::new(3.0, 2.0, -1.0), epsilon = 1.0e-6);
pub fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
Rotate the given vector.
This is the same as the multiplication self * v
.
Example
let rot = Rotation3::new(Vector3::y() * f32::consts::FRAC_PI_2); let transformed_vector = rot.transform_vector(&Vector3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_vector, Vector3::new(3.0, 2.0, -1.0), epsilon = 1.0e-6);
pub fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
Rotate the given point by the inverse of this rotation. This may be cheaper than inverting the rotation and then transforming the given point.
Example
let rot = Rotation3::new(Vector3::y() * f32::consts::FRAC_PI_2); let transformed_point = rot.inverse_transform_point(&Point3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Point3::new(-3.0, 2.0, 1.0), epsilon = 1.0e-6);
pub fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
Rotate the given vector by the inverse of this rotation. This may be cheaper than inverting the rotation and then transforming the given vector.
Example
let rot = Rotation3::new(Vector3::y() * f32::consts::FRAC_PI_2); let transformed_vector = rot.inverse_transform_vector(&Vector3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_vector, Vector3::new(-3.0, 2.0, 1.0), epsilon = 1.0e-6);
impl<N, D: DimName> Rotation<N, D> where
N: Scalar + Zero + One,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One,
DefaultAllocator: Allocator<N, D, D>,
pub fn identity() -> Rotation<N, D>
[src]
Creates a new square identity rotation of the given dimension
.
Example
let rot1 = Quaternion::identity(); let rot2 = Quaternion::new(1.0, 2.0, 3.0, 4.0); assert_eq!(rot1 * rot2, rot2); assert_eq!(rot2 * rot1, rot2);
Trait Implementations
impl<N: Scalar + Eq, D: DimName> Eq for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: Scalar, D: DimName> Clone for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Clone,
[src]
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Clone,
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: Scalar + PartialEq, D: DimName> PartialEq<Rotation<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: RealField> From<Rotation<N, U2>> for Matrix3<N>
[src]
impl<N: RealField> From<Rotation<N, U2>> for Matrix2<N>
[src]
impl<N: RealField> From<Rotation<N, U3>> for Matrix4<N>
[src]
impl<N: RealField> From<Rotation<N, U3>> for Matrix3<N>
[src]
impl<N: RealField> From<Rotation<N, U3>> for UnitQuaternion<N>
[src]
impl<N: RealField> From<Rotation<N, U2>> for UnitComplex<N>
[src]
impl<N: Scalar, D: DimName> Copy for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Copy,
[src]
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Copy,
impl<N: Scalar + Hash, D: DimName + Hash> Hash for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Hash,
[src]
DefaultAllocator: Allocator<N, D, D>,
<DefaultAllocator as Allocator<N, D, D>>::Buffer: Hash,
fn hash<H: Hasher>(&self, state: &mut H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<N, D: DimName> Mul<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'a, N, D: DimName> Mul<Rotation<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'b, N, D: DimName> Mul<&'b Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimName> Mul<&'b Rotation<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<N, D1: DimName, R2: Dim, C2: Dim, SB: Storage<N, R2, C2>> Mul<Matrix<N, R2, C2, SB>> for Rotation<N, D1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
type Output = MatrixMN<N, D1, C2>
The resulting type after applying the *
operator.
fn mul(self, right: Matrix<N, R2, C2, SB>) -> Self::Output
[src]
impl<'a, N, D1: DimName, R2: Dim, C2: Dim, SB: Storage<N, R2, C2>> Mul<Matrix<N, R2, C2, SB>> for &'a Rotation<N, D1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
type Output = MatrixMN<N, D1, C2>
The resulting type after applying the *
operator.
fn mul(self, right: Matrix<N, R2, C2, SB>) -> Self::Output
[src]
impl<'b, N, D1: DimName, R2: Dim, C2: Dim, SB: Storage<N, R2, C2>> Mul<&'b Matrix<N, R2, C2, SB>> for Rotation<N, D1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
type Output = MatrixMN<N, D1, C2>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Matrix<N, R2, C2, SB>) -> Self::Output
[src]
impl<'a, 'b, N, D1: DimName, R2: Dim, C2: Dim, SB: Storage<N, R2, C2>> Mul<&'b Matrix<N, R2, C2, SB>> for &'a Rotation<N, D1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D1, D1> + Allocator<N, R2, C2> + Allocator<N, D1, C2>,
DefaultAllocator: Allocator<N, D1, C2>,
ShapeConstraint: AreMultipliable<D1, D1, R2, C2>,
type Output = MatrixMN<N, D1, C2>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Matrix<N, R2, C2, SB>) -> Self::Output
[src]
impl<N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Rotation<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D2>) -> Self::Output
[src]
impl<'a, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Rotation<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D2>) -> Self::Output
[src]
impl<'b, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Rotation<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D2>) -> Self::Output
[src]
impl<'a, 'b, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Rotation<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D2>) -> Self::Output
[src]
impl<N, D: DimName> Mul<Point<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
impl<N, D: DimName, S: Storage<N, D>> Mul<Unit<Matrix<N, D, U1, S>>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Unit<VectorN<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Unit<Vector<N, D, S>>) -> Self::Output
[src]
impl<'a, N, D: DimName, S: Storage<N, D>> Mul<Unit<Matrix<N, D, U1, S>>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Unit<VectorN<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Unit<Vector<N, D, S>>) -> Self::Output
[src]
impl<'b, N, D: DimName, S: Storage<N, D>> Mul<&'b Unit<Matrix<N, D, U1, S>>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Unit<VectorN<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Unit<Vector<N, D, S>>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimName, S: Storage<N, D>> Mul<&'b Unit<Matrix<N, D, U1, S>>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
type Output = Unit<VectorN<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Unit<Vector<N, D, S>>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Mul<&'b Rotation<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, U3>) -> Self::Output
[src]
impl<'a, N: RealField> Mul<Rotation<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, U3>) -> Self::Output
[src]
impl<'b, N: RealField> Mul<&'b Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, U3>) -> Self::Output
[src]
impl<N: RealField> Mul<Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, U3>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Mul<&'b Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, N: RealField> Mul<Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'b, N: RealField> Mul<&'b Unit<Quaternion<N>>> for Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<N: RealField> Mul<Unit<Quaternion<N>>> for Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<N: RealField> Mul<Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, U2>) -> Self::Output
[src]
impl<'a, N: RealField> Mul<Rotation<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, U2>) -> Self::Output
[src]
impl<'b, N: RealField> Mul<&'b Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, U2>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Mul<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, U2>) -> Self::Output
[src]
impl<N: RealField> Mul<Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'a, N: RealField> Mul<Unit<Complex<N>>> for &'a Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: RealField> Mul<&'b Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Mul<&'b Unit<Complex<N>>> for &'a Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Mul<Translation<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Translation<N, D>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Mul<Translation<N, D>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Translation<N, D>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Mul<&'b Translation<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Translation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Translation<N, D>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Translation<N, D>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Mul<Rotation<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Mul<Rotation<N, D>> for &'a Translation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Mul<&'b Rotation<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Rotation<N, D>> for &'a Translation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Mul<Similarity<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Mul<Similarity<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Mul<&'b Similarity<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Mul<&'b Similarity<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, D>) -> Self::Output
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Rotation<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: Rotation<N, D>) -> Self::Output
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Rotation<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Rotation<N, D>) -> Self::Output
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Transform<N, D, C>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: Transform<N, D, C>) -> Self::Output
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<Transform<N, D, C>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: Transform<N, D, C>) -> Self::Output
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Transform<N, D, C>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Transform<N, D, C>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Mul<&'b Transform<N, D, C>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Transform<N, D, C>) -> Self::Output
[src]
impl<N, D: DimName> Div<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the /
operator.
fn div(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'a, N, D: DimName> Div<Rotation<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the /
operator.
fn div(self, right: Rotation<N, D>) -> Self::Output
[src]
impl<'b, N, D: DimName> Div<&'b Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the /
operator.
fn div(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimName> Div<&'b Rotation<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
type Output = Rotation<N, D>
The resulting type after applying the /
operator.
fn div(self, right: &'b Rotation<N, D>) -> Self::Output
[src]
impl<N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Div<Rotation<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the /
operator.
fn div(self, right: Rotation<N, D2>) -> Self::Output
[src]
impl<'a, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Div<Rotation<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the /
operator.
fn div(self, right: Rotation<N, D2>) -> Self::Output
[src]
impl<'b, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Div<&'b Rotation<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the /
operator.
fn div(self, right: &'b Rotation<N, D2>) -> Self::Output
[src]
impl<'a, 'b, N, R1: Dim, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Div<&'b Rotation<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, D2> + Allocator<N, R1, D2>,
DefaultAllocator: Allocator<N, R1, D2>,
ShapeConstraint: AreMultipliable<R1, C1, D2, D2>,
type Output = MatrixMN<N, R1, D2>
The resulting type after applying the /
operator.
fn div(self, right: &'b Rotation<N, D2>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Div<&'b Rotation<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, U3>) -> Self::Output
[src]
impl<'a, N: RealField> Div<Rotation<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, U3>) -> Self::Output
[src]
impl<'b, N: RealField> Div<&'b Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, U3>) -> Self::Output
[src]
impl<N: RealField> Div<Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, U3>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Div<&'b Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, N: RealField> Div<Unit<Quaternion<N>>> for &'a Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'b, N: RealField> Div<&'b Unit<Quaternion<N>>> for Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<N: RealField> Div<Unit<Quaternion<N>>> for Rotation<N, U3> where
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
[src]
DefaultAllocator: Allocator<N, U3, U3> + Allocator<N, U4, U1>,
type Output = UnitQuaternion<N>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<N: RealField> Div<Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, U2>) -> Self::Output
[src]
impl<'a, N: RealField> Div<Rotation<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, U2>) -> Self::Output
[src]
impl<'b, N: RealField> Div<&'b Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, U2>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Div<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, U2>) -> Self::Output
[src]
impl<N: RealField> Div<Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'a, N: RealField> Div<Unit<Complex<N>>> for &'a Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: RealField> Div<&'b Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: RealField> Div<&'b Unit<Complex<N>>> for &'a Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Isometry<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Isometry<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<N: RealField, D: DimName> Div<Similarity<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, N: RealField, D: DimName> Div<Similarity<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'b, N: RealField, D: DimName> Div<&'b Similarity<N, D, Rotation<N, D>>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<'a, 'b, N: RealField, D: DimName> Div<&'b Similarity<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
type Output = Similarity<N, D, Rotation<N, D>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Similarity<N, D, Rotation<N, D>>) -> Self::Output
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, D>) -> Self::Output
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Rotation<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: Rotation<N, D>) -> Self::Output
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, D>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Rotation<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, D>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Rotation<N, D>) -> Self::Output
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Transform<N, D, C>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: Transform<N, D, C>) -> Self::Output
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<Transform<N, D, C>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: Transform<N, D, C>) -> Self::Output
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Transform<N, D, C>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Transform<N, D, C>) -> Self::Output
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>> Div<&'b Transform<N, D, C>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
type Output = Transform<N, D, C::Representative>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Transform<N, D, C>) -> Self::Output
[src]
impl<N, D: DimName> MulAssign<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
fn mul_assign(&mut self, right: Rotation<N, D>)
[src]
impl<'b, N, D: DimName> MulAssign<&'b Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
fn mul_assign(&mut self, right: &'b Rotation<N, D>)
[src]
impl<N, R1: DimName, C1: DimName> MulAssign<Rotation<N, C1>> for MatrixMN<N, R1, C1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
fn mul_assign(&mut self, right: Rotation<N, C1>)
[src]
impl<'b, N, R1: DimName, C1: DimName> MulAssign<&'b Rotation<N, C1>> for MatrixMN<N, R1, C1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
fn mul_assign(&mut self, right: &'b Rotation<N, C1>)
[src]
impl<'b, N: RealField> MulAssign<&'b Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
fn mul_assign(&mut self, rhs: &'b Rotation<N, U3>)
[src]
impl<N: RealField> MulAssign<Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
fn mul_assign(&mut self, rhs: Rotation<N, U3>)
[src]
impl<N: RealField> MulAssign<Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn mul_assign(&mut self, rhs: Rotation<N, U2>)
[src]
impl<'b, N: RealField> MulAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn mul_assign(&mut self, rhs: &'b Rotation<N, U2>)
[src]
impl<N: RealField> MulAssign<Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn mul_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<'b, N: RealField> MulAssign<&'b Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn mul_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<N, D: DimNameAdd<U1>, C: TCategory> MulAssign<Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
fn mul_assign(&mut self, rhs: Rotation<N, D>)
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategory> MulAssign<&'b Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
fn mul_assign(&mut self, rhs: &'b Rotation<N, D>)
[src]
impl<N, D: DimName> DivAssign<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
fn div_assign(&mut self, right: Rotation<N, D>)
[src]
impl<'b, N, D: DimName> DivAssign<&'b Rotation<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
fn div_assign(&mut self, right: &'b Rotation<N, D>)
[src]
impl<N, R1: DimName, C1: DimName> DivAssign<Rotation<N, C1>> for MatrixMN<N, R1, C1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
fn div_assign(&mut self, right: Rotation<N, C1>)
[src]
impl<'b, N, R1: DimName, C1: DimName> DivAssign<&'b Rotation<N, C1>> for MatrixMN<N, R1, C1> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, C1, C1>,
fn div_assign(&mut self, right: &'b Rotation<N, C1>)
[src]
impl<'b, N: RealField> DivAssign<&'b Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
fn div_assign(&mut self, rhs: &'b Rotation<N, U3>)
[src]
impl<N: RealField> DivAssign<Rotation<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
[src]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U3>,
fn div_assign(&mut self, rhs: Rotation<N, U3>)
[src]
impl<N: RealField> DivAssign<Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn div_assign(&mut self, rhs: Rotation<N, U2>)
[src]
impl<'b, N: RealField> DivAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn div_assign(&mut self, rhs: &'b Rotation<N, U2>)
[src]
impl<N: RealField> DivAssign<Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn div_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<'b, N: RealField> DivAssign<&'b Unit<Complex<N>>> for Rotation<N, U2> where
DefaultAllocator: Allocator<N, U2, U2>,
[src]
DefaultAllocator: Allocator<N, U2, U2>,
fn div_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<N, D: DimNameAdd<U1>, C: TCategory> DivAssign<Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
fn div_assign(&mut self, rhs: Rotation<N, D>)
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategory> DivAssign<&'b Rotation<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, D>,
fn div_assign(&mut self, rhs: &'b Rotation<N, D>)
[src]
impl<N: Scalar, D: DimName> Index<(usize, usize)> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
type Output = N
The returned type after indexing.
fn index(&self, row_col: (usize, usize)) -> &N
[src]
impl<N: Debug + Scalar, D: Debug + DimName> Debug for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N, D: DimName> Display for Rotation<N, D> where
N: RealField + Display,
DefaultAllocator: Allocator<N, D, D> + Allocator<usize, D, D>,
[src]
N: RealField + Display,
DefaultAllocator: Allocator<N, D, D> + Allocator<usize, D, D>,
impl<N, D: DimName> AbsDiffEq<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + AbsDiffEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
[src]
N: Scalar + AbsDiffEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
type Epsilon = N::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
impl<N, D: DimName> RelativeEq<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + RelativeEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
[src]
N: Scalar + RelativeEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<N, D: DimName> UlpsEq<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + UlpsEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
[src]
N: Scalar + UlpsEq,
DefaultAllocator: Allocator<N, D, D>,
N::Epsilon: Copy,
fn default_max_ulps() -> u32
[src]
fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool
[src]
fn ulps_ne(&self, other: &Rhs, epsilon: Self::Epsilon, max_ulps: u32) -> bool
[src]
impl<N, D: DimName> One for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
[src]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D>,
fn one() -> Self
[src]
fn set_one(&mut self)
[src]
fn is_one(&self) -> bool where
Self: PartialEq<Self>,
[src]
Self: PartialEq<Self>,
impl<N: RealField> Distribution<Rotation<N, U2>> for Standard where
OpenClosed01: Distribution<N>,
[src]
OpenClosed01: Distribution<N>,
fn sample<'a, R: Rng + ?Sized>(&self, rng: &'a mut R) -> Rotation2<N>
[src]
Generate a uniformly distributed random rotation.
fn sample_iter<R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
R: Rng,
[src]
R: Rng,
impl<N: RealField> Distribution<Rotation<N, U3>> for Standard where
OpenClosed01: Distribution<N>,
[src]
OpenClosed01: Distribution<N>,
fn sample<'a, R: Rng + ?Sized>(&self, rng: &mut R) -> Rotation3<N>
[src]
Generate a uniformly distributed random rotation.
fn sample_iter<R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
R: Rng,
[src]
R: Rng,
impl<N: RealField, D: DimName> AbstractMagma<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: RealField, D: DimName> AbstractQuasigroup<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
fn prop_inv_is_latin_square_approx(args: (Self, Self)) -> bool where
Self: RelativeEq<Self>,
[src]
Self: RelativeEq<Self>,
fn prop_inv_is_latin_square(args: (Self, Self)) -> bool where
Self: Eq,
[src]
Self: Eq,
impl<N: RealField, D: DimName> AbstractSemigroup<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool where
Self: RelativeEq<Self>,
[src]
Self: RelativeEq<Self>,
fn prop_is_associative(args: (Self, Self, Self)) -> bool where
Self: Eq,
[src]
Self: Eq,
impl<N: RealField, D: DimName> AbstractLoop<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: RealField, D: DimName> AbstractMonoid<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
fn prop_operating_identity_element_is_noop_approx(args: (Self,)) -> bool where
Self: RelativeEq<Self>,
[src]
Self: RelativeEq<Self>,
fn prop_operating_identity_element_is_noop(args: (Self,)) -> bool where
Self: Eq,
[src]
Self: Eq,
impl<N: RealField, D: DimName> AbstractGroup<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: RealField, D: DimName> Identity<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
impl<N: RealField, D: DimName> TwoSidedInverse<Multiplicative> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D>,
[src]
DefaultAllocator: Allocator<N, D, D>,
fn two_sided_inverse(&self) -> Self
[src]
fn two_sided_inverse_mut(&mut self)
[src]
impl<N1, N2, D: DimName> SubsetOf<Rotation<N2, D>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D>,
fn to_superset(&self) -> Rotation<N2, D>
[src]
fn is_in_subset(rot: &Rotation<N2, D>) -> bool
[src]
unsafe fn from_superset_unchecked(rot: &Rotation<N2, D>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AlgaRotation<Point<N2, D>> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AlgaRotation<Point<N2, D>> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
fn to_superset(&self) -> Isometry<N2, D, R>
[src]
fn is_in_subset(iso: &Isometry<N2, D, R>) -> bool
[src]
unsafe fn from_superset_unchecked(iso: &Isometry<N2, D, R>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D: DimName, R> SubsetOf<Similarity<N2, D, R>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AlgaRotation<Point<N2, D>> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AlgaRotation<Point<N2, D>> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
fn to_superset(&self) -> Similarity<N2, D, R>
[src]
fn is_in_subset(sim: &Similarity<N2, D, R>) -> bool
[src]
unsafe fn from_superset_unchecked(sim: &Similarity<N2, D, R>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D>,
fn to_superset(&self) -> Transform<N2, D, C>
[src]
fn is_in_subset(t: &Transform<N2, D, C>) -> bool
[src]
unsafe fn from_superset_unchecked(t: &Transform<N2, D, C>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[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
N1: RealField,
N2: RealField + SupersetOf<N1>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D>,
fn to_superset(&self) -> MatrixN<N2, DimNameSum<D, U1>>
[src]
fn is_in_subset(m: &MatrixN<N2, DimNameSum<D, U1>>) -> bool
[src]
unsafe fn from_superset_unchecked(m: &MatrixN<N2, DimNameSum<D, U1>>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2> SubsetOf<Rotation<N2, U3>> for UnitQuaternion<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
fn to_superset(&self) -> Rotation3<N2>
[src]
fn is_in_subset(rot: &Rotation3<N2>) -> bool
[src]
unsafe fn from_superset_unchecked(rot: &Rotation3<N2>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2> SubsetOf<Rotation<N2, U2>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]
N1: RealField,
N2: RealField + SupersetOf<N1>,
fn to_superset(&self) -> Rotation2<N2>
[src]
fn is_in_subset(rot: &Rotation2<N2>) -> bool
[src]
unsafe fn from_superset_unchecked(rot: &Rotation2<N2>) -> Self
[src]
fn from_superset(element: &T) -> Option<Self>
[src]
impl<N: RealField, D: DimName> ProjectiveTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField, D: DimName> Rotation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
Subgroups of the n-dimensional rotation group SO(n)
.
fn powf(&self, _: N) -> Option<Self>
[src]
fn rotation_between(_: &VectorN<N, D>, _: &VectorN<N, D>) -> Option<Self>
[src]
fn scaled_rotation_between(
_: &VectorN<N, D>,
_: &VectorN<N, D>,
_: N
) -> Option<Self>
[src]
_: &VectorN<N, D>,
_: &VectorN<N, D>,
_: N
) -> Option<Self>
impl<N: RealField, D: DimName> Transformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField, D: DimName> DirectIsometry<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> OrthogonalTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> Similarity<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Id
[src]
fn rotation(&self) -> Self
[src]
fn scaling(&self) -> Id
[src]
fn translate_point(&self, pt: &E) -> E
[src]
fn rotate_point(&self, pt: &E) -> E
[src]
fn scale_point(&self, pt: &E) -> E
[src]
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_translate_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_point(&self, pt: &E) -> E
[src]
fn inverse_scale_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<N: RealField, D: DimName> AffineTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
type Rotation = Self
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Id
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Id, Self, Id, Self)
[src]
fn append_translation(&self, _: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, _: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn append_rotation_wrt_point(&self, r: &Self::Rotation, p: &E) -> Option<Self>
[src]
impl<N: RealField, D: DimName> Isometry<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
Auto Trait Implementations
impl<N, D> !Send for Rotation<N, D>
impl<N, D> !Unpin for Rotation<N, D>
impl<N, D> !Sync for Rotation<N, D>
impl<N, D> !UnwindSafe for Rotation<N, D>
impl<N, D> !RefUnwindSafe for Rotation<N, D>
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T> MultiplicativeMagma for T where
T: AbstractMagma<Multiplicative>,
[src]
T: AbstractMagma<Multiplicative>,
impl<T> MultiplicativeQuasigroup for T where
T: AbstractQuasigroup<Multiplicative> + ClosedDiv<T> + MultiplicativeMagma,
[src]
T: AbstractQuasigroup<Multiplicative> + ClosedDiv<T> + MultiplicativeMagma,
impl<T> MultiplicativeLoop for T where
T: AbstractLoop<Multiplicative> + MultiplicativeQuasigroup + One,
[src]
T: AbstractLoop<Multiplicative> + MultiplicativeQuasigroup + One,
impl<T> MultiplicativeSemigroup for T where
T: AbstractSemigroup<Multiplicative> + ClosedMul<T> + MultiplicativeMagma,
[src]
T: AbstractSemigroup<Multiplicative> + ClosedMul<T> + MultiplicativeMagma,
impl<T> MultiplicativeMonoid for T where
T: AbstractMonoid<Multiplicative> + MultiplicativeSemigroup + One,
[src]
T: AbstractMonoid<Multiplicative> + MultiplicativeSemigroup + One,
impl<T> MultiplicativeGroup for T where
T: AbstractGroup<Multiplicative> + MultiplicativeLoop + MultiplicativeMonoid,
[src]
T: AbstractGroup<Multiplicative> + MultiplicativeLoop + MultiplicativeMonoid,
impl<R, E> ProjectiveTransformation<E> for R where
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
[src]
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
fn inverse_transform_point(&self, pt: &E) -> E
[src]
fn inverse_transform_vector(
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<R, E> Transformation<E> for R where
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
[src]
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
fn transform_point(&self, pt: &E) -> E
[src]
fn transform_vector(
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<R, E> Similarity<E> for R where
E: EuclideanSpace<RealField = R>,
R: RealField + SubsetOf<R>,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
[src]
E: EuclideanSpace<RealField = R>,
R: RealField + SubsetOf<R>,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
type Scaling = R
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> <R as AffineTransformation<E>>::Translation
[src]
fn rotation(&self) -> <R as AffineTransformation<E>>::Rotation
[src]
fn scaling(&self) -> <R as Similarity<E>>::Scaling
[src]
fn translate_point(&self, pt: &E) -> E
[src]
fn rotate_point(&self, pt: &E) -> E
[src]
fn scale_point(&self, pt: &E) -> E
[src]
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_translate_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_point(&self, pt: &E) -> E
[src]
fn inverse_scale_point(&self, pt: &E) -> E
[src]
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<R, E> AffineTransformation<E> for R where
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
[src]
E: EuclideanSpace<RealField = R>,
R: RealField,
<E as EuclideanSpace>::Coordinates: ClosedMul<R>,
<E as EuclideanSpace>::Coordinates: ClosedDiv<R>,
<E as EuclideanSpace>::Coordinates: ClosedNeg,
type Rotation = Id<Multiplicative>
Type of the first rotation to be applied.
type NonUniformScaling = R
Type of the non-uniform scaling to be applied.
type Translation = Id<Multiplicative>
The type of the pure translation part of this affine transformation.
fn decompose(
&self
) -> (Id<Multiplicative>, Id<Multiplicative>, R, Id<Multiplicative>)
[src]
&self
) -> (Id<Multiplicative>, Id<Multiplicative>, R, Id<Multiplicative>)
fn append_translation(&self, &<R as AffineTransformation<E>>::Translation) -> R
[src]
fn prepend_translation(&self, &<R as AffineTransformation<E>>::Translation) -> R
[src]
fn append_rotation(&self, &<R as AffineTransformation<E>>::Rotation) -> R
[src]
fn prepend_rotation(&self, &<R as AffineTransformation<E>>::Rotation) -> R
[src]
fn append_scaling(
&self,
s: &<R as AffineTransformation<E>>::NonUniformScaling
) -> R
[src]
&self,
s: &<R as AffineTransformation<E>>::NonUniformScaling
) -> R
fn prepend_scaling(
&self,
s: &<R as AffineTransformation<E>>::NonUniformScaling
) -> R
[src]
&self,
s: &<R as AffineTransformation<E>>::NonUniformScaling
) -> R