Struct nalgebra::geometry::Similarity[][src]

#[repr(C)]
pub struct Similarity<T: Scalar, R, const D: usize> { pub isometry: Isometry<T, R, D>, // some fields omitted }
Expand description

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

Fields

isometry: Isometry<T, R, D>

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

Implementations

impl<T: Scalar + Zero, R, const D: usize> Similarity<T, R, D> where
    R: AbstractRotation<T, D>, 
[src]

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

Creates a new similarity from its rotational and translational parts.

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

Creates a new similarity from its rotational and translational parts.

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

The scaling factor of this similarity transformation.

impl<T: Scalar, R, const D: usize> Similarity<T, R, D>[src]

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

The scaling factor of this similarity transformation.

impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

pub fn from_scaling(scaling: T) -> Self[src]

Creates a new similarity that applies only a scaling factor.

#[must_use = "Did you mean to use inverse_mut()?"]
pub fn inverse(&self) -> Self
[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: T) -> Self
[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: T) -> Self
[src]

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

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

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

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

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

pub fn append_translation_mut(&mut self, t: &Translation<T, 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<T, 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<T, D>) -> Point<T, 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: &SVector<T, D>) -> SVector<T, D>[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<T, D>) -> Point<T, 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: &SVector<T, D>) -> SVector<T, D>[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<T: SimdRealField, R, const D: usize> Similarity<T, R, D>[src]

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

Converts this similarity into its equivalent homogeneous transformation matrix.

impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

pub fn identity() -> Self[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<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

pub fn rotation_wrt_point(r: R, p: Point<T, D>, scaling: T) -> Self[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<T: SimdRealField> Similarity<T, Rotation2<T>, 2> where
    T::Element: SimdRealField
[src]

pub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self[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);

pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation2<To>, 2> where
    Similarity<To, Rotation2<To>, 2>: SupersetOf<Self>, 
[src]

Cast the components of self to another type.

Example

let sim = SimilarityMatrix2::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, SimilarityMatrix2::<f32>::identity());

impl<T: SimdRealField> Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

pub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self[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);

pub fn cast<To: Scalar>(self) -> Similarity<To, UnitComplex<To>, 2> where
    Similarity<To, UnitComplex<To>, 2>: SupersetOf<Self>, 
[src]

Cast the components of self to another type.

Example

let sim = Similarity2::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity2::<f32>::identity());

impl<T: SimdRealField> Similarity<T, Rotation3<T>, 3> where
    T::Element: SimdRealField
[src]

pub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self[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 cast<To: Scalar>(self) -> Similarity<To, Rotation3<To>, 3> where
    Similarity<To, Rotation3<To>, 3>: SupersetOf<Self>, 
[src]

Cast the components of self to another type.

Example

let sim = Similarity3::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity3::<f32>::identity());

pub fn face_towards(
    eye: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use [SimilarityMatrix3::face_towards] instead.

pub fn look_at_rh(
    eye: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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<T: SimdRealField> Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

pub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self[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 cast<To: Scalar>(self) -> Similarity<To, UnitQuaternion<To>, 3> where
    Similarity<To, UnitQuaternion<To>, 3>: SupersetOf<Self>, 
[src]

Cast the components of self to another type.

Example

let sim = Similarity3::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity3::<f32>::identity());

pub fn face_towards(
    eye: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[src]

👎 Deprecated:

renamed to face_towards

Deprecated: Use [SimilarityMatrix3::face_towards] instead.

pub fn look_at_rh(
    eye: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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: &Point3<T>,
    target: &Point3<T>,
    up: &Vector3<T>,
    scaling: T
) -> Self
[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<T: RealField, R, const D: usize> AbsDiffEq<Similarity<T, R, D>> for Similarity<T, R, D> where
    R: AbstractRotation<T, D> + AbsDiffEq<Epsilon = T::Epsilon>,
    T::Epsilon: Copy
[src]

type Epsilon = T::Epsilon

Used for specifying relative comparisons.

fn default_epsilon() -> Self::Epsilon[src]

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

fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool[src]

A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more

fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool[src]

The inverse of AbsDiffEq::abs_diff_eq.

impl<T: Scalar + Zero, R: AbstractRotation<T, D> + Clone, const D: usize> Clone for Similarity<T, R, D>[src]

fn clone(&self) -> Self[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<T: Debug + Scalar, R: Debug, const D: usize> Debug for Similarity<T, R, D>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<T, R, const D: usize> Display for Similarity<T, R, D> where
    T: RealField + Display,
    R: AbstractRotation<T, D> + Display
[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Isometry<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Isometry<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, rhs: &'b Rotation<T, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, rhs: &'b Rotation<T, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, right: &'b Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, right: &'b Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the / operator.

fn div(self, rhs: &'b UnitComplex<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the / operator.

fn div(self, rhs: &'b UnitComplex<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Isometry<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Isometry<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField, const D: usize> Div<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, rhs: Rotation<T, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField, const D: usize> Div<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, rhs: Rotation<T, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the / operator.

fn div(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, right: Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the / operator.

fn div(self, right: Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField> Div<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the / operator.

fn div(self, rhs: UnitComplex<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField> Div<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the / operator.

fn div(self, rhs: UnitComplex<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<T: SimdRealField> Div<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, rhs: UnitQuaternion<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'a, T: SimdRealField> Div<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the / operator.

fn div(self, rhs: UnitQuaternion<T>) -> Self::Output[src]

Performs the / operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn div_assign(&mut self, rhs: &'b Isometry<T, R, D>)[src]

Performs the /= operation. Read more

impl<'b, T, const D: usize> DivAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: &'b Rotation<T, D>)[src]

Performs the /= operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn div_assign(&mut self, rhs: &'b Similarity<T, R, D>)[src]

Performs the /= operation. Read more

impl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: &'b UnitComplex<T>)[src]

Performs the /= operation. Read more

impl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: &'b UnitQuaternion<T>)[src]

Performs the /= operation. Read more

impl<T: SimdRealField, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn div_assign(&mut self, rhs: Isometry<T, R, D>)[src]

Performs the /= operation. Read more

impl<T, const D: usize> DivAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: Rotation<T, D>)[src]

Performs the /= operation. Read more

impl<T: SimdRealField, R, const D: usize> DivAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn div_assign(&mut self, rhs: Similarity<T, R, D>)[src]

Performs the /= operation. Read more

impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: UnitComplex<T>)[src]

Performs the /= operation. Read more

impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn div_assign(&mut self, rhs: UnitQuaternion<T>)[src]

Performs the /= operation. Read more

impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16]> for Similarity<T, R, D> where
    T: From<[<T as SimdValue>::Element; 16]>,
    R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 16]>,
    R::Element: AbstractRotation<T::Element, D>,
    T::Element: Scalar + Zero + Copy,
    R::Element: Scalar + Zero + Copy
[src]

fn from(arr: [Similarity<T::Element, R::Element, D>; 16]) -> Self[src]

Performs the conversion.

impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2]> for Similarity<T, R, D> where
    T: From<[<T as SimdValue>::Element; 2]>,
    R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 2]>,
    R::Element: AbstractRotation<T::Element, D>,
    T::Element: Scalar + Zero + Copy,
    R::Element: Scalar + Zero + Copy
[src]

fn from(arr: [Similarity<T::Element, R::Element, D>; 2]) -> Self[src]

Performs the conversion.

impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4]> for Similarity<T, R, D> where
    T: From<[<T as SimdValue>::Element; 4]>,
    R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 4]>,
    R::Element: AbstractRotation<T::Element, D>,
    T::Element: Scalar + Zero + Copy,
    R::Element: Scalar + Zero + Copy
[src]

fn from(arr: [Similarity<T::Element, R::Element, D>; 4]) -> Self[src]

Performs the conversion.

impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8]> for Similarity<T, R, D> where
    T: From<[<T as SimdValue>::Element; 8]>,
    R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 8]>,
    R::Element: AbstractRotation<T::Element, D>,
    T::Element: Scalar + Zero + Copy,
    R::Element: Scalar + Zero + Copy
[src]

fn from(arr: [Similarity<T::Element, R::Element, D>; 8]) -> Self[src]

Performs the conversion.

impl<T: SimdRealField, R, const D: usize> From<Similarity<T, R, D>> for OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> where
    Const<D>: DimNameAdd<U1>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

fn from(sim: Similarity<T, R, D>) -> Self[src]

Performs the conversion.

impl<T: Scalar + Hash, R: Hash, const D: usize> Hash for Similarity<T, R, D> where
    Owned<T, Const<D>>: Hash
[src]

fn hash<H: Hasher>(&self, state: &mut H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Isometry<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Isometry<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = SVector<T, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b SVector<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = SVector<T, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b SVector<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Point<T, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Point<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Point<T, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Point<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Rotation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Rotation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Translation<T, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Translation<T, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for Similarity<T, R, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Transform<T, C, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for &'a Similarity<T, R, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: &'b Transform<T, C, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Translation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: &'b Translation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Isometry<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Isometry<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = SVector<T, D>

The resulting type after applying the * operator.

fn mul(self, right: SVector<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = SVector<T, D>

The resulting type after applying the * operator.

fn mul(self, right: SVector<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Point<T, D>

The resulting type after applying the * operator.

fn mul(self, right: Point<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Point<T, D>

The resulting type after applying the * operator.

fn mul(self, right: Point<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Rotation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Rotation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Translation<T, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T, C, R, const D: usize> Mul<Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T, C, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
    T::Element: SimdRealField
[src]

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

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, Rotation<T, D>, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output[src]

Performs the * operation. Read more

impl<T, C, R, const D: usize> Mul<Transform<T, C, D>> for Similarity<T, R, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Transform<T, C, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T, C, R, const D: usize> Mul<Transform<T, C, D>> for &'a Similarity<T, R, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategoryMul<TAffine>,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

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

The resulting type after applying the * operator.

fn mul(self, rhs: Transform<T, C, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: Translation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for &'a Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

type Output = Similarity<T, R, D>

The resulting type after applying the * operator.

fn mul(self, right: Translation<T, D>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField> Mul<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: UnitComplex<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField> Mul<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitComplex<T>, 2>

The resulting type after applying the * operator.

fn mul(self, rhs: UnitComplex<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<T: SimdRealField> Mul<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, rhs: UnitQuaternion<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'a, T: SimdRealField> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
    T::Element: SimdRealField
[src]

type Output = Similarity<T, UnitQuaternion<T>, 3>

The resulting type after applying the * operator.

fn mul(self, rhs: UnitQuaternion<T>) -> Self::Output[src]

Performs the * operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: &'b Isometry<T, R, D>)[src]

Performs the *= operation. Read more

impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: &'b Rotation<T, D>)[src]

Performs the *= operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)[src]

Performs the *= operation. Read more

impl<'b, T, C, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)[src]

Performs the *= operation. Read more

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: &'b Translation<T, D>)[src]

Performs the *= operation. Read more

impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: &'b UnitComplex<T>)[src]

Performs the *= operation. Read more

impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: &'b UnitQuaternion<T>)[src]

Performs the *= operation. Read more

impl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: Isometry<T, R, D>)[src]

Performs the *= operation. Read more

impl<T, const D: usize> MulAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: Rotation<T, D>)[src]

Performs the *= operation. Read more

impl<T: SimdRealField, R, const D: usize> MulAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: Similarity<T, R, D>)[src]

Performs the *= operation. Read more

impl<T, C, R, const D: usize> MulAssign<Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

fn mul_assign(&mut self, rhs: Similarity<T, R, D>)[src]

Performs the *= operation. Read more

impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn mul_assign(&mut self, rhs: Translation<T, D>)[src]

Performs the *= operation. Read more

impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: UnitComplex<T>)[src]

Performs the *= operation. Read more

impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField
[src]

fn mul_assign(&mut self, rhs: UnitQuaternion<T>)[src]

Performs the *= operation. Read more

impl<T: SimdRealField, R, const D: usize> One for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 
[src]

fn one() -> Self[src]

Creates a new identity similarity.

fn set_one(&mut self)[src]

Sets self to the multiplicative identity element of Self, 1.

fn is_one(&self) -> bool where
    Self: PartialEq<Self>, 
[src]

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

impl<T: SimdRealField, R, const D: usize> PartialEq<Similarity<T, R, D>> for Similarity<T, R, D> where
    R: AbstractRotation<T, D> + PartialEq
[src]

fn eq(&self, right: &Self) -> bool[src]

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

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl<T: RealField, R, const D: usize> RelativeEq<Similarity<T, R, D>> for Similarity<T, R, D> where
    R: AbstractRotation<T, D> + RelativeEq<Epsilon = T::Epsilon>,
    T::Epsilon: Copy
[src]

fn default_max_relative() -> Self::Epsilon[src]

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

fn relative_eq(
    &self,
    other: &Self,
    epsilon: Self::Epsilon,
    max_relative: Self::Epsilon
) -> bool
[src]

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

fn relative_ne(
    &self,
    other: &Rhs,
    epsilon: Self::Epsilon,
    max_relative: Self::Epsilon
) -> bool
[src]

The inverse of RelativeEq::relative_eq.

impl<T: SimdRealField, R, const D: usize> SimdValue for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: SimdValue<SimdBool = T::SimdBool> + AbstractRotation<T, D>,
    R::Element: AbstractRotation<T::Element, D>, 
[src]

type Element = Similarity<T::Element, R::Element, D>

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

type SimdBool = T::SimdBool

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

fn lanes() -> usize[src]

The number of lanes of this SIMD value.

fn splat(val: Self::Element) -> Self[src]

Initializes an SIMD value with each lanes set to val.

fn extract(&self, i: usize) -> Self::Element[src]

Extracts the i-th lane of self. Read more

unsafe fn extract_unchecked(&self, i: usize) -> Self::Element[src]

Extracts the i-th lane of self without bound-checking.

fn replace(&mut self, i: usize, val: Self::Element)[src]

Replaces the i-th lane of self by val. Read more

unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)[src]

Replaces the i-th lane of self by val without bound-checking.

fn select(self, cond: Self::SimdBool, other: Self) -> Self[src]

Merges self and other depending on the lanes of cond. Read more

fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self where
    Self: Clone
[src]

Applies a function to each lane of self. Read more

fn zip_map_lanes(
    self,
    b: Self,
    f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
    Self: Clone
[src]

Applies a function to each lane of self paired with the corresponding lane of b. Read more

impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>>::Buffer>> for Similarity<T1, R, D> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
    DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

fn to_superset(
    &self
) -> OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
[src]

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

fn is_in_subset(
    m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> bool
[src]

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

fn from_superset_unchecked(
    m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> Self
[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2_usize>> for UnitComplex<T1> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R: AbstractRotation<T2, 2> + SupersetOf<Self>, 
[src]

fn to_superset(&self) -> Similarity<T2, R, 2>[src]

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

fn is_in_subset(sim: &Similarity<T2, R, 2>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R, 2>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3_usize>> for UnitQuaternion<T1> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R: AbstractRotation<T2, 3> + SupersetOf<Self>, 
[src]

fn to_superset(&self) -> Similarity<T2, R, 3>[src]

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

fn is_in_subset(sim: &Similarity<T2, R, 3>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R, 3>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Rotation<T1, D> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R: AbstractRotation<T2, D> + SupersetOf<Self>, 
[src]

fn to_superset(&self) -> Similarity<T2, R, D>[src]

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

fn is_in_subset(sim: &Similarity<T2, R, D>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R: AbstractRotation<T2, D>, 
[src]

fn to_superset(&self) -> Similarity<T2, R, D>[src]

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

fn is_in_subset(sim: &Similarity<T2, R, D>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Isometry<T1, R1, D> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    R1: AbstractRotation<T1, D> + SubsetOf<R2>,
    R2: AbstractRotation<T2, D>, 
[src]

fn to_superset(&self) -> Similarity<T2, R2, D>[src]

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

fn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Similarity<T1, R1, D> where
    T1: RealField + SubsetOf<T2>,
    T2: RealField + SupersetOf<T1>,
    R1: AbstractRotation<T1, D> + SubsetOf<R2>,
    R2: AbstractRotation<T2, D>, 
[src]

fn to_superset(&self) -> Similarity<T2, R2, D>[src]

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

fn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3_usize>> for UnitDualQuaternion<T1> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>, 
[src]

fn to_superset(&self) -> Similarity3<T2>[src]

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

fn is_in_subset(sim: &Similarity3<T2>) -> bool[src]

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

fn from_superset_unchecked(sim: &Similarity3<T2>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T1, T2, R, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Similarity<T1, R, D> where
    T1: RealField,
    T2: RealField + SupersetOf<T1>,
    C: SuperTCategoryOf<TAffine>,
    R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
    DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 
[src]

fn to_superset(&self) -> Transform<T2, C, D>[src]

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

fn is_in_subset(t: &Transform<T2, C, D>) -> bool[src]

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

fn from_superset_unchecked(t: &Transform<T2, C, D>) -> Self[src]

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

fn from_superset(element: &T) -> Option<Self>[src]

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

impl<T: RealField, R, const D: usize> UlpsEq<Similarity<T, R, D>> for Similarity<T, R, D> where
    R: AbstractRotation<T, D> + UlpsEq<Epsilon = T::Epsilon>,
    T::Epsilon: Copy
[src]

fn default_max_ulps() -> u32[src]

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

fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool[src]

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

fn ulps_ne(&self, other: &Rhs, epsilon: Self::Epsilon, max_ulps: u32) -> bool[src]

The inverse of UlpsEq::ulps_eq.

impl<T: Scalar + Copy + Zero, R: AbstractRotation<T, D> + Copy, const D: usize> Copy for Similarity<T, R, D> where
    Owned<T, Const<D>>: Copy
[src]

impl<T: SimdRealField, R, const D: usize> Eq for Similarity<T, R, D> where
    R: AbstractRotation<T, D> + Eq
[src]

Auto Trait Implementations

impl<T, R, const D: usize> RefUnwindSafe for Similarity<T, R, D> where
    R: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, R, const D: usize> Send for Similarity<T, R, D> where
    R: Send,
    T: Send

impl<T, R, const D: usize> Sync for Similarity<T, R, D> where
    R: Sync,
    T: Sync

impl<T, R, const D: usize> Unpin for Similarity<T, R, D> where
    R: Unpin,
    T: Unpin

impl<T, R, const D: usize> UnwindSafe for Similarity<T, R, D> where
    R: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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]

pub fn to_subset(&self) -> Option<SS>[src]

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

pub fn is_in_subset(&self) -> bool[src]

Checks if self is actually part of its subset T (and can be converted to it).

pub fn to_subset_unchecked(&self) -> SS[src]

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

pub fn from_subset(element: &SS) -> SP[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V

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]