[][src]Struct nalgebra::geometry::Isometry

#[repr(C)]pub struct Isometry<N: Scalar, D: DimName, R> where
    DefaultAllocator: Allocator<N, D>, 
{ pub rotation: R, pub translation: Translation<N, D>, }

A direct isometry, i.e., a rotation followed by a translation, aka. a rigid-body motion, aka. an element of a Special Euclidean (SE) group.

Fields

rotation: R

The pure rotational part of this isometry.

translation: Translation<N, D>

The pure translational part of this isometry.

Implementations

impl<N: Scalar, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn from_parts(translation: Translation<N, D>, rotation: R) -> Self[src]

Creates a new isometry from its rotational and translational parts.

Example

let tra = Translation3::new(0.0, 0.0, 3.0);
let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::PI);
let iso = Isometry3::from_parts(tra, rot);

assert_relative_eq!(iso * Point3::new(1.0, 2.0, 3.0), Point3::new(-1.0, 2.0, 0.0), epsilon = 1.0e-6);

impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D>, 
[src]

#[must_use = "Did you mean to use inverse_mut()?"]pub fn inverse(&self) -> Self[src]

Inverts self.

Example

let iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);
let inv = iso.inverse();
let pt = Point2::new(1.0, 2.0);

assert_eq!(inv * (iso * pt), pt);

pub fn inverse_mut(&mut self)[src]

Inverts self in-place.

Example

let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);
let pt = Point2::new(1.0, 2.0);
let transformed_pt = iso * pt;
iso.inverse_mut();

assert_eq!(iso * transformed_pt, pt);

pub fn append_translation_mut(&mut self, t: &Translation<N, D>)[src]

Appends to self the given translation in-place.

Example

let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);
let tra = Translation2::new(3.0, 4.0);
// Same as `iso = tra * iso`.
iso.append_translation_mut(&tra);

assert_eq!(iso.translation, Translation2::new(4.0, 6.0));

pub fn append_rotation_mut(&mut self, r: &R)[src]

Appends to self the given rotation in-place.

Example

let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::PI / 6.0);
let rot = UnitComplex::new(f32::consts::PI / 2.0);
// Same as `iso = rot * iso`.
iso.append_rotation_mut(&rot);

assert_relative_eq!(iso, Isometry2::new(Vector2::new(-2.0, 1.0), f32::consts::PI * 2.0 / 3.0), epsilon = 1.0e-6);

pub fn append_rotation_wrt_point_mut(&mut self, r: &R, p: &Point<N, D>)[src]

Appends in-place to self a rotation centered at the point p, i.e., the rotation that lets p invariant.

Example

let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);
let rot = UnitComplex::new(f32::consts::FRAC_PI_2);
let pt = Point2::new(1.0, 0.0);
iso.append_rotation_wrt_point_mut(&rot, &pt);

assert_relative_eq!(iso * pt, Point2::new(-2.0, 0.0), epsilon = 1.0e-6);

pub fn append_rotation_wrt_center_mut(&mut self, r: &R)[src]

Appends in-place to self a rotation centered at the point with coordinates self.translation.

Example

let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);
let rot = UnitComplex::new(f32::consts::FRAC_PI_2);
iso.append_rotation_wrt_center_mut(&rot);

// The translation part should not have changed.
assert_eq!(iso.translation.vector, Vector2::new(1.0, 2.0));
assert_eq!(iso.rotation, UnitComplex::new(f32::consts::PI));

pub fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>[src]

Transform the given point by this isometry.

This is the same as the multiplication self * pt.

Example

let tra = Translation3::new(0.0, 0.0, 3.0);
let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2);
let iso = Isometry3::from_parts(tra, rot);

let transformed_point = iso.transform_point(&Point3::new(1.0, 2.0, 3.0));
assert_relative_eq!(transformed_point, Point3::new(3.0, 2.0, 2.0), epsilon = 1.0e-6);

pub fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>[src]

Transform the given vector by this isometry, ignoring the translation component of the isometry.

This is the same as the multiplication self * v.

Example

let tra = Translation3::new(0.0, 0.0, 3.0);
let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2);
let iso = Isometry3::from_parts(tra, rot);

