Struct nalgebra::geometry::Similarity
source · #[repr(C)]pub struct Similarity<T, R, const D: usize> {
pub isometry: Isometry<T, R, D>,
/* private fields */
}
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
sourceimpl<T: Scalar + Zero, R, const D: usize> Similarity<T, R, D>where
R: AbstractRotation<T, D>,
impl<T: Scalar + Zero, R, const D: usize> Similarity<T, R, D>where
R: AbstractRotation<T, D>,
sourcepub fn from_parts(translation: Translation<T, D>, rotation: R, scaling: T) -> Self
pub fn from_parts(translation: Translation<T, D>, rotation: R, scaling: T) -> Self
Creates a new similarity from its rotational and translational parts.
sourcepub fn from_isometry(isometry: Isometry<T, R, D>, scaling: T) -> Self
pub fn from_isometry(isometry: Isometry<T, R, D>, scaling: T) -> Self
Creates a new similarity from its rotational and translational parts.
sourcepub fn set_scaling(&mut self, scaling: T)
pub fn set_scaling(&mut self, scaling: T)
The scaling factor of this similarity transformation.
sourceimpl<T: Scalar, R, const D: usize> Similarity<T, R, D>
impl<T: Scalar, R, const D: usize> Similarity<T, R, D>
sourceimpl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourcepub fn from_scaling(scaling: T) -> Self
pub fn from_scaling(scaling: T) -> Self
Creates a new similarity that applies only a scaling factor.
sourcepub fn inverse_mut(&mut self)
pub fn inverse_mut(&mut self)
Inverts self
in-place.
sourcepub fn prepend_scaling(&self, scaling: T) -> Self
pub fn prepend_scaling(&self, scaling: T) -> Self
The similarity transformation that applies a scaling factor scaling
before self
.
sourcepub fn append_scaling(&self, scaling: T) -> Self
pub fn append_scaling(&self, scaling: T) -> Self
The similarity transformation that applies a scaling factor scaling
after self
.
sourcepub fn prepend_scaling_mut(&mut self, scaling: T)
pub fn prepend_scaling_mut(&mut self, scaling: T)
Sets self
to the similarity transformation that applies a scaling factor scaling
before self
.
sourcepub fn append_scaling_mut(&mut self, scaling: T)
pub fn append_scaling_mut(&mut self, scaling: T)
Sets self
to the similarity transformation that applies a scaling factor scaling
after self
.
sourcepub fn append_translation_mut(&mut self, t: &Translation<T, D>)
pub fn append_translation_mut(&mut self, t: &Translation<T, D>)
Appends to self
the given translation in-place.
sourcepub fn append_rotation_mut(&mut self, r: &R)
pub fn append_rotation_mut(&mut self, r: &R)
Appends to self
the given rotation in-place.
sourcepub fn append_rotation_wrt_point_mut(&mut self, r: &R, p: &Point<T, D>)
pub fn append_rotation_wrt_point_mut(&mut self, r: &R, p: &Point<T, D>)
Appends in-place to self
a rotation centered at the point p
, i.e., the rotation that
lets p
invariant.
sourcepub fn append_rotation_wrt_center_mut(&mut self, r: &R)
pub fn append_rotation_wrt_center_mut(&mut self, r: &R)
Appends in-place to self
a rotation centered at the point with coordinates
self.translation
.
sourcepub fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
pub fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
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);
sourcepub fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
pub fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
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);
sourcepub fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
pub fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
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);
sourcepub fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
pub fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
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);
sourceimpl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>
sourcepub 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>>,
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>>,
Converts this similarity into its equivalent homogeneous transformation matrix.
sourceimpl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourcepub fn rotation_wrt_point(r: R, p: Point<T, D>, scaling: T) -> Self
pub fn rotation_wrt_point(r: R, p: Point<T, D>, scaling: T) -> Self
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);
sourceimpl<T: SimdRealField> Similarity<T, Rotation2<T>, 2>where
T::Element: SimdRealField,
impl<T: SimdRealField> Similarity<T, Rotation2<T>, 2>where
T::Element: SimdRealField,
sourcepub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self
pub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self
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);
sourcepub fn cast<To: Scalar>(self) -> Similarity<To, Rotation2<To>, 2>where
Similarity<To, Rotation2<To>, 2>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation2<To>, 2>where
Similarity<To, Rotation2<To>, 2>: SupersetOf<Self>,
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());
sourceimpl<T: SimdRealField> Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<T: SimdRealField> Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
sourcepub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self
pub fn new(translation: Vector2<T>, angle: T, scaling: T) -> Self
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);
sourcepub fn cast<To: Scalar>(self) -> Similarity<To, UnitComplex<To>, 2>where
Similarity<To, UnitComplex<To>, 2>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitComplex<To>, 2>where
Similarity<To, UnitComplex<To>, 2>: SupersetOf<Self>,
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());
sourceimpl<T: SimdRealField> Similarity<T, Rotation3<T>, { _ }>where
T::Element: SimdRealField,
impl<T: SimdRealField> Similarity<T, Rotation3<T>, { _ }>where
T::Element: SimdRealField,
sourcepub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self
pub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self
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);
sourcepub fn cast<To: Scalar>(self) -> Similarity<To, Rotation3<To>, { _ }>where
Similarity<To, Rotation3<To>, { _ }>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation3<To>, { _ }>where
Similarity<To, Rotation3<To>, { _ }>: SupersetOf<Self>,
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());
sourcepub fn face_towards(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn face_towards(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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);
sourcepub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
👎Deprecated: renamed to face_towards
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
face_towards
Deprecated: Use SimilarityMatrix3::face_towards
instead.
sourcepub fn look_at_rh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn look_at_rh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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);
sourcepub fn look_at_lh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn look_at_lh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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);
sourceimpl<T: SimdRealField> Similarity<T, UnitQuaternion<T>, { _ }>where
T::Element: SimdRealField,
impl<T: SimdRealField> Similarity<T, UnitQuaternion<T>, { _ }>where
T::Element: SimdRealField,
sourcepub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self
pub fn new(translation: Vector3<T>, axisangle: Vector3<T>, scaling: T) -> Self
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);
sourcepub fn cast<To: Scalar>(self) -> Similarity<To, UnitQuaternion<To>, { _ }>where
Similarity<To, UnitQuaternion<To>, { _ }>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitQuaternion<To>, { _ }>where
Similarity<To, UnitQuaternion<To>, { _ }>: SupersetOf<Self>,
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());
sourcepub fn face_towards(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn face_towards(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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);
sourcepub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
👎Deprecated: renamed to face_towards
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
face_towards
Deprecated: Use SimilarityMatrix3::face_towards
instead.
sourcepub fn look_at_rh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn look_at_rh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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);
sourcepub fn look_at_lh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
pub fn look_at_lh(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
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
sourceimpl<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: Clone,
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: Clone,
sourcefn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
sourcefn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
sourcefn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.sourceimpl<T: RealField + RealField, R, const D: usize> AbstractMagma<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AbstractMagma<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourceimpl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type NonUniformScaling = T
type NonUniformScaling = T
type Rotation = R
type Rotation = R
type Translation = Translation<T, D>
type Translation = Translation<T, D>
sourcefn decompose(&self) -> (Translation<T, D>, R, T, R)
fn decompose(&self) -> (Translation<T, D>, R, T, R)
sourcefn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
sourcefn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
sourceimpl<T, R, const D: usize> Arbitrary for Similarity<T, R, D>where
T: RealField + Arbitrary + Send,
T::Element: RealField,
R: AbstractRotation<T, D> + Arbitrary + Send,
Owned<T, Const<D>>: Send,
impl<T, R, const D: usize> Arbitrary for Similarity<T, R, D>where
T: RealField + Arbitrary + Send,
T::Element: RealField,
R: AbstractRotation<T, D> + Arbitrary + Send,
Owned<T, Const<D>>: Send,
sourceimpl<T, R, const D: usize> Archive for Similarity<T, R, D>where
Isometry<T, R, D>: Archive,
T: Archive,
impl<T, R, const D: usize> Archive for Similarity<T, R, D>where
Isometry<T, R, D>: Archive,
T: Archive,
type Archived = ArchivedSimilarity<T, R, D>
type Archived = ArchivedSimilarity<T, R, D>
type Resolver = SimilarityResolver<T, R, D>
type Resolver = SimilarityResolver<T, R, D>
sourceimpl<T: Clone, R: Clone, const D: usize> Clone for Similarity<T, R, D>
impl<T: Clone, R: Clone, const D: usize> Clone for Similarity<T, R, D>
sourcefn clone(&self) -> Similarity<T, R, D>
fn clone(&self) -> Similarity<T, R, D>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl<T: SimdRealField, R, const D: usize> Default for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Default for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'de, T, R, const D: usize> Deserialize<'de> for Similarity<T, R, D>where
T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>,
impl<'de, T, R, const D: usize> Deserialize<'de> for Similarity<T, R, D>where
T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>,
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
sourceimpl<__D: Fallible + ?Sized, T, R, const D: usize> Deserialize<Similarity<T, R, D>, __D> for Archived<Similarity<T, R, D>>where
Isometry<T, R, D>: Archive,
Archived<Isometry<T, R, D>>: Deserialize<Isometry<T, R, D>, __D>,
T: Archive,
Archived<T>: Deserialize<T, __D>,
impl<__D: Fallible + ?Sized, T, R, const D: usize> Deserialize<Similarity<T, R, D>, __D> for Archived<Similarity<T, R, D>>where
Isometry<T, R, D>: Archive,
Archived<Isometry<T, R, D>>: Deserialize<Isometry<T, R, D>, __D>,
T: Archive,
Archived<T>: Deserialize<T, __D>,
sourcefn deserialize(
&self,
deserializer: &mut __D
) -> Result<Similarity<T, R, D>, __D::Error>
fn deserialize(
&self,
deserializer: &mut __D
) -> Result<Similarity<T, R, D>, __D::Error>
sourceimpl<T, R, const D: usize> Display for Similarity<T, R, D>where
T: RealField + Display,
R: AbstractRotation<T, D> + Display,
impl<T, R, const D: usize> Display for Similarity<T, R, D>where
T: RealField + Display,
R: AbstractRotation<T, D> + Display,
sourceimpl<T: RealField, R, const D: usize> Distribution<Similarity<T, R, D>> for Standardwhere
R: AbstractRotation<T, D>,
Standard: Distribution<T> + Distribution<R>,
impl<T: RealField, R, const D: usize> Distribution<Similarity<T, R, D>> for Standardwhere
R: AbstractRotation<T, D>,
Standard: Distribution<T> + Distribution<R>,
sourcefn sample<'a, G: Rng + ?Sized>(&self, rng: &mut G) -> Similarity<T, R, D>
fn sample<'a, G: Rng + ?Sized>(&self, rng: &mut G) -> Similarity<T, R, D>
Generate an arbitrary random variate for testing purposes.
sourceimpl<'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>,
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>,
sourceimpl<'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>,
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>,
sourceimpl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
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,
sourceimpl<'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
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,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.sourceimpl<'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.sourceimpl<'a, 'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
/
operation. Read moresourceimpl<'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn div(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
/
operation. Read moresourceimpl<'a, 'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
/
operator.sourcefn div(self, rhs: &'b UnitComplex<T>) -> Self::Output
fn div(self, rhs: &'b UnitComplex<T>) -> Self::Output
/
operation. Read moresourceimpl<'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
/
operator.sourcefn div(self, rhs: &'b UnitComplex<T>) -> Self::Output
fn div(self, rhs: &'b UnitComplex<T>) -> Self::Output
/
operation. Read moresourceimpl<'a, 'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
fn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
/
operation. Read moresourceimpl<'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
fn div(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
sourceimpl<T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourceimpl<'a, T: SimdRealField, const D: usize> Div<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Div<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<T: SimdRealField, const D: usize> Div<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Div<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.sourcefn div(self, rhs: Similarity<T, R, D>) -> Self::Output
fn div(self, rhs: Similarity<T, R, D>) -> Self::Output
/
operation. Read moresourceimpl<'a, T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.sourceimpl<T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.sourceimpl<'a, T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
/
operation. Read moresourceimpl<T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn div(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
/
operation. Read moresourceimpl<'a, T: SimdRealField> Div<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
/
operator.sourcefn div(self, rhs: UnitComplex<T>) -> Self::Output
fn div(self, rhs: UnitComplex<T>) -> Self::Output
/
operation. Read moresourceimpl<T: SimdRealField> Div<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
/
operator.sourcefn div(self, rhs: UnitComplex<T>) -> Self::Output
fn div(self, rhs: UnitComplex<T>) -> Self::Output
/
operation. Read moresourceimpl<'a, T: SimdRealField> Div<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, rhs: UnitQuaternion<T>) -> Self::Output
fn div(self, rhs: UnitQuaternion<T>) -> Self::Output
/
operation. Read moresourceimpl<T: SimdRealField> Div<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.sourcefn div(self, rhs: UnitQuaternion<T>) -> Self::Output
fn div(self, rhs: UnitQuaternion<T>) -> Self::Output
/
operation. Read moresourceimpl<'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>,
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>,
sourcefn div_assign(&mut self, rhs: &'b Isometry<T, R, D>)
fn div_assign(&mut self, rhs: &'b Isometry<T, R, D>)
/=
operation. Read moresourceimpl<'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,
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,
sourcefn div_assign(&mut self, rhs: &'b Rotation<T, D>)
fn div_assign(&mut self, rhs: &'b Rotation<T, D>)
/=
operation. Read moresourceimpl<'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>,
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>,
sourcefn div_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn div_assign(&mut self, rhs: &'b Similarity<T, R, D>)
/=
operation. Read moresourceimpl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
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,
sourcefn div_assign(&mut self, rhs: &'b UnitComplex<T>)
fn div_assign(&mut self, rhs: &'b UnitComplex<T>)
/=
operation. Read moresourceimpl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
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,
sourcefn div_assign(&mut self, rhs: &'b UnitQuaternion<T>)
fn div_assign(&mut self, rhs: &'b UnitQuaternion<T>)
/=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourcefn div_assign(&mut self, rhs: Isometry<T, R, D>)
fn div_assign(&mut self, rhs: Isometry<T, R, D>)
/=
operation. Read moresourceimpl<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,
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,
sourcefn div_assign(&mut self, rhs: Rotation<T, D>)
fn div_assign(&mut self, rhs: Rotation<T, D>)
/=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> DivAssign<Similarity<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourcefn div_assign(&mut self, rhs: Similarity<T, R, D>)
fn div_assign(&mut self, rhs: Similarity<T, R, D>)
/=
operation. Read moresourceimpl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
sourcefn div_assign(&mut self, rhs: UnitComplex<T>)
fn div_assign(&mut self, rhs: UnitComplex<T>)
/=
operation. Read moresourceimpl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
sourcefn div_assign(&mut self, rhs: UnitQuaternion<T>)
fn div_assign(&mut self, rhs: UnitQuaternion<T>)
/=
operation. Read moresourceimpl<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,
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,
sourceimpl<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,
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,
sourceimpl<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,
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,
sourceimpl<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,
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,
sourceimpl<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>>,
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>>,
sourcefn from(sim: Similarity<T, R, D>) -> Self
fn from(sim: Similarity<T, R, D>) -> Self
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
impl From<Similarity<f32, Unit<Complex<f32>>, 2>> for Mat3
sourcefn from(iso: Similarity2<f32>) -> Mat3
fn from(iso: Similarity2<f32>) -> Mat3
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
sourcefn from(iso: Similarity3<f32>) -> Mat4
fn from(iso: Similarity3<f32>) -> Mat4
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
impl From<Similarity<f64, Unit<Complex<f64>>, 2>> for DMat3
sourcefn from(iso: Similarity2<f64>) -> DMat3
fn from(iso: Similarity2<f64>) -> DMat3
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
sourcefn from(iso: Similarity3<f64>) -> DMat4
fn from(iso: Similarity3<f64>) -> DMat4
sourceimpl<T: Scalar + Hash, R: Hash, const D: usize> Hash for Similarity<T, R, D>where
Owned<T, Const<D>>: Hash,
impl<T: Scalar + Hash, R: Hash, const D: usize> Hash for Similarity<T, R, D>where
Owned<T, Const<D>>: Hash,
sourceimpl<T: RealField + RealField, R, const D: usize> Identity<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Identity<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourceimpl<'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>,
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>,
sourceimpl<'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>,
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>,
sourceimpl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
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,
sourceimpl<'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output
fn mul(self, right: &'b Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
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,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.sourceimpl<'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.sourceimpl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output
*
operation. Read moresourceimpl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2>> for UnitComplex<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2>> for UnitComplex<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output
fn mul(self, rhs: &'b Similarity<T, UnitComplex<T>, 2>) -> Self::Output
*
operation. Read moresourceimpl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
*
operation. Read moresourceimpl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn mul(self, right: &'b Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
*
operation. Read moresourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: &'b Translation<T, D>) -> Self::Output
fn mul(self, right: &'b Translation<T, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: &'b Translation<T, D>) -> Self::Output
fn mul(self, right: &'b Translation<T, D>) -> Self::Output
*
operation. Read moresourceimpl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output
fn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output
*
operation. Read moresourceimpl<'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output
fn mul(self, rhs: &'b UnitComplex<T>) -> Self::Output
*
operation. Read moresourceimpl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
fn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
*
operation. Read moresourceimpl<'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
fn mul(self, rhs: &'b UnitQuaternion<T>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
sourceimpl<T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourceimpl<'a, T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<'a, T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D>where
T::Element: SimdRealField,
sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: Similarity<T, R, D>) -> Self::Output
fn mul(self, right: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourcefn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
fn mul(self, rhs: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: Similarity<T, R, D>) -> Self::Output
fn mul(self, right: Similarity<T, R, D>) -> Self::Output
*
operation. Read moresourceimpl<'a, T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.sourceimpl<T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.sourceimpl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output
fn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2>> for UnitComplex<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2>> for UnitComplex<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output
fn mul(self, rhs: Similarity<T, UnitComplex<T>, 2>) -> Self::Output
*
operation. Read moresourceimpl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for UnitQuaternion<T>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
fn mul(self, right: Similarity<T, UnitQuaternion<T>, 3>) -> Self::Output
*
operation. Read moresourceimpl<'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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourceimpl<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>>,
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>>,
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.sourceimpl<'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>,
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>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: Translation<T, D>) -> Self::Output
fn mul(self, right: Translation<T, D>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.sourcefn mul(self, right: Translation<T, D>) -> Self::Output
fn mul(self, right: Translation<T, D>) -> Self::Output
*
operation. Read moresourceimpl<'a, T: SimdRealField> Mul<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: UnitComplex<T>) -> Self::Output
fn mul(self, rhs: UnitComplex<T>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField> Mul<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Complex<T>>, 2>
type Output = Similarity<T, Unit<Complex<T>>, 2>
*
operator.sourcefn mul(self, rhs: UnitComplex<T>) -> Self::Output
fn mul(self, rhs: UnitComplex<T>) -> Self::Output
*
operation. Read moresourceimpl<'a, T: SimdRealField> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, rhs: UnitQuaternion<T>) -> Self::Output
fn mul(self, rhs: UnitQuaternion<T>) -> Self::Output
*
operation. Read moresourceimpl<T: SimdRealField> Mul<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T::Element: SimdRealField,
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.sourcefn mul(self, rhs: UnitQuaternion<T>) -> Self::Output
fn mul(self, rhs: UnitQuaternion<T>) -> Self::Output
*
operation. Read moresourceimpl<'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>,
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>,
sourcefn mul_assign(&mut self, rhs: &'b Isometry<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Isometry<T, R, D>)
*=
operation. Read moresourceimpl<'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,
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,
sourcefn mul_assign(&mut self, rhs: &'b Rotation<T, D>)
fn mul_assign(&mut self, rhs: &'b Rotation<T, D>)
*=
operation. Read moresourceimpl<'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>,
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>,
sourcefn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
*=
operation. Read moresourceimpl<'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>>,
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>>,
sourcefn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
*=
operation. Read moresourceimpl<'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>,
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>,
sourcefn mul_assign(&mut self, rhs: &'b Translation<T, D>)
fn mul_assign(&mut self, rhs: &'b Translation<T, D>)
*=
operation. Read moresourceimpl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
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,
sourcefn mul_assign(&mut self, rhs: &'b UnitComplex<T>)
fn mul_assign(&mut self, rhs: &'b UnitComplex<T>)
*=
operation. Read moresourceimpl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
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,
sourcefn mul_assign(&mut self, rhs: &'b UnitQuaternion<T>)
fn mul_assign(&mut self, rhs: &'b UnitQuaternion<T>)
*=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourcefn mul_assign(&mut self, rhs: Isometry<T, R, D>)
fn mul_assign(&mut self, rhs: Isometry<T, R, D>)
*=
operation. Read moresourceimpl<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,
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,
sourcefn mul_assign(&mut self, rhs: Rotation<T, D>)
fn mul_assign(&mut self, rhs: Rotation<T, D>)
*=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> MulAssign<Similarity<T, R, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>,
sourcefn mul_assign(&mut self, rhs: Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
*=
operation. Read moresourceimpl<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>>,
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>>,
sourcefn mul_assign(&mut self, rhs: Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
*=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourcefn mul_assign(&mut self, rhs: Translation<T, D>)
fn mul_assign(&mut self, rhs: Translation<T, D>)
*=
operation. Read moresourceimpl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
sourcefn mul_assign(&mut self, rhs: UnitComplex<T>)
fn mul_assign(&mut self, rhs: UnitComplex<T>)
*=
operation. Read moresourceimpl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
sourcefn mul_assign(&mut self, rhs: UnitQuaternion<T>)
fn mul_assign(&mut self, rhs: UnitQuaternion<T>)
*=
operation. Read moresourceimpl<T: SimdRealField, R, const D: usize> One for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> One for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<T: SimdRealField, R, const D: usize> PartialEq<Similarity<T, R, D>> for Similarity<T, R, D>where
R: AbstractRotation<T, D> + PartialEq,
impl<T: SimdRealField, R, const D: usize> PartialEq<Similarity<T, R, D>> for Similarity<T, R, D>where
R: AbstractRotation<T, D> + PartialEq,
sourceimpl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<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: Clone,
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: Clone,
sourcefn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
sourcefn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
sourcefn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
RelativeEq::relative_eq
.sourceimpl<__S: Fallible + ?Sized, T, R, const D: usize> Serialize<__S> for Similarity<T, R, D>where
Isometry<T, R, D>: Serialize<__S>,
T: Serialize<__S>,
impl<__S: Fallible + ?Sized, T, R, const D: usize> Serialize<__S> for Similarity<T, R, D>where
Isometry<T, R, D>: Serialize<__S>,
T: Serialize<__S>,
sourceimpl<T, R, const D: usize> Serialize for Similarity<T, R, D>where
T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize,
impl<T, R, const D: usize> Serialize for Similarity<T, R, D>where
T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize,
sourceimpl<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>,
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>,
type Element = Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>
type Element = Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>
type SimdBool = <T as SimdValue>::SimdBool
type SimdBool = <T as SimdValue>::SimdBool
self
.sourceunsafe fn extract_unchecked(&self, i: usize) -> Self::Element
unsafe fn extract_unchecked(&self, i: usize) -> Self::Element
self
without bound-checking.sourceunsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
self
by val
without bound-checking.sourceimpl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type Scaling = T
type Scaling = T
sourcefn translation(&self) -> Translation<T, D>
fn translation(&self) -> Translation<T, D>
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourcefn to_superset(
&self
) -> OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
fn to_superset(
&self
) -> OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
self
to the equivalent element of its superset.sourcefn is_in_subset(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> bool
fn is_in_subset(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> Self
fn from_superset_unchecked(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<T1, T2, R> SubsetOf<Similarity<T2, R, 2>> for UnitComplex<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Self>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2>> for UnitComplex<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Self>,
sourcefn to_superset(&self) -> Similarity<T2, R, 2>
fn to_superset(&self) -> Similarity<T2, R, 2>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R, 2>) -> bool
fn is_in_subset(sim: &Similarity<T2, R, 2>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R, 2>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R, 2>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<T1, T2, R> SubsetOf<Similarity<T2, R, 3>> for UnitQuaternion<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Self>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3>> for UnitQuaternion<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Self>,
sourcefn to_superset(&self) -> Similarity<T2, R, 3>
fn to_superset(&self) -> Similarity<T2, R, 3>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R, 3>) -> bool
fn is_in_subset(sim: &Similarity<T2, R, 3>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R, 3>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R, 3>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>,
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>,
sourcefn to_superset(&self) -> Similarity<T2, R, D>
fn to_superset(&self) -> Similarity<T2, R, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R, D>) -> bool
fn is_in_subset(sim: &Similarity<T2, R, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>,
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>,
sourcefn to_superset(&self) -> Similarity<T2, R, D>
fn to_superset(&self) -> Similarity<T2, R, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R, D>) -> bool
fn is_in_subset(sim: &Similarity<T2, R, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>,
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>,
sourcefn to_superset(&self) -> Similarity<T2, R2, D>
fn to_superset(&self) -> Similarity<T2, R2, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool
fn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>,
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>,
sourcefn to_superset(&self) -> Similarity<T2, R2, D>
fn to_superset(&self) -> Similarity<T2, R2, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool
fn is_in_subset(sim: &Similarity<T2, R2, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self
fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3>> for UnitDualQuaternion<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3>> for UnitDualQuaternion<T1>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
sourcefn to_superset(&self) -> Similarity3<T2>
fn to_superset(&self) -> Similarity3<T2>
self
to the equivalent element of its superset.sourcefn is_in_subset(sim: &Similarity3<T2>) -> bool
fn is_in_subset(sim: &Similarity3<T2>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(sim: &Similarity3<T2>) -> Self
fn from_superset_unchecked(sim: &Similarity3<T2>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
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>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourcefn to_superset(&self) -> Transform<T2, C, D>
fn to_superset(&self) -> Transform<T2, C, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(t: &Transform<T2, C, D>) -> bool
fn is_in_subset(t: &Transform<T2, C, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(t: &Transform<T2, C, D>) -> Self
fn from_superset_unchecked(t: &Transform<T2, C, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, R, const D: usize> TwoSidedInverse<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> TwoSidedInverse<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn two_sided_inverse(&self) -> Self
fn two_sided_inverse(&self) -> Self
sourcefn two_sided_inverse_mut(&mut self)
fn two_sided_inverse_mut(&mut self)
sourceimpl<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: Clone,
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: Clone,
impl<T: RealField + RealField, R, const D: usize> AbstractGroup<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AbstractLoop<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AbstractMonoid<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AbstractQuasigroup<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AbstractSemigroup<Multiplicative> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: Copy, R: Copy, const D: usize> Copy for Similarity<T, R, D>
impl<T: DeviceCopy, R: DeviceCopy, const D: usize> DeviceCopy for Similarity<T, R, D>
impl<T: SimdRealField, R, const D: usize> Eq for Similarity<T, R, D>where
R: AbstractRotation<T, D> + Eq,
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
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
sourcefn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
sourceimpl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive
, it may be unsized. Read moretype MetadataResolver = ()
type MetadataResolver = ()
sourceunsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
sourceimpl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Serializer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Serializer + ?Sized,
sourceimpl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresourcefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).sourcefn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.sourceimpl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresourcefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).sourceunsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.