Struct rin::math::geometry::Similarity[][src]

#[repr(C)]
pub struct Similarity<N, D, R> where
    N: Scalar,
    D: DimName,
    DefaultAllocator: Allocator<N, D, U1>, 
{ pub isometry: Isometry<N, D, R>, // some fields omitted }

A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.

Fields

isometry: Isometry<N, D, R>

The part of this similarity that does not include the scaling factor.

Implementations

impl<N, D, R> Similarity<N, D, R> where
    N: Scalar + Zero,
    D: DimName,
    R: AbstractRotation<N, D>,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

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

Creates a new similarity from its rotational and translational parts.

pub fn from_isometry(
    isometry: Isometry<N, D, R>,
    scaling: N
) -> Similarity<N, D, R>
[src]

Creates a new similarity from its rotational and translational parts.

pub fn set_scaling(&mut self, scaling: N)[src]

The scaling factor of this similarity transformation.

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

pub fn scaling(&self) -> N[src]

The scaling factor of this similarity transformation.

impl<N, D, R> Similarity<N, D, R> where
    N: SimdRealField,
    D: DimName,
    R: AbstractRotation<N, D>,
    <N as SimdValue>::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

pub fn from_scaling(scaling: N) -> Similarity<N, D, R>[src]

Creates a new similarity that applies only a scaling factor.

#[must_use = "Did you mean to use inverse_mut()?"]
pub fn inverse(&self) -> Similarity<N, D, R>
[src]

Inverts self.

pub fn inverse_mut(&mut self)[src]

Inverts self in-place.

#[must_use = "Did you mean to use prepend_scaling_mut()?"]
pub fn prepend_scaling(&self, scaling: N) -> Similarity<N, D, R>
[src]

The similarity transformation that applies a scaling factor scaling before self.

#[must_use = "Did you mean to use append_scaling_mut()?"]
pub fn append_scaling(&self, scaling: N) -> Similarity<N, D, R>
[src]

The similarity transformation that applies a scaling factor scaling after self.

pub fn prepend_scaling_mut(&mut self, scaling: N)[src]

Sets self to the similarity transformation that applies a scaling factor scaling before self.

pub fn append_scaling_mut(&mut self, scaling: N)[src]

Sets self to the similarity transformation that applies a scaling factor scaling after self.

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

Appends to self the given translation in-place.

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

Appends to self the given rotation in-place.

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.

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.

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

Transform the given point by this similarity.

This is the same as the multiplication self * pt.

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
let sim = Similarity3::new(translation, axisangle, 3.0);
let transformed_point = sim.transform_point(&Point3::new(4.0, 5.0, 6.0));
assert_relative_eq!(transformed_point, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);

pub fn transform_vector(
    &self,
    v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
[src]

Transform the given vector by this similarity, ignoring the translational component.

This is the same as the multiplication self * t.

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
let sim = Similarity3::new(translation, axisangle, 3.0);
let transformed_vector = sim.transform_vector(&Vector3::new(4.0, 5.0, 6.0));
assert_relative_eq!(transformed_vector, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);

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

Transform the given point by the inverse of this similarity. This may be cheaper than inverting the similarity and then transforming the given point.

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
let sim = Similarity3::new(translation, axisangle, 2.0);
let transformed_point = sim.inverse_transform_point(&Point3::new(4.0, 5.0, 6.0));
assert_relative_eq!(transformed_point, Point3::new(-1.5, 1.5, 1.5), epsilon = 1.0e-5);

pub fn inverse_transform_vector(
    &self,
    v: &Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
[src]

Transform the given vector by the inverse of this similarity, ignoring the translational component. This may be cheaper than inverting the similarity and then transforming the given vector.

Example

let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
let sim = Similarity3::new(translation, axisangle, 2.0);
let transformed_vector = sim.inverse_transform_vector(&Vector3::new(4.0, 5.0, 6.0));
assert_relative_eq!(transformed_vector, Vector3::new(-3.0, 2.5, 2.0), epsilon = 1.0e-5);

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

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

Converts this similarity into its equivalent homogeneous transformation matrix.

impl<N, D, R> Similarity<N, D, R> where
    N: SimdRealField,
    D: DimName,
    R: AbstractRotation<N, D>,
    <N as SimdValue>::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

pub fn identity() -> Similarity<N, D, R>[src]

Creates a new identity similarity.

Example


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

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

impl<N, D, R> Similarity<N, D, R> where
    N: SimdRealField,
    D: DimName,
    R: AbstractRotation<N, D>,
    <N as SimdValue>::Element: SimdRealField,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

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

The similarity that applies the scaling factor scaling, followed by the rotation r with its axis passing through the point p.

Example

let rot = UnitComplex::new(f32::consts::FRAC_PI_2);
let pt = Point2::new(3.0, 2.0);
let sim = Similarity2::rotation_wrt_point(rot, pt, 4.0);

assert_relative_eq!(sim * Point2::new(1.0, 2.0), Point2::new(-3.0, 3.0), epsilon = 1.0e-6);

impl<N> Similarity<N, U2, Rotation<N, U2>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

pub fn new(
    translation: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
    angle: N,
    scaling: N
) -> Similarity<N, U2, Rotation<N, U2>>
[src]

Creates a new similarity from a translation, a rotation, and an uniform scaling factor.

Example

let sim = SimilarityMatrix2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2, 3.0);

assert_relative_eq!(sim * Point2::new(2.0, 4.0), Point2::new(-11.0, 8.0), epsilon = 1.0e-6);

impl<N> Similarity<N, U2, Unit<Complex<N>>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

pub fn new(
    translation: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
    angle: N,
    scaling: N
) -> Similarity<N, U2, Unit<Complex<N>>>
[src]

Creates a new similarity from a translation and a rotation angle.

Example

let sim = Similarity2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2, 3.0);

assert_relative_eq!(sim * Point2::new(2.0, 4.0), Point2::new(-11.0, 8.0), epsilon = 1.0e-6);

impl<N> Similarity<N, U3, Rotation<N, U3>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

pub fn new(
    translation: Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    axisangle: Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Rotation<N, U3>>
[src]

Creates a new similarity from a translation, rotation axis-angle, and scaling factor.

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);

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);