let transformed_point = iso.transform_vector(&Vector3::new(1.0, 2.0, 3.0));
assert_relative_eq!(transformed_point, 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]

Transform the given point by the inverse of this isometry. This may be less expensive than computing the entire isometry inverse and then transforming the point.

Example

let tra = Translation3::new(0.0, 0.0, 3.0);
let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2);
let iso = Isometry3::from_parts(tra, rot);

let transformed_point = iso.inverse_transform_point(&Point3::new(1.0, 2.0, 3.0));
assert_relative_eq!(transformed_point, Point3::new(0.0, 2.0, 1.0), epsilon = 1.0e-6);

pub fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>[src]

Transform the given vector by the inverse of this isometry, ignoring the translation component of the isometry. This may be less expensive than computing the entire isometry inverse and then transforming the point.

Example

let tra = Translation3::new(0.0, 0.0, 3.0);
let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2);
let iso = Isometry3::from_parts(tra, rot);

let transformed_point = iso.inverse_transform_vector(&Vector3::new(1.0, 2.0, 3.0));
assert_relative_eq!(transformed_point, Vector3::new(-3.0, 2.0, 1.0), epsilon = 1.0e-6);

impl<N: SimdRealField, D: DimName, R> Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn to_homogeneous(&self) -> MatrixN<N, DimNameSum<D, U1>> where
    D: DimNameAdd<U1>,
    R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>, 
[src]

Converts this isometry into its equivalent homogeneous transformation matrix.

Example

let iso = Isometry2::new(Vector2::new(10.0, 20.0), f32::consts::FRAC_PI_6);
let expected = Matrix3::new(0.8660254, -0.5,      10.0,
                            0.5,       0.8660254, 20.0,
                            0.0,       0.0,       1.0);

assert_relative_eq!(iso.to_homogeneous(), expected, epsilon = 1.0e-6);

impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D>, 
[src]

pub fn identity() -> Self[src]

Creates a new identity isometry.

Example


let iso = Isometry2::identity();
let pt = Point2::new(1.0, 2.0);
assert_eq!(iso * pt, pt);

let iso = Isometry3::identity();
let pt = Point3::new(1.0, 2.0, 3.0);
assert_eq!(iso * pt, pt);

pub fn rotation_wrt_point(r: R, p: Point<N, D>) -> Self[src]

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

Example

let rot = UnitComplex::new(f32::consts::PI);
let pt = Point2::new(1.0, 0.0);
let iso = Isometry2::rotation_wrt_point(rot, pt);

assert_eq!(iso * pt, pt); // The rotation center is not affected.
assert_relative_eq!(iso * Point2::new(1.0, 2.0), Point2::new(1.0, -2.0), epsilon = 1.0e-6);

impl<N: SimdRealField> Isometry<N, U2, Rotation2<N>> where
    N::Element: SimdRealField
[src]

pub fn new(translation: Vector2<N>, angle: N) -> Self[src]

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

Its rotational part is represented as a 2x2 rotation matrix.

Example

let iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);

assert_eq!(iso * Point2::new(3.0, 4.0), Point2::new(-3.0, 5.0));

pub fn translation(x: N, y: N) -> Self[src]

Creates a new isometry from the given translation coordinates.

pub fn rotation(angle: N) -> Self[src]

Creates a new isometry from the given rotation angle.

impl<N: SimdRealField> Isometry<N, U2, UnitComplex<N>> where
    N::Element: SimdRealField
[src]

pub fn new(translation: Vector2<N>, angle: N) -> Self[src]

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

Its rotational part is represented as an unit complex number.

Example

let iso = IsometryMatrix2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2);

assert_eq!(iso * Point2::new(3.0, 4.0), Point2::new(-3.0, 5.0));

pub fn translation(x: N, y: N) -> Self[src]

Creates a new isometry from the given translation coordinates.

pub fn rotation(angle: N) -> Self[src]

Creates a new isometry from the given rotation angle.

impl<N: SimdRealField> Isometry<N, U3, Rotation3<N>> where
    N::Element: SimdRealField
[src]

