Struct jumpy::core::physics::collisions::rapier::nalgebra::Similarity
source · #[repr(C)]pub struct Similarity<T, R, const D: usize> {
pub isometry: Isometry<T, R, D>,
scaling: T,
}
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.
scaling: T
Implementations§
source§impl<T, R, const D: usize> Similarity<T, R, D>
impl<T, R, const D: usize> Similarity<T, R, D>
sourcepub fn from_parts(
translation: Translation<T, D>,
rotation: R,
scaling: T,
) -> Similarity<T, R, D>
pub fn from_parts( translation: Translation<T, D>, rotation: R, scaling: T, ) -> Similarity<T, R, D>
Creates a new similarity from its rotational and translational parts.
sourcepub fn from_isometry(
isometry: Isometry<T, R, D>,
scaling: T,
) -> Similarity<T, R, D>
pub fn from_isometry( isometry: Isometry<T, R, D>, scaling: T, ) -> Similarity<T, R, D>
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.
source§impl<T, R, const D: usize> Similarity<T, R, D>where
T: Scalar,
impl<T, R, const D: usize> Similarity<T, R, D>where
T: Scalar,
source§impl<T, R, const D: usize> Similarity<T, R, D>
impl<T, R, const D: usize> Similarity<T, R, D>
sourcepub fn from_scaling(scaling: T) -> Similarity<T, R, D>
pub fn from_scaling(scaling: T) -> Similarity<T, R, D>
Creates a new similarity that applies only a scaling factor.
sourcepub fn inverse(&self) -> Similarity<T, R, D>
pub fn inverse(&self) -> Similarity<T, R, D>
Inverts self
.
sourcepub fn inverse_mut(&mut self)
pub fn inverse_mut(&mut self)
Inverts self
in-place.
sourcepub fn prepend_scaling(&self, scaling: T) -> Similarity<T, R, D>
pub fn prepend_scaling(&self, scaling: T) -> Similarity<T, R, D>
The similarity transformation that applies a scaling factor scaling
before self
.
sourcepub fn append_scaling(&self, scaling: T) -> Similarity<T, R, D>
pub fn append_scaling(&self, scaling: T) -> Similarity<T, R, D>
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: &OPoint<T, Const<D>>)
pub fn append_rotation_wrt_point_mut(&mut self, r: &R, p: &OPoint<T, Const<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: &OPoint<T, Const<D>>) -> OPoint<T, Const<D>>
pub fn transform_point(&self, pt: &OPoint<T, Const<D>>) -> OPoint<T, Const<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: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
pub fn transform_vector( &self, v: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
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: &OPoint<T, Const<D>>,
) -> OPoint<T, Const<D>>
pub fn inverse_transform_point( &self, pt: &OPoint<T, Const<D>>, ) -> OPoint<T, Const<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: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
pub fn inverse_transform_vector( &self, v: &Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
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);
source§impl<T, R, const D: usize> Similarity<T, R, D>where
T: SimdRealField,
impl<T, R, const D: usize> Similarity<T, R, D>where
T: SimdRealField,
sourcepub fn to_homogeneous(
&self,
) -> Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>where
Const<D>: DimNameAdd<Const<1>>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
pub fn to_homogeneous(
&self,
) -> Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>where
Const<D>: DimNameAdd<Const<1>>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
Converts this similarity into its equivalent homogeneous transformation matrix.
source§impl<T, R, const D: usize> Similarity<T, R, D>
impl<T, R, const D: usize> Similarity<T, R, D>
sourcepub fn identity() -> Similarity<T, R, D>
pub fn identity() -> Similarity<T, R, D>
Creates a new identity similarity.
§Example
let sim = Similarity2::identity();
let pt = Point2::new(1.0, 2.0);
assert_eq!(sim * pt, pt);
let sim = Similarity3::identity();
let pt = Point3::new(1.0, 2.0, 3.0);
assert_eq!(sim * pt, pt);
source§impl<T, R, const D: usize> Similarity<T, R, D>
impl<T, R, const D: usize> Similarity<T, R, D>
sourcepub fn rotation_wrt_point(
r: R,
p: OPoint<T, Const<D>>,
scaling: T,
) -> Similarity<T, R, D>
pub fn rotation_wrt_point( r: R, p: OPoint<T, Const<D>>, scaling: T, ) -> Similarity<T, R, D>
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);
source§impl<T> Similarity<T, Rotation<T, 2>, 2>
impl<T> Similarity<T, Rotation<T, 2>, 2>
sourcepub fn new(
translation: Matrix<T, Const<2>, Const<1>, ArrayStorage<T, 2, 1>>,
angle: T,
scaling: T,
) -> Similarity<T, Rotation<T, 2>, 2>
pub fn new( translation: Matrix<T, Const<2>, Const<1>, ArrayStorage<T, 2, 1>>, angle: T, scaling: T, ) -> Similarity<T, Rotation<T, 2>, 2>
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>(self) -> Similarity<To, Rotation<To, 2>, 2>
pub fn cast<To>(self) -> Similarity<To, Rotation<To, 2>, 2>
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());
source§impl<T> Similarity<T, Unit<Complex<T>>, 2>
impl<T> Similarity<T, Unit<Complex<T>>, 2>
sourcepub fn new(
translation: Matrix<T, Const<2>, Const<1>, ArrayStorage<T, 2, 1>>,
angle: T,
scaling: T,
) -> Similarity<T, Unit<Complex<T>>, 2>
pub fn new( translation: Matrix<T, Const<2>, Const<1>, ArrayStorage<T, 2, 1>>, angle: T, scaling: T, ) -> Similarity<T, Unit<Complex<T>>, 2>
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>(self) -> Similarity<To, Unit<Complex<To>>, 2>where
To: Scalar,
Similarity<To, Unit<Complex<To>>, 2>: SupersetOf<Similarity<T, Unit<Complex<T>>, 2>>,
pub fn cast<To>(self) -> Similarity<To, Unit<Complex<To>>, 2>where
To: Scalar,
Similarity<To, Unit<Complex<To>>, 2>: SupersetOf<Similarity<T, Unit<Complex<T>>, 2>>,
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());
source§impl<T> Similarity<T, Rotation<T, 3>, 3>
impl<T> Similarity<T, Rotation<T, 3>, 3>
sourcepub fn new(
translation: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
axisangle: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Rotation<T, 3>, 3>
pub fn new( translation: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, axisangle: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Rotation<T, 3>, 3>
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>(self) -> Similarity<To, Rotation<To, 3>, 3>
pub fn cast<To>(self) -> Similarity<To, Rotation<To, 3>, 3>
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Rotation<T, 3>, 3>
pub fn face_towards( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Rotation<T, 3>, 3>
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Rotation<T, 3>, 3>
👎Deprecated: renamed to face_towards
pub fn new_observer_frames( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Rotation<T, 3>, 3>
face_towards
Deprecated: Use SimilarityMatrix3::face_towards
instead.
sourcepub fn look_at_rh(
eye: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Rotation<T, 3>, 3>
pub fn look_at_rh( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Rotation<T, 3>, 3>
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Rotation<T, 3>, 3>
pub fn look_at_lh( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Rotation<T, 3>, 3>
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);
source§impl<T> Similarity<T, Unit<Quaternion<T>>, 3>
impl<T> Similarity<T, Unit<Quaternion<T>>, 3>
sourcepub fn new(
translation: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
axisangle: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Unit<Quaternion<T>>, 3>
pub fn new( translation: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, axisangle: Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Unit<Quaternion<T>>, 3>
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>(self) -> Similarity<To, Unit<Quaternion<To>>, 3>where
To: Scalar,
Similarity<To, Unit<Quaternion<To>>, 3>: SupersetOf<Similarity<T, Unit<Quaternion<T>>, 3>>,
pub fn cast<To>(self) -> Similarity<To, Unit<Quaternion<To>>, 3>where
To: Scalar,
Similarity<To, Unit<Quaternion<To>>, 3>: SupersetOf<Similarity<T, Unit<Quaternion<T>>, 3>>,
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Unit<Quaternion<T>>, 3>
pub fn face_towards( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Unit<Quaternion<T>>, 3>
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Unit<Quaternion<T>>, 3>
👎Deprecated: renamed to face_towards
pub fn new_observer_frames( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Unit<Quaternion<T>>, 3>
face_towards
Deprecated: Use SimilarityMatrix3::face_towards
instead.
sourcepub fn look_at_rh(
eye: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Unit<Quaternion<T>>, 3>
pub fn look_at_rh( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Unit<Quaternion<T>>, 3>
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: &OPoint<T, Const<3>>,
target: &OPoint<T, Const<3>>,
up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>,
scaling: T,
) -> Similarity<T, Unit<Quaternion<T>>, 3>
pub fn look_at_lh( eye: &OPoint<T, Const<3>>, target: &OPoint<T, Const<3>>, up: &Matrix<T, Const<3>, Const<1>, ArrayStorage<T, 3, 1>>, scaling: T, ) -> Similarity<T, Unit<Quaternion<T>>, 3>
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§
source§impl<T, R, const D: usize> AbsDiffEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + AbsDiffEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
impl<T, R, const D: usize> AbsDiffEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + AbsDiffEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
source§fn default_epsilon() -> <Similarity<T, R, D> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Similarity<T, R, D> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Similarity<T, R, D>,
epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Similarity<T, R, D>, epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon, ) -> bool
§fn 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
].source§impl<T, R, const D: usize> Clone for Similarity<T, R, D>
impl<T, R, const D: usize> Clone for Similarity<T, R, D>
source§fn clone(&self) -> Similarity<T, R, D>
fn clone(&self) -> Similarity<T, R, D>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T, R, const D: usize> Debug for Similarity<T, R, D>
impl<T, R, const D: usize> Debug for Similarity<T, R, D>
source§impl<T, R, const D: usize> Default for Similarity<T, R, D>
impl<T, R, const D: usize> Default for Similarity<T, R, D>
source§fn default() -> Similarity<T, R, D>
fn default() -> Similarity<T, R, D>
source§impl<T, R, const D: usize> Display for Similarity<T, R, D>
impl<T, R, const D: usize> Display for Similarity<T, R, D>
source§impl<'a, 'b, T, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>
impl<'a, 'b, T, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>
source§impl<'a, 'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D>
impl<'a, 'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: &'b Similarity<T, R, D>,
) -> <&'a Isometry<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
fn div( self, rhs: &'b Similarity<T, R, D>, ) -> <&'a Isometry<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'a, 'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D>
impl<'a, 'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: &'b Similarity<T, R, D>,
) -> <&'a Similarity<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
fn div( self, rhs: &'b Similarity<T, R, D>, ) -> <&'a Similarity<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for Isometry<T, R, D>
impl<'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: &'b Similarity<T, R, D>,
) -> <Isometry<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
fn div( self, rhs: &'b Similarity<T, R, D>, ) -> <Isometry<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> Div<&'b Similarity<T, R, D>> for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: &'b Similarity<T, R, D>,
) -> <Similarity<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
fn div( self, rhs: &'b Similarity<T, R, D>, ) -> <Similarity<T, R, D> as Div<&'b Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'a, 'b, T, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
impl<'a, 'b, T, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.source§impl<'b, T, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
impl<'b, T, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.source§impl<'a, 'b, T> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
impl<'a, 'b, T> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
right: &'b Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <&'a Unit<Quaternion<T>> as Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn div( self, right: &'b Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <&'a Unit<Quaternion<T>> as Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
/
operation. Read moresource§impl<'b, T> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
impl<'b, T> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
right: &'b Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <Unit<Quaternion<T>> as Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn div( self, right: &'b Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <Unit<Quaternion<T>> as Div<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
/
operation. Read moresource§impl<'a, 'b, T> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
impl<'a, 'b, T> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
rhs: &'b Unit<Quaternion<T>>,
) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Div<&'b Unit<Quaternion<T>>>>::Output
fn div( self, rhs: &'b Unit<Quaternion<T>>, ) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Div<&'b Unit<Quaternion<T>>>>::Output
/
operation. Read moresource§impl<'b, T> Div<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
impl<'b, T> Div<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
rhs: &'b Unit<Quaternion<T>>,
) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Div<&'b Unit<Quaternion<T>>>>::Output
fn div( self, rhs: &'b Unit<Quaternion<T>>, ) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Div<&'b Unit<Quaternion<T>>>>::Output
/
operation. Read moresource§impl<'a, T, R, const D: usize> Div<Similarity<T, R, D>> for &'a Isometry<T, R, D>
impl<'a, T, R, const D: usize> Div<Similarity<T, R, D>> for &'a Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: Similarity<T, R, D>,
) -> <&'a Isometry<T, R, D> as Div<Similarity<T, R, D>>>::Output
fn div( self, rhs: Similarity<T, R, D>, ) -> <&'a Isometry<T, R, D> as Div<Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'a, T, R, const D: usize> Div<Similarity<T, R, D>> for &'a Similarity<T, R, D>
impl<'a, T, R, const D: usize> Div<Similarity<T, R, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: Similarity<T, R, D>,
) -> <&'a Similarity<T, R, D> as Div<Similarity<T, R, D>>>::Output
fn div( self, rhs: Similarity<T, R, D>, ) -> <&'a Similarity<T, R, D> as Div<Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<T, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D>
impl<T, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(
self,
rhs: Similarity<T, R, D>,
) -> <Isometry<T, R, D> as Div<Similarity<T, R, D>>>::Output
fn div( self, rhs: Similarity<T, R, D>, ) -> <Isometry<T, R, D> as Div<Similarity<T, R, D>>>::Output
/
operation. Read moresource§impl<'a, T, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
impl<'a, T, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.source§impl<T, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
impl<T, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
/
operator.source§impl<'a, T> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
impl<'a, T> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
right: Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <&'a Unit<Quaternion<T>> as Div<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn div( self, right: Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <&'a Unit<Quaternion<T>> as Div<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
/
operation. Read moresource§impl<T> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
impl<T> Div<Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
right: Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <Unit<Quaternion<T>> as Div<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn div( self, right: Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <Unit<Quaternion<T>> as Div<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
/
operation. Read moresource§impl<'a, T> Div<Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
impl<'a, T> Div<Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
rhs: Unit<Quaternion<T>>,
) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Div<Unit<Quaternion<T>>>>::Output
fn div( self, rhs: Unit<Quaternion<T>>, ) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Div<Unit<Quaternion<T>>>>::Output
/
operation. Read moresource§impl<T> Div<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
impl<T> Div<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
/
operator.source§fn div(
self,
rhs: Unit<Quaternion<T>>,
) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Div<Unit<Quaternion<T>>>>::Output
fn div( self, rhs: Unit<Quaternion<T>>, ) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Div<Unit<Quaternion<T>>>>::Output
/
operation. Read moresource§impl<T, R, const D: usize> Div for Similarity<T, R, D>
impl<T, R, const D: usize> Div for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
/
operator.source§fn div(self, rhs: Similarity<T, R, D>) -> <Similarity<T, R, D> as Div>::Output
fn div(self, rhs: Similarity<T, R, D>) -> <Similarity<T, R, D> as Div>::Output
/
operation. Read moresource§impl<'b, T, R, const D: usize> DivAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> DivAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D>
source§fn div_assign(&mut self, rhs: &'b Isometry<T, R, D>)
fn div_assign(&mut self, rhs: &'b Isometry<T, R, D>)
/=
operation. Read moresource§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 as SimdValue>::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 as SimdValue>::Element: SimdRealField,
source§fn div_assign(&mut self, rhs: &'b Rotation<T, D>)
fn div_assign(&mut self, rhs: &'b Rotation<T, D>)
/=
operation. Read moresource§impl<'b, T, R, const D: usize> DivAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> DivAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D>
source§fn div_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn div_assign(&mut self, rhs: &'b Similarity<T, R, D>)
/=
operation. Read moresource§impl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§impl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§fn div_assign(&mut self, rhs: &'b Unit<Quaternion<T>>)
fn div_assign(&mut self, rhs: &'b Unit<Quaternion<T>>)
/=
operation. Read moresource§impl<T, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D>
impl<T, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D>
source§fn div_assign(&mut self, rhs: Isometry<T, R, D>)
fn div_assign(&mut self, rhs: Isometry<T, R, D>)
/=
operation. Read moresource§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 as SimdValue>::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 as SimdValue>::Element: SimdRealField,
source§fn div_assign(&mut self, rhs: Rotation<T, D>)
fn div_assign(&mut self, rhs: Rotation<T, D>)
/=
operation. Read moresource§impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§fn div_assign(&mut self, rhs: Unit<Quaternion<T>>)
fn div_assign(&mut self, rhs: Unit<Quaternion<T>>)
/=
operation. Read moresource§impl<T, R, const D: usize> DivAssign for Similarity<T, R, D>
impl<T, R, const D: usize> DivAssign for Similarity<T, R, D>
source§fn div_assign(&mut self, rhs: Similarity<T, R, D>)
fn div_assign(&mut self, rhs: Similarity<T, R, D>)
/=
operation. Read moresource§impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 16]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 16]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
source§fn from(
arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16],
) -> Similarity<T, R, D>
fn from( arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16], ) -> Similarity<T, R, D>
source§impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 2]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 2]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
source§fn from(
arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2],
) -> Similarity<T, R, D>
fn from( arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2], ) -> Similarity<T, R, D>
source§impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 4]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 4]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
source§fn from(
arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4],
) -> Similarity<T, R, D>
fn from( arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4], ) -> Similarity<T, R, D>
source§impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 8]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
impl<T, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8]> for Similarity<T, R, D>where
T: Scalar + Zero + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 8]>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D> + Scalar + Zero + Copy,
<T as SimdValue>::Element: Scalar + Zero + Copy,
source§fn from(
arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8],
) -> Similarity<T, R, D>
fn from( arr: [Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8], ) -> Similarity<T, R, D>
source§impl<T, R, const D: usize> From<Similarity<T, R, D>> for Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: SimdRealField,
Const<D>: DimNameAdd<Const<1>>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
impl<T, R, const D: usize> From<Similarity<T, R, D>> for Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: SimdRealField,
Const<D>: DimNameAdd<Const<1>>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§fn from(
sim: Similarity<T, R, D>,
) -> Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>
fn from( sim: Similarity<T, R, D>, ) -> Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>
source§impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
impl From<Similarity<f32, Unit<Quaternion<f32>>, 3>> for Mat4
source§fn from(iso: Similarity<f32, Unit<Quaternion<f32>>, 3>) -> Mat4
fn from(iso: Similarity<f32, Unit<Quaternion<f32>>, 3>) -> Mat4
source§impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
impl From<Similarity<f64, Unit<Quaternion<f64>>, 3>> for DMat4
source§fn from(iso: Similarity<f64, Unit<Quaternion<f64>>, 3>) -> DMat4
fn from(iso: Similarity<f64, Unit<Quaternion<f64>>, 3>) -> DMat4
source§impl<T, R, const D: usize> Hash for Similarity<T, R, D>
impl<T, R, const D: usize> Hash for Similarity<T, R, D>
source§impl<'a, 'b, T, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>
impl<'a, 'b, T, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>
§type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
*
operator.source§fn mul(
self,
right: &'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> <&'a Similarity<T, R, D> as Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
fn mul( self, right: &'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> <&'a Similarity<T, R, D> as Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>
§type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
*
operator.source§fn mul(
self,
right: &'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> <Similarity<T, R, D> as Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
fn mul( self, right: &'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> <Similarity<T, R, D> as Mul<&'b Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
*
operation. Read moresource§impl<'a, 'b, T, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>
impl<'a, 'b, T, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D>
source§impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D>
impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <&'a Isometry<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <&'a Isometry<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D>
impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <&'a Similarity<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <&'a Similarity<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <&'a Transform<T, C, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <&'a Transform<T, C, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Translation<T, D>
impl<'a, 'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Translation<T, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: &'b Similarity<T, R, D>,
) -> <&'a Translation<T, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, right: &'b Similarity<T, R, D>, ) -> <&'a Translation<T, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Isometry<T, R, D>
impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <Isometry<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <Isometry<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <Similarity<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <Similarity<T, R, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§fn mul(
self,
rhs: &'b Similarity<T, R, D>,
) -> <Transform<T, C, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, rhs: &'b Similarity<T, R, D>, ) -> <Transform<T, C, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Translation<T, D>
impl<'b, T, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Translation<T, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: &'b Similarity<T, R, D>,
) -> <Translation<T, D> as Mul<&'b Similarity<T, R, D>>>::Output
fn mul( self, right: &'b Similarity<T, R, D>, ) -> <Translation<T, D> as Mul<&'b Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, 'b, T, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
impl<'a, 'b, T, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.source§impl<'b, T, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
impl<'b, T, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.source§impl<'a, 'b, T> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
impl<'a, 'b, T> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
right: &'b Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <&'a Unit<Quaternion<T>> as Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn mul( self, right: &'b Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <&'a Unit<Quaternion<T>> as Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
*
operation. Read moresource§impl<'b, T> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
impl<'b, T> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
right: &'b Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <Unit<Quaternion<T>> as Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn mul( self, right: &'b Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <Unit<Quaternion<T>> as Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§impl<'a, 'b, T, R, const D: usize> Mul<&'b Translation<T, D>> for &'a Similarity<T, R, D>
impl<'a, 'b, T, R, const D: usize> Mul<&'b Translation<T, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: &'b Translation<T, D>,
) -> <&'a Similarity<T, R, D> as Mul<&'b Translation<T, D>>>::Output
fn mul( self, right: &'b Translation<T, D>, ) -> <&'a Similarity<T, R, D> as Mul<&'b Translation<T, D>>>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> Mul<&'b Translation<T, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> Mul<&'b Translation<T, D>> for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: &'b Translation<T, D>,
) -> <Similarity<T, R, D> as Mul<&'b Translation<T, D>>>::Output
fn mul( self, right: &'b Translation<T, D>, ) -> <Similarity<T, R, D> as Mul<&'b Translation<T, D>>>::Output
*
operation. Read moresource§impl<'a, 'b, T> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
impl<'a, 'b, T> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
rhs: &'b Unit<Quaternion<T>>,
) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Mul<&'b Unit<Quaternion<T>>>>::Output
fn mul( self, rhs: &'b Unit<Quaternion<T>>, ) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Mul<&'b Unit<Quaternion<T>>>>::Output
*
operation. Read moresource§impl<'b, T> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
impl<'b, T> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
rhs: &'b Unit<Quaternion<T>>,
) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Mul<&'b Unit<Quaternion<T>>>>::Output
fn mul( self, rhs: &'b Unit<Quaternion<T>>, ) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Mul<&'b Unit<Quaternion<T>>>>::Output
*
operation. Read moresource§impl<'a, T, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>
impl<'a, T, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for &'a Similarity<T, R, D>
§type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
*
operator.source§fn mul(
self,
right: Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> <&'a Similarity<T, R, D> as Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
fn mul( self, right: Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> <&'a Similarity<T, R, D> as Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
*
operation. Read moresource§impl<T, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>
impl<T, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>> for Similarity<T, R, D>
§type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
type Output = Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>
*
operator.source§fn mul(
self,
right: Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>,
) -> <Similarity<T, R, D> as Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
fn mul( self, right: Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>, ) -> <Similarity<T, R, D> as Mul<Matrix<T, Const<D>, Const<1>, ArrayStorage<T, D, 1>>>>::Output
*
operation. Read moresource§impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Isometry<T, R, D>
impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: Similarity<T, R, D>,
) -> <&'a Isometry<T, R, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, rhs: Similarity<T, R, D>, ) -> <&'a Isometry<T, R, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Similarity<T, R, D>
impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: Similarity<T, R, D>,
) -> <&'a Similarity<T, R, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, rhs: Similarity<T, R, D>, ) -> <&'a Similarity<T, R, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§fn mul(
self,
rhs: Similarity<T, R, D>,
) -> <&'a Transform<T, C, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, rhs: Similarity<T, R, D>, ) -> <&'a Transform<T, C, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Translation<T, D>
impl<'a, T, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Translation<T, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: Similarity<T, R, D>,
) -> <&'a Translation<T, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, right: Similarity<T, R, D>, ) -> <&'a Translation<T, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<T, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D>
impl<T, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
rhs: Similarity<T, R, D>,
) -> <Isometry<T, R, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, rhs: Similarity<T, R, D>, ) -> <Isometry<T, R, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§fn mul(
self,
rhs: Similarity<T, R, D>,
) -> <Transform<T, C, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, rhs: Similarity<T, R, D>, ) -> <Transform<T, C, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<T, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D>
impl<T, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: Similarity<T, R, D>,
) -> <Translation<T, D> as Mul<Similarity<T, R, D>>>::Output
fn mul( self, right: Similarity<T, R, D>, ) -> <Translation<T, D> as Mul<Similarity<T, R, D>>>::Output
*
operation. Read moresource§impl<'a, T, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
impl<'a, T, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.source§impl<T, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
impl<T, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D>
§type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
*
operator.source§impl<'a, T> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
impl<'a, T> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for &'a Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
right: Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <&'a Unit<Quaternion<T>> as Mul<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn mul( self, right: Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <&'a Unit<Quaternion<T>> as Mul<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
*
operation. Read moresource§impl<T> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
impl<T> Mul<Similarity<T, Unit<Quaternion<T>>, 3>> for Unit<Quaternion<T>>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
right: Similarity<T, Unit<Quaternion<T>>, 3>,
) -> <Unit<Quaternion<T>> as Mul<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
fn mul( self, right: Similarity<T, Unit<Quaternion<T>>, 3>, ) -> <Unit<Quaternion<T>> as Mul<Similarity<T, Unit<Quaternion<T>>, 3>>>::Output
*
operation. Read moresource§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategoryMul<TAffine>,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
§type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
type Output = Transform<T, <C as TCategoryMul<TAffine>>::Representative, D>
*
operator.source§impl<'a, T, R, const D: usize> Mul<Translation<T, D>> for &'a Similarity<T, R, D>
impl<'a, T, R, const D: usize> Mul<Translation<T, D>> for &'a Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: Translation<T, D>,
) -> <&'a Similarity<T, R, D> as Mul<Translation<T, D>>>::Output
fn mul( self, right: Translation<T, D>, ) -> <&'a Similarity<T, R, D> as Mul<Translation<T, D>>>::Output
*
operation. Read moresource§impl<T, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D>
impl<T, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(
self,
right: Translation<T, D>,
) -> <Similarity<T, R, D> as Mul<Translation<T, D>>>::Output
fn mul( self, right: Translation<T, D>, ) -> <Similarity<T, R, D> as Mul<Translation<T, D>>>::Output
*
operation. Read moresource§impl<'a, T> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
impl<'a, T> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
rhs: Unit<Quaternion<T>>,
) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Mul<Unit<Quaternion<T>>>>::Output
fn mul( self, rhs: Unit<Quaternion<T>>, ) -> <&'a Similarity<T, Unit<Quaternion<T>>, 3> as Mul<Unit<Quaternion<T>>>>::Output
*
operation. Read moresource§impl<T> Mul<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
impl<T> Mul<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>
§type Output = Similarity<T, Unit<Quaternion<T>>, 3>
type Output = Similarity<T, Unit<Quaternion<T>>, 3>
*
operator.source§fn mul(
self,
rhs: Unit<Quaternion<T>>,
) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Mul<Unit<Quaternion<T>>>>::Output
fn mul( self, rhs: Unit<Quaternion<T>>, ) -> <Similarity<T, Unit<Quaternion<T>>, 3> as Mul<Unit<Quaternion<T>>>>::Output
*
operation. Read moresource§impl<T, R, const D: usize> Mul for Similarity<T, R, D>
impl<T, R, const D: usize> Mul for Similarity<T, R, D>
§type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
*
operator.source§fn mul(self, rhs: Similarity<T, R, D>) -> <Similarity<T, R, D> as Mul>::Output
fn mul(self, rhs: Similarity<T, R, D>) -> <Similarity<T, R, D> as Mul>::Output
*
operation. Read moresource§impl<'b, T, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: &'b Isometry<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Isometry<T, R, D>)
*=
operation. Read moresource§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 as SimdValue>::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 as SimdValue>::Element: SimdRealField,
source§fn mul_assign(&mut self, rhs: &'b Rotation<T, D>)
fn mul_assign(&mut self, rhs: &'b Rotation<T, D>)
*=
operation. Read moresource§impl<'b, T, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
*=
operation. Read moresource§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<Const<1>>,
C: TCategory,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategory,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: &'b Similarity<T, R, D>)
*=
operation. Read moresource§impl<'b, T, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D>
impl<'b, T, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: &'b Translation<T, D>)
fn mul_assign(&mut self, rhs: &'b Translation<T, D>)
*=
operation. Read moresource§impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§fn mul_assign(&mut self, rhs: &'b Unit<Quaternion<T>>)
fn mul_assign(&mut self, rhs: &'b Unit<Quaternion<T>>)
*=
operation. Read moresource§impl<T, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D>
impl<T, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: Isometry<T, R, D>)
fn mul_assign(&mut self, rhs: Isometry<T, R, D>)
*=
operation. Read moresource§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 as SimdValue>::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 as SimdValue>::Element: SimdRealField,
source§fn mul_assign(&mut self, rhs: Rotation<T, D>)
fn mul_assign(&mut self, rhs: Rotation<T, D>)
*=
operation. Read moresource§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<Const<1>>,
C: TCategory,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Const<1>>,
C: TCategory,
R: SubsetOf<Matrix<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
*=
operation. Read moresource§impl<T, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D>
impl<T, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: Translation<T, D>)
fn mul_assign(&mut self, rhs: Translation<T, D>)
*=
operation. Read moresource§impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, Unit<Complex<T>>, 2>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, Unit<Quaternion<T>>, 3>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
<T as SimdValue>::Element: SimdRealField,
source§fn mul_assign(&mut self, rhs: Unit<Quaternion<T>>)
fn mul_assign(&mut self, rhs: Unit<Quaternion<T>>)
*=
operation. Read moresource§impl<T, R, const D: usize> MulAssign for Similarity<T, R, D>
impl<T, R, const D: usize> MulAssign for Similarity<T, R, D>
source§fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
fn mul_assign(&mut self, rhs: Similarity<T, R, D>)
*=
operation. Read moresource§impl<T, R, const D: usize> One for Similarity<T, R, D>
impl<T, R, const D: usize> One for Similarity<T, R, D>
source§impl<T, R, const D: usize> PartialEq for Similarity<T, R, D>
impl<T, R, const D: usize> PartialEq for Similarity<T, R, D>
source§fn eq(&self, right: &Similarity<T, R, D>) -> bool
fn eq(&self, right: &Similarity<T, R, D>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<T, R, const D: usize> RelativeEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
impl<T, R, const D: usize> RelativeEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + RelativeEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
source§fn default_max_relative() -> <Similarity<T, R, D> as AbsDiffEq>::Epsilon
fn default_max_relative() -> <Similarity<T, R, D> as AbsDiffEq>::Epsilon
source§fn relative_eq(
&self,
other: &Similarity<T, R, D>,
epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon,
max_relative: <Similarity<T, R, D> as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Similarity<T, R, D>, epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon, max_relative: <Similarity<T, R, D> as AbsDiffEq>::Epsilon, ) -> bool
§fn 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
].source§impl<T, R, const D: usize> SimdValue for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: SimdValue<SimdBool = <T as SimdValue>::SimdBool> + AbstractRotation<T, D>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::Element, D>,
impl<T, R, const D: usize> SimdValue for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: SimdValue<SimdBool = <T as SimdValue>::SimdBool> + AbstractRotation<T, D>,
<R as SimdValue>::Element: AbstractRotation<<T as SimdValue>::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
.source§fn splat(
val: <Similarity<T, R, D> as SimdValue>::Element,
) -> Similarity<T, R, D>
fn splat( val: <Similarity<T, R, D> as SimdValue>::Element, ) -> Similarity<T, R, D>
val
.source§fn extract(&self, i: usize) -> <Similarity<T, R, D> as SimdValue>::Element
fn extract(&self, i: usize) -> <Similarity<T, R, D> as SimdValue>::Element
self
. Read moresource§unsafe fn extract_unchecked(
&self,
i: usize,
) -> <Similarity<T, R, D> as SimdValue>::Element
unsafe fn extract_unchecked( &self, i: usize, ) -> <Similarity<T, R, D> as SimdValue>::Element
self
without bound-checking.source§unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <Similarity<T, R, D> as SimdValue>::Element,
)
unsafe fn replace_unchecked( &mut self, i: usize, val: <Similarity<T, R, D> as SimdValue>::Element, )
self
by val
without bound-checking.source§fn select(
self,
cond: <Similarity<T, R, D> as SimdValue>::SimdBool,
other: Similarity<T, R, D>,
) -> Similarity<T, R, D>
fn select( self, cond: <Similarity<T, R, D> as SimdValue>::SimdBool, other: Similarity<T, R, D>, ) -> Similarity<T, R, D>
source§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<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + 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>>,
Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + 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>>,
Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§fn to_superset(
&self,
) -> 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>
fn to_superset( &self, ) -> 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>
self
to the equivalent element of its superset.source§fn is_in_subset(
m: &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>,
) -> bool
fn is_in_subset( m: &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>, ) -> bool
element
is actually part of the subset Self
(and can be converted to it).source§fn from_superset_unchecked(
m: &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>,
) -> Similarity<T1, R, D>
fn from_superset_unchecked( m: &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>, ) -> Similarity<T1, R, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2>> for Unit<Complex<T1>>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Unit<Complex<T1>>>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2>> for Unit<Complex<T1>>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Unit<Complex<T1>>>,
source§fn to_superset(&self) -> Similarity<T2, R, 2>
fn to_superset(&self) -> Similarity<T2, R, 2>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R, 2>) -> Unit<Complex<T1>>
fn from_superset_unchecked(sim: &Similarity<T2, R, 2>) -> Unit<Complex<T1>>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3>> for Unit<Quaternion<T1>>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Unit<Quaternion<T1>>>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3>> for Unit<Quaternion<T1>>where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Unit<Quaternion<T1>>>,
source§fn to_superset(&self) -> Similarity<T2, R, 3>
fn to_superset(&self) -> Similarity<T2, R, 3>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R, 3>) -> Unit<Quaternion<T1>>
fn from_superset_unchecked(sim: &Similarity<T2, R, 3>) -> Unit<Quaternion<T1>>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§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<Rotation<T1, D>>,
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<Rotation<T1, D>>,
source§fn to_superset(&self) -> Similarity<T2, R, D>
fn to_superset(&self) -> Similarity<T2, R, D>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Rotation<T1, D>
fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Rotation<T1, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D>
impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D>
source§fn to_superset(&self) -> Similarity<T2, R, D>
fn to_superset(&self) -> Similarity<T2, R, D>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Translation<T1, D>
fn from_superset_unchecked(sim: &Similarity<T2, R, D>) -> Translation<T1, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§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>,
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>,
source§fn to_superset(&self) -> Similarity<T2, R2, D>
fn to_superset(&self) -> Similarity<T2, R2, D>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Isometry<T1, R1, D>
fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Isometry<T1, R1, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§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>,
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>,
source§fn to_superset(&self) -> Similarity<T2, R2, D>
fn to_superset(&self) -> Similarity<T2, R2, D>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Similarity<T1, R1, D>
fn from_superset_unchecked(sim: &Similarity<T2, R2, D>) -> Similarity<T1, R1, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3>> for Unit<DualQuaternion<T1>>
impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3>> for Unit<DualQuaternion<T1>>
source§fn to_superset(&self) -> Similarity<T2, Unit<Quaternion<T2>>, 3>
fn to_superset(&self) -> Similarity<T2, Unit<Quaternion<T2>>, 3>
self
to the equivalent element of its superset.source§fn is_in_subset(sim: &Similarity<T2, Unit<Quaternion<T2>>, 3>) -> bool
fn is_in_subset(sim: &Similarity<T2, Unit<Quaternion<T2>>, 3>) -> bool
element
is actually part of the subset Self
(and can be converted to it).source§fn from_superset_unchecked(
sim: &Similarity<T2, Unit<Quaternion<T2>>, 3>,
) -> Unit<DualQuaternion<T1>>
fn from_superset_unchecked( sim: &Similarity<T2, Unit<Quaternion<T2>>, 3>, ) -> Unit<DualQuaternion<T1>>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§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<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + 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>>,
Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + 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>>,
Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§fn to_superset(&self) -> Transform<T2, C, D>
fn to_superset(&self) -> Transform<T2, C, D>
self
to the equivalent element of its superset.source§fn 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).source§fn from_superset_unchecked(t: &Transform<T2, C, D>) -> Similarity<T1, R, D>
fn from_superset_unchecked(t: &Transform<T2, C, D>) -> Similarity<T1, R, D>
self.to_superset
but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresource§impl TryFrom<DMat4> for Similarity<f64, Unit<Quaternion<f64>>, 3>
impl TryFrom<DMat4> for Similarity<f64, Unit<Quaternion<f64>>, 3>
source§impl TryFrom<Mat4> for Similarity<f32, Unit<Quaternion<f32>>, 3>
impl TryFrom<Mat4> for Similarity<f32, Unit<Quaternion<f32>>, 3>
source§impl<T, R, const D: usize> UlpsEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + UlpsEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
impl<T, R, const D: usize> UlpsEq for Similarity<T, R, D>where
T: RealField,
R: AbstractRotation<T, D> + UlpsEq<Epsilon = <T as AbsDiffEq>::Epsilon>,
<T as AbsDiffEq>::Epsilon: Clone,
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§fn ulps_eq(
&self,
other: &Similarity<T, R, D>,
epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon,
max_ulps: u32,
) -> bool
fn ulps_eq( &self, other: &Similarity<T, R, D>, epsilon: <Similarity<T, R, D> as AbsDiffEq>::Epsilon, max_ulps: u32, ) -> bool
impl<T, R, const D: usize> Copy for Similarity<T, R, D>
impl<T, R, const D: usize> Eq for Similarity<T, R, D>
Auto Trait Implementations§
impl<T, R, const D: usize> Freeze for Similarity<T, R, D>
impl<T, R, const D: usize> RefUnwindSafe for Similarity<T, R, D>where
T: RefUnwindSafe,
R: RefUnwindSafe,
impl<T, R, const D: usize> Send for Similarity<T, R, D>
impl<T, R, const D: usize> Sync for Similarity<T, R, D>
impl<T, R, const D: usize> Unpin for Similarity<T, R, D>
impl<T, R, const D: usize> UnwindSafe for Similarity<T, R, D>where
T: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist.§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DynEq for T
impl<T> DynEq for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given [World]§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &World) -> T
fn from_world(_world: &World) -> T
Self
using data from the given World
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> RawDefault for Twhere
T: Default,
impl<T> RawDefault for Twhere
T: Default,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn 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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.