// Similarity with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);

pub fn face_towards(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Rotation<N, U3>>
[src]

Creates an similarity that corresponds to a scaling factor and a local frame of an observer standing at the point eye and looking toward target.

It maps the view direction target - eye to the positive z axis and 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();

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);

pub fn new_observer_frames(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Rotation<N, U3>>
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use [SimilarityMatrix3::face_towards] instead.

pub fn look_at_rh(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Rotation<N, U3>>
[src]

Builds a right-handed look-at view matrix including scaling factor.

This conforms to the common notion of right handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

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();

// Similarity with its rotation part represented as a UnitQuaternion
let iso = Similarity3::look_at_rh(&eye, &target, &up, 3.0);
assert_relative_eq!(iso * Vector3::x(), -Vector3::z() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = SimilarityMatrix3::look_at_rh(&eye, &target, &up, 3.0);
assert_relative_eq!(iso * Vector3::x(), -Vector3::z() * 3.0, epsilon = 1.0e-6);

pub fn look_at_lh(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Rotation<N, U3>>
[src]

Builds a left-handed look-at view matrix including a scaling factor.

This conforms to the common notion of left handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

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();

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);

impl<N> Similarity<N, U3, Unit<Quaternion<N>>> where
    N: SimdRealField,
    <N as SimdValue>::Element: SimdRealField
[src]

pub fn new(
    translation: Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    axisangle: Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Unit<Quaternion<N>>>
[src]

Creates a new similarity from a translation, rotation axis-angle, and scaling factor.

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);

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);

// Similarity with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);

pub fn face_towards(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Unit<Quaternion<N>>>
[src]

Creates an similarity that corresponds to a scaling factor and a local frame of an observer standing at the point eye and looking toward target.

It maps the view direction target - eye to the positive z axis and 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();

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);

pub fn new_observer_frames(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Unit<Quaternion<N>>>
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use [SimilarityMatrix3::face_towards] instead.

pub fn look_at_rh(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Unit<Quaternion<N>>>
[src]

Builds a right-handed look-at view matrix including scaling factor.

This conforms to the common notion of right handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

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();

// Similarity with its rotation part represented as a UnitQuaternion
let iso = Similarity3::look_at_rh(&eye, &target, &up, 3.0);
assert_relative_eq!(iso * Vector3::x(), -Vector3::z() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let iso = SimilarityMatrix3::look_at_rh(&eye, &target, &up, 3.0);
assert_relative_eq!(iso * Vector3::x(), -Vector3::z() * 3.0, epsilon = 1.0e-6);

pub fn look_at_lh(
    eye: &Point<N, U3>,
    target: &Point<N, U3>,
    up: &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>,
    scaling: N
) -> Similarity<N, U3, Unit<Quaternion<N>>>
[src]

Builds a left-handed look-at view matrix including a scaling factor.

This conforms to the common notion of left handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

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();

// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);

// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);

Trait Implementations

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

type Epsilon = <N as AbsDiffEq<N>>::Epsilon

Used for specifying relative comparisons.

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

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

impl<'de, N, D, R> Deserialize<'de> for Similarity<N, D, R> where
    N: Scalar + Deserialize<'de>,
    D: DimName,
    R: Deserialize<'de>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    <DefaultAllocator as Allocator<N, D, U1>>::Buffer: Deserialize<'de>, 
[src]

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

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

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

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the / operator.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<N, D, R> From<Similarity<N, D, R>> for Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer> where
    N: SimdRealField,
    D: DimName + DimNameAdd<U1>,
    R: SubsetOf<Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>, 
[src]

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

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>

The resulting type after applying the * operator.

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

type Output = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>

The resulting type after applying the * operator.

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

type Output = Point<N, D>

The resulting type after applying the * operator.

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

type Output = Point<N, D>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>

The resulting type after applying the * operator.

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

type Output = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>

The resulting type after applying the * operator.

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

type Output = Point<N, D>

The resulting type after applying the * operator.

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

type Output = Point<N, D>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

impl<N, D, C, R> Mul<Similarity<N, D, R>> for Transform<N, D, C> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + RealField,
    D: DimNameAdd<U1>,
    R: SubsetOf<Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, U1>, 
[src]

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

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

The resulting type after applying the * operator.

impl<N, D, C, R> Mul<Transform<N, D, C>> for Similarity<N, D, R> where
    C: TCategoryMul<TAffine>,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + RealField,
    D: DimNameAdd<U1>,
    R: SubsetOf<Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, <D as DimNameAdd<U1>>::Output>, 
[src]

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

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, D, R>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U2, Unit<Complex<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

type Output = Similarity<N, U3, Unit<Quaternion<N>>>

The resulting type after applying the * operator.

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

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

impl<'b, N, D, C, R> MulAssign<&'b Similarity<N, D, R>> for Transform<N, D, C> where
    C: TCategory,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + RealField,
    D: DimNameAdd<U1>,
    R: SubsetOf<Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

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

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

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

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

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

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

impl<N, D, C, R> MulAssign<Similarity<N, D, R>> for Transform<N, D, C> where
    C: TCategory,
    N: Scalar + Zero + One + ClosedAdd<N> + ClosedMul<N> + RealField,
    D: DimNameAdd<U1>,
    R: SubsetOf<Matrix<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N, D, U1>, 
[src]

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

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

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

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

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

pub fn one() -> Similarity<N, D, R>[src]

Creates a new identity similarity.

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

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

impl<N, D, R> Serialize for Similarity<N, D, R> where
    N: Scalar + Serialize,
    D: DimName,
    R: Serialize,
    DefaultAllocator: Allocator<N, D, U1>,
    DefaultAllocator: Allocator<N, D, U1>,
    <DefaultAllocator as Allocator<N, D, U1>>::Buffer: Serialize
[src]

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

type Element = Similarity<<N as SimdValue>::Element, D, <R as SimdValue>::Element>

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

type SimdBool = <N as SimdValue>::SimdBool

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

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

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

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

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

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

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

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

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Similarity<N1, D, R> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + 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>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

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

impl<N, D, R> Copy for Similarity<N, D, R> where
    N: Scalar + Copy + Zero,
    D: DimName + Copy,
    R: AbstractRotation<N, D> + Copy,
    DefaultAllocator: Allocator<N, D, U1>,
    <DefaultAllocator as Allocator<N, D, U1>>::Buffer: Copy
[src]

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

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

impl<T> Any for T where
    T: Any
[src]

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

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

impl<T> Downcast for T where
    T: Any
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

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<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>, 
[src]

impl<T, Right> ClosedDiv<Right> for T where
    T: Div<Right, Output = T> + DivAssign<Right>, 
[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, Right> ClosedMul<Right> for T where
    T: Mul<Right, Output = T> + MulAssign<Right>, 
[src]