pub fn new(translation: Vector3<N>, axisangle: Vector3<N>) -> Self[src]

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

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
// Point and vector being transformed in the tests.
let pt = Point3::new(4.0, 5.0, 6.0);
let vec = Vector3::new(4.0, 5.0, 6.0);

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::new(translation, axisangle);
assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6);
assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);

// Isometry with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::new(translation, axisangle);
assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6);
assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);

pub fn translation(x: N, y: N, z: N) -> Self[src]

Creates a new isometry from the given translation coordinates.

pub fn rotation(axisangle: Vector3<N>) -> Self[src]

Creates a new isometry from the given rotation angle.

pub fn face_towards(
    eye: &Point3<N>,
    target: &Point3<N>,
    up: &Vector3<N>
) -> Self
[src]

Creates an isometry that corresponds to the local frame of an observer standing at the point eye and looking toward target.

It maps the z axis to the view direction target - eyeand the origin to the eye.

Arguments

  • eye - The observer position.
  • target - The target position.
  • up - Vertical direction. The only requirement of this parameter is to not be collinear to eye - at. Non-collinearity is not checked.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::face_towards(&eye, &target, &up);
assert_eq!(iso * Point3::origin(), eye);
assert_relative_eq!(iso * Vector3::z(), Vector3::x());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::face_towards(&eye, &target, &up);
assert_eq!(iso * Point3::origin(), eye);
assert_relative_eq!(iso * Vector3::z(), Vector3::x());

pub fn new_observer_frame(
    eye: &Point3<N>,
    target: &Point3<N>,
    up: &Vector3<N>
) -> Self
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use Isometry::face_towards instead.

pub fn look_at_rh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self[src]

Builds a right-handed look-at view matrix.

It maps the view direction target - eye to the negative z axis to and the eye to the origin. This conforms to the common notion of right handed camera look-at view matrix from the computer graphics community, i.e. the camera is assumed to look toward its local -z axis.

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.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::look_at_rh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), -Vector3::z());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::look_at_rh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), -Vector3::z());

pub fn look_at_lh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self[src]

Builds a left-handed look-at view matrix.

It maps the view direction target - eye to the positive z axis and the eye to the origin. This conforms to the common notion of right handed camera look-at view matrix from the computer graphics community, i.e. the camera is assumed to look toward its local z axis.

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.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::look_at_lh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), Vector3::z());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::look_at_lh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), Vector3::z());

impl<N: SimdRealField> Isometry<N, U3, UnitQuaternion<N>> where
    N::Element: SimdRealField
[src]

pub fn new(translation: Vector3<N>, axisangle: Vector3<N>) -> Self[src]

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

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
// Point and vector being transformed in the tests.
let pt = Point3::new(4.0, 5.0, 6.0);
let vec = Vector3::new(4.0, 5.0, 6.0);

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::new(translation, axisangle);
assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6);
assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);

// Isometry with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::new(translation, axisangle);
assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6);
assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);

pub fn translation(x: N, y: N, z: N) -> Self[src]

Creates a new isometry from the given translation coordinates.

pub fn rotation(axisangle: Vector3<N>) -> Self[src]

Creates a new isometry from the given rotation angle.

pub fn face_towards(
    eye: &Point3<N>,
    target: &Point3<N>,
    up: &Vector3<N>
) -> Self
[src]

Creates an isometry that corresponds to the local frame of an observer standing at the point eye and looking toward target.

It maps the z axis to the view direction target - eyeand the origin to the eye.

Arguments

  • eye - The observer position.
  • target - The target position.
  • up - Vertical direction. The only requirement of this parameter is to not be collinear to eye - at. Non-collinearity is not checked.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::face_towards(&eye, &target, &up);
assert_eq!(iso * Point3::origin(), eye);
assert_relative_eq!(iso * Vector3::z(), Vector3::x());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::face_towards(&eye, &target, &up);
assert_eq!(iso * Point3::origin(), eye);
assert_relative_eq!(iso * Vector3::z(), Vector3::x());

pub fn new_observer_frame(
    eye: &Point3<N>,
    target: &Point3<N>,
    up: &Vector3<N>
) -> Self
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use Isometry::face_towards instead.

pub fn look_at_rh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self[src]

Builds a right-handed look-at view matrix.

It maps the view direction target - eye to the negative z axis to and the eye to the origin. This conforms to the common notion of right handed camera look-at view matrix from the computer graphics community, i.e. the camera is assumed to look toward its local -z axis.

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.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::look_at_rh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), -Vector3::z());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::look_at_rh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), -Vector3::z());

pub fn look_at_lh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self[src]

Builds a left-handed look-at view matrix.

It maps the view direction target - eye to the positive z axis and the eye to the origin. This conforms to the common notion of right handed camera look-at view matrix from the computer graphics community, i.e. the camera is assumed to look toward its local z axis.

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.

Example

let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();

// Isometry with its rotation part represented as a UnitQuaternion
let iso = Isometry3::look_at_lh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), Vector3::z());

// Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = IsometryMatrix3::look_at_lh(&eye, &target, &up);
assert_eq!(iso * eye, Point3::origin());
assert_relative_eq!(iso * Vector3::x(), Vector3::z());

Trait Implementations

impl<N: RealField, D: DimName, R> AbsDiffEq<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AbstractRotation<N, D> + AbsDiffEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

type Epsilon = N::Epsilon

Used for specifying relative comparisons.

impl<N: Scalar, D: DimName, R: AbstractRotation<N, D> + Clone> Clone for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar + Copy, D: DimName + Copy, R: AbstractRotation<N, D> + Copy> Copy for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Copy
[src]

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

impl<N: RealField + Display, D: DimName, R> Display for Isometry<N, D, R> where
    R: Display,
    DefaultAllocator: Allocator<N, D> + Allocator<usize, D>, 
[src]

impl<N: RealField, D: DimName, R> Distribution<Isometry<N, D, R>> for Standard where
    R: AbstractRotation<N, D>,
    Standard: Distribution<N> + Distribution<R>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the / operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the / operator.

impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the / operator.

impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the / operator.

impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the / operator.

impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the / operator.

impl<N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<'a, N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

impl<N: SimdRealField> Div<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the / operator.

impl<'a, N: SimdRealField> Div<Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U1>, 
[src]

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the / operator.

impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

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

impl<'b, N> DivAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

impl<'b, N> DivAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U3, U3>, 
[src]

impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

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

impl<N> DivAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

impl<N> DivAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U3, U3>, 
[src]

impl<N: SimdRealField, D: DimName, R> Eq for Isometry<N, D, R> where
    R: AbstractRotation<N, D> + Eq,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 16]> for Isometry<N, D, R> where
    N: From<[<N as SimdValue>::Element; 16]>,
    R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 16]>,
    R::Element: AbstractRotation<N::Element, D>,
    N::Element: Scalar + Copy,
    R::Element: Scalar + Copy,
    DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>, 
[src]

impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 2]> for Isometry<N, D, R> where
    N: From<[<N as SimdValue>::Element; 2]>,
    R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 2]>,
    R::Element: AbstractRotation<N::Element, D>,
    N::Element: Scalar + Copy,
    R::Element: Scalar + Copy,
    DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>, 
[src]

impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 4]> for Isometry<N, D, R> where
    N: From<[<N as SimdValue>::Element; 4]>,
    R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 4]>,
    R::Element: AbstractRotation<N::Element, D>,
    N::Element: Scalar + Copy,
    R::Element: Scalar + Copy,
    DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>, 
[src]

impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 8]> for Isometry<N, D, R> where
    N: From<[<N as SimdValue>::Element; 8]>,
    R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 8]>,
    R::Element: AbstractRotation<N::Element, D>,
    N::Element: Scalar + Copy,
    R::Element: Scalar + Copy,
    DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>, 
[src]

impl<N: SimdRealField, D: DimName, R> From<Isometry<N, D, R>> for MatrixN<N, DimNameSum<D, U1>> where
    D: DimNameAdd<U1>,
    R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
    DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D>, 
[src]

impl<N: Scalar + Hash, D: DimName + Hash, R: Hash> Hash for Isometry<N, D, R> where
    DefaultAllocator: Allocator<N, D>,
    Owned<N, D>: Hash
[src]

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Translation<N, D> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Translation<N, D> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> 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, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> 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, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = VectorN<N, D>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = VectorN<N, D>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for Isometry<N, D, R> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for &'a Isometry<N, D, R> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Unit<VectorN<N, D>>

The resulting type after applying the * operator.

impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Unit<VectorN<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Translation<N, D> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Translation<N, D> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> 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, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> 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, U1> + Allocator<N, DimNameSum<D, U1>, U1>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = VectorN<N, D>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = VectorN<N, D>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Point<N, D>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, D, Rotation<N, D>>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for Isometry<N, D, R> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for &'a Isometry<N, D, R> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>, 
[src]

type Output = Transform<N, D, C::Representative>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Isometry<N, D, R>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U2, UnitComplex<N>>

The resulting type after applying the * operator.

impl<N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Unit<VectorN<N, D>>

The resulting type after applying the * operator.

impl<'a, N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

type Output = Unit<VectorN<N, D>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

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

type Output = Isometry<N, U3, UnitQuaternion<N>>

The resulting type after applying the * operator.

impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<&'b Isometry<N, D, R>> 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, U1>, 
[src]

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

impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Translation<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<'b, N> MulAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

impl<'b, N> MulAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U3, U3>, 
[src]

impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<Isometry<N, D, R>> 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, U1>, 
[src]

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

impl<N: SimdRealField, D: DimName, R> MulAssign<Translation<N, D>> for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N> MulAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U2, U2>, 
[src]

impl<N> MulAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
    N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, U3, U3>, 
[src]

impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> One for Isometry<N, D, R> where
    N::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D>, 
[src]

fn one() -> Self[src]

Creates a new identity isometry.

impl<N: SimdRealField, D: DimName, R> PartialEq<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AbstractRotation<N, D> + PartialEq,
    DefaultAllocator: Allocator<N, D>, 
[src]

impl<N: RealField, D: DimName, R> RelativeEq<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AbstractRotation<N, D> + RelativeEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

impl<N: SimdRealField, D: DimName, R> SimdValue for Isometry<N, D, R> where
    N::Element: SimdRealField,
    R: SimdValue<SimdBool = N::SimdBool> + AbstractRotation<N, D>,
    R::Element: AbstractRotation<N::Element, D>,
    DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>, 
[src]

type Element = Isometry<N::Element, D, R::Element>

The type of the elements of each lane of this SIMD value.

type SimdBool = N::SimdBool

Type of the result of comparing two SIMD values like self.

impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: AbstractRotation<N2, D> + SupersetOf<Self>,
    DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D: DimName, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    R2: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: AbstractRotation<N2, U2> + SupersetOf<Self>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for UnitQuaternion<N1> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: AbstractRotation<N2, U3> + SupersetOf<Self>, 
[src]

impl<N1, N2, D, R> 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 Isometry<N1, D, R> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D: DimName, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    R2: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>, 
[src]

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    C: SuperTCategoryOf<TAffine>,
    R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>, 
[src]

impl<N: RealField, D: DimName, R> UlpsEq<Isometry<N, D, R>> for Isometry<N, D, R> where
    R: AbstractRotation<N, D> + UlpsEq<Epsilon = N::Epsilon>,
    DefaultAllocator: Allocator<N, D>,
    N::Epsilon: Copy
[src]

Auto Trait Implementations

impl<N, D, R> !RefUnwindSafe for Isometry<N, D, R>

impl<N, D, R> !Send for Isometry<N, D, R>

impl<N, D, R> !Sync for Isometry<N, D, R>

impl<N, D, R> !Unpin for Isometry<N, D, R>

impl<N, D, R> !UnwindSafe for Isometry<N, D, R>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, Right> ClosedDiv<Right> for T where
    T: Div<Right, Output = T> + DivAssign<Right>, 
[src]

impl<T, Right> ClosedMul<Right> for T where
    T: Mul<Right, Output = T> + MulAssign<Right>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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]

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,