Struct nalgebra::geometry::Similarity [−][src]
#[repr(C)]pub struct Similarity<T, R, const D: usize> {
pub isometry: Isometry<T, R, D>,
// some fields omitted
}
Expand description
A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.
Fields
isometry: Isometry<T, R, D>
The part of this similarity that does not include the scaling factor.
Implementations
Creates a new similarity from its rotational and translational parts.
Creates a new similarity from its rotational and translational parts.
The scaling factor of this similarity transformation.
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Creates a new similarity that applies only a scaling factor.
Inverts self
in-place.
The similarity transformation that applies a scaling factor scaling
before self
.
The similarity transformation that applies a scaling factor scaling
after self
.
Sets self
to the similarity transformation that applies a scaling factor scaling
before self
.
Sets self
to the similarity transformation that applies a scaling factor scaling
after self
.
Appends to self
the given translation in-place.
Appends to self
the given rotation in-place.
Appends in-place to self
a rotation centered at the point p
, i.e., the rotation that
lets p
invariant.
Appends in-place to self
a rotation centered at the point with coordinates
self.translation
.
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);
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);
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);
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);
pub fn to_homogeneous(
&self
) -> OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
pub fn to_homogeneous(
&self
) -> OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Converts this similarity into its equivalent homogeneous transformation matrix.
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
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);
Creates a new similarity from a translation, a rotation, and an uniform scaling factor.
Example
let sim = SimilarityMatrix2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2, 3.0);
assert_relative_eq!(sim * Point2::new(2.0, 4.0), Point2::new(-11.0, 8.0), epsilon = 1.0e-6);
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation2<To>, 2> where
Similarity<To, Rotation2<To>, 2>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation2<To>, 2> where
Similarity<To, Rotation2<To>, 2>: SupersetOf<Self>,
Cast the components of self
to another type.
Example
let sim = SimilarityMatrix2::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, SimilarityMatrix2::<f32>::identity());
Creates a new similarity from a translation and a rotation angle.
Example
let sim = Similarity2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2, 3.0);
assert_relative_eq!(sim * Point2::new(2.0, 4.0), Point2::new(-11.0, 8.0), epsilon = 1.0e-6);
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitComplex<To>, 2> where
Similarity<To, UnitComplex<To>, 2>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitComplex<To>, 2> where
Similarity<To, UnitComplex<To>, 2>: SupersetOf<Self>,
Cast the components of self
to another type.
Example
let sim = Similarity2::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity2::<f32>::identity());
Creates a new similarity from a translation, rotation axis-angle, and scaling factor.
Example
let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
// Point and vector being transformed in the tests.
let pt = Point3::new(4.0, 5.0, 6.0);
let vec = Vector3::new(4.0, 5.0, 6.0);
// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);
// Similarity with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation3<To>, 3> where
Similarity<To, Rotation3<To>, 3>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, Rotation3<To>, 3> where
Similarity<To, Rotation3<To>, 3>: SupersetOf<Self>,
Cast the components of self
to another type.
Example
let sim = Similarity3::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity3::<f32>::identity());
Creates an similarity that corresponds to a scaling factor and a local frame of
an observer standing at the point eye
and looking toward target
.
It maps the view direction target - eye
to the positive z
axis and the origin to the
eye
.
Arguments
- eye - The observer position.
- target - The target position.
- up - Vertical direction. The only requirement of this parameter is to not be collinear
to
eye - at
. Non-collinearity is not checked.
Example
let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();
// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);
// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
👎 Deprecated: renamed to face_towards
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
renamed to face_towards
Deprecated: Use [SimilarityMatrix3::face_towards
] instead.
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);
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);
Creates a new similarity from a translation, rotation axis-angle, and scaling factor.
Example
let axisangle = Vector3::y() * f32::consts::FRAC_PI_2;
let translation = Vector3::new(1.0, 2.0, 3.0);
// Point and vector being transformed in the tests.
let pt = Point3::new(4.0, 5.0, 6.0);
let vec = Vector3::new(4.0, 5.0, 6.0);
// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);
// Similarity with its rotation part represented as a Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::new(translation, axisangle, 3.0);
assert_relative_eq!(sim * pt, Point3::new(19.0, 17.0, -9.0), epsilon = 1.0e-5);
assert_relative_eq!(sim * vec, Vector3::new(18.0, 15.0, -12.0), epsilon = 1.0e-5);
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitQuaternion<To>, 3> where
Similarity<To, UnitQuaternion<To>, 3>: SupersetOf<Self>,
pub fn cast<To: Scalar>(self) -> Similarity<To, UnitQuaternion<To>, 3> where
Similarity<To, UnitQuaternion<To>, 3>: SupersetOf<Self>,
Cast the components of self
to another type.
Example
let sim = Similarity3::<f64>::identity();
let sim2 = sim.cast::<f32>();
assert_eq!(sim2, Similarity3::<f32>::identity());
Creates an similarity that corresponds to a scaling factor and a local frame of
an observer standing at the point eye
and looking toward target
.
It maps the view direction target - eye
to the positive z
axis and the origin to the
eye
.
Arguments
- eye - The observer position.
- target - The target position.
- up - Vertical direction. The only requirement of this parameter is to not be collinear
to
eye - at
. Non-collinearity is not checked.
Example
let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();
// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);
// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::face_towards(&eye, &target, &up, 3.0);
assert_eq!(sim * Point3::origin(), eye);
assert_relative_eq!(sim * Vector3::z(), Vector3::x() * 3.0, epsilon = 1.0e-6);
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
👎 Deprecated: renamed to face_towards
pub fn new_observer_frames(
eye: &Point3<T>,
target: &Point3<T>,
up: &Vector3<T>,
scaling: T
) -> Self
renamed to face_towards
Deprecated: Use [SimilarityMatrix3::face_towards
] instead.
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);
Builds a left-handed look-at view matrix including a scaling factor.
This conforms to the common notion of left handed look-at matrix from the computer graphics community.
Arguments
- eye - The eye position.
- target - The target position.
- up - A vector approximately aligned with required the vertical axis. The only
requirement of this parameter is to not be collinear to
target - eye
.
Example
let eye = Point3::new(1.0, 2.0, 3.0);
let target = Point3::new(2.0, 2.0, 3.0);
let up = Vector3::y();
// Similarity with its rotation part represented as a UnitQuaternion
let sim = Similarity3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);
// Similarity with its rotation part represented as Rotation3 (a 3x3 rotation matrix).
let sim = SimilarityMatrix3::look_at_lh(&eye, &target, &up, 3.0);
assert_relative_eq!(sim * Vector3::x(), Vector3::z() * 3.0, epsilon = 1.0e-6);
Trait Implementations
impl<T: RealField, R, const D: usize> AbsDiffEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + AbsDiffEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
impl<T: RealField, R, const D: usize> AbsDiffEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + AbsDiffEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
The default tolerance to use when testing values that are close together. Read more
A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
The inverse of AbsDiffEq::abs_diff_eq
.
impl<T: Scalar + Zero, R: AbstractRotation<T, D> + Clone, const D: usize> Clone for Similarity<T, R, D>
impl<T: Scalar + Zero, R: AbstractRotation<T, D> + Clone, const D: usize> Clone for Similarity<T, R, D>
impl<'de, T, R, const D: usize> Deserialize<'de> for Similarity<T, R, D> where
T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<"T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>">>,
Owned<T, Const<"T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>">>: Deserialize<'de>,
impl<'de, T, R, const D: usize> Deserialize<'de> for Similarity<T, R, D> where
T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<"T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>">>,
Owned<T, Const<"T: Scalar + Deserialize<'de>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Deserialize<'de>">>: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<T, R, const D: usize> Display for Similarity<T, R, D> where
T: RealField + Display,
R: AbstractRotation<T, D> + Display,
impl<T, R, const D: usize> Display for Similarity<T, R, D> where
T: RealField + Display,
R: AbstractRotation<T, D> + Display,
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Div<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the /
operator.
impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Div<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the /
operator.
impl<'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, 'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Div<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Div<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, const D: usize> Div<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Div<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Div<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Div<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Div<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the /
operator.
impl<'a, T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Div<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the /
operator.
impl<T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<T: SimdRealField> Div<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, T: SimdRealField> Div<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<T: SimdRealField> Div<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<T: SimdRealField> Div<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'a, T: SimdRealField> Div<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Div<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the /
operator.
Performs the /
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the /=
operation. Read more
impl<'b, T, const D: usize> DivAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T, const D: usize> DivAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> DivAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the /=
operation. Read more
impl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T> DivAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T> DivAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<T: SimdRealField, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> DivAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the /=
operation. Read more
impl<T, const D: usize> DivAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T, const D: usize> DivAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<T: SimdRealField, R, const D: usize> DivAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> DivAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the /=
operation. Read more
impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> DivAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> DivAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the /=
operation. Read more
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 16]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 16]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 16]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 2]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 2]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 2]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 4]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 4]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 4]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 8]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: Scalar + Zero + PrimitiveSimdValue, R, const D: usize> From<[Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>; 8]> for Similarity<T, R, D> where
T: From<[<T as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<T, D> + From<[<R as SimdValue>::Element; 8]>,
R::Element: AbstractRotation<T::Element, D>,
T::Element: Scalar + Zero + Copy,
R::Element: Scalar + Zero + Copy,
impl<T: SimdRealField, R, const D: usize> From<Similarity<T, R, D>> for OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T: SimdRealField, R, const D: usize> From<Similarity<T, R, D>> for OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Performs the conversion.
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
type Output = Transform<T, C::Representative, D>
type Output = Transform<T, C::Representative, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Similarity<T, R, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
type Output = Transform<T, C::Representative, D>
type Output = Transform<T, C::Representative, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the *
operator.
impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField, const D: usize> Mul<&'b Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the *
operator.
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for &'a Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, 'b, T, C, R, const D: usize> Mul<&'b Transform<T, C, D>> for &'a Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Translation<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Isometry<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Mul<Rotation<T, D>> for &'a Similarity<T, Rotation<T, D>, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Translation<T, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T, C, R, const D: usize> Mul<Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T, C, R, const D: usize> Mul<Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
type Output = Transform<T, C::Representative, D>
type Output = Transform<T, C::Representative, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T, C, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, T, C, R, const D: usize> Mul<Similarity<T, R, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
type Output = Transform<T, C::Representative, D>
type Output = Transform<T, C::Representative, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
impl<T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the *
operator.
impl<'a, T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField, const D: usize> Mul<Similarity<T, Rotation<T, D>, D>> for &'a Rotation<T, D> where
T::Element: SimdRealField,
type Output = Similarity<T, Rotation<T, D>, D>
type Output = Similarity<T, Rotation<T, D>, D>
The resulting type after applying the *
operator.
impl<T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Complex<T>>, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Similarity<T, Unit<Quaternion<T>>, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T, C, R, const D: usize> Mul<Transform<T, C, D>> for Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T, C, R, const D: usize> Mul<Transform<T, C, D>> for Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, T, C, R, const D: usize> Mul<Transform<T, C, D>> for &'a Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, T, C, R, const D: usize> Mul<Transform<T, C, D>> for &'a Similarity<T, R, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategoryMul<TAffine>,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<Translation<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
type Output = Similarity<T, R, D>
type Output = Similarity<T, R, D>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField> Mul<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField> Mul<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Unit<Complex<T>>> for &'a Similarity<T, UnitComplex<T>, 2> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitComplex<T>, 2>
type Output = Similarity<T, UnitComplex<T>, 2>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<T: SimdRealField> Mul<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'a, T: SimdRealField> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<Unit<Quaternion<T>>> for &'a Similarity<T, UnitQuaternion<T>, 3> where
T::Element: SimdRealField,
type Output = Similarity<T, UnitQuaternion<T>, 3>
type Output = Similarity<T, UnitQuaternion<T>, 3>
The resulting type after applying the *
operator.
Performs the *
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<'b, T, C, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'b, T, C, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Performs the *=
operation. Read more
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<T, const D: usize> MulAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T, const D: usize> MulAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<T: SimdRealField, R, const D: usize> MulAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> MulAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<T, C, R, const D: usize> MulAssign<Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T, C, R, const D: usize> MulAssign<Similarity<T, R, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Performs the *=
operation. Read more
impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
Performs the *=
operation. Read more
impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
T::Element: SimdRealField,
Performs the *=
operation. Read more
impl<T: SimdRealField, R, const D: usize> One for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> One for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> PartialEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + PartialEq,
impl<T: SimdRealField, R, const D: usize> PartialEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + PartialEq,
impl<T: RealField, R, const D: usize> RelativeEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + RelativeEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
impl<T: RealField, R, const D: usize> RelativeEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + RelativeEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
The default relative tolerance for testing values that are far-apart. Read more
A test for equality that uses a relative comparison if the values are far apart.
The inverse of RelativeEq::relative_eq
.
impl<T, R, const D: usize> Serialize for Similarity<T, R, D> where
T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<"T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize">>,
Owned<T, Const<"T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize">>: Serialize,
impl<T, R, const D: usize> Serialize for Similarity<T, R, D> where
T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<"T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize">>,
Owned<T, Const<"T: Scalar + Serialize,
R: Serialize,
DefaultAllocator: Allocator<T, Const<D>>,
Owned<T, Const<D>>: Serialize">>: Serialize,
impl<T: SimdRealField, R, const D: usize> SimdValue for Similarity<T, R, D> where
T::Element: SimdRealField,
R: SimdValue<SimdBool = T::SimdBool> + AbstractRotation<T, D>,
R::Element: AbstractRotation<T::Element, D>,
impl<T: SimdRealField, R, const D: usize> SimdValue for Similarity<T, R, D> where
T::Element: SimdRealField,
R: SimdValue<SimdBool = T::SimdBool> + AbstractRotation<T, D>,
R::Element: AbstractRotation<T::Element, D>,
type Element = Similarity<T::Element, R::Element, D>
type Element = Similarity<T::Element, R::Element, D>
The type of the elements of each lane of this SIMD value.
Extracts the i-th lane of self
without bound-checking.
Replaces the i-th lane of self
by val
. Read more
Replaces the i-th lane of self
by val
without bound-checking.
Merges self
and other
depending on the lanes of cond
. Read more
Applies a function to each lane of self
. Read more
impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>>::Buffer>> for Similarity<T1, R, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>>::Buffer>> for Similarity<T1, R, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
fn from_superset_unchecked(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> Self
fn from_superset_unchecked(
m: &OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>
) -> Self
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2_usize>> for UnitComplex<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Self>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2_usize>> for UnitComplex<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 2> + SupersetOf<Self>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3_usize>> for UnitQuaternion<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Self>,
impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3_usize>> for UnitQuaternion<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, 3> + SupersetOf<Self>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Rotation<T1, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, D> + SupersetOf<Self>,
impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Rotation<T1, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, D> + SupersetOf<Self>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, D>,
impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R: AbstractRotation<T2, D>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Isometry<T1, R1, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
R1: AbstractRotation<T1, D> + SubsetOf<R2>,
R2: AbstractRotation<T2, D>,
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>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Similarity<T1, R1, D> where
T1: RealField + SubsetOf<T2>,
T2: RealField + SupersetOf<T1>,
R1: AbstractRotation<T1, D> + SubsetOf<R2>,
R2: AbstractRotation<T2, D>,
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>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3_usize>> for UnitDualQuaternion<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3_usize>> for UnitDualQuaternion<T1> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, R, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Similarity<T1, R, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
C: SuperTCategoryOf<TAffine>,
R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T1, T2, R, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Similarity<T1, R, D> where
T1: RealField,
T2: RealField + SupersetOf<T1>,
C: SuperTCategoryOf<TAffine>,
R: AbstractRotation<T1, D> + SubsetOf<OMatrix<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>> + SubsetOf<OMatrix<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
Const<D>: DimNameAdd<U1> + DimMin<Const<D>, Output = Const<D>>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
The inclusion map: converts self
to the equivalent element of its superset.
Checks if element
is actually part of the subset Self
(and can be converted to it).
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T: RealField, R, const D: usize> UlpsEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + UlpsEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
impl<T: RealField, R, const D: usize> UlpsEq<Similarity<T, R, D>> for Similarity<T, R, D> where
R: AbstractRotation<T, D> + UlpsEq<Epsilon = T::Epsilon>,
T::Epsilon: Clone,
The default ULPs to tolerate when testing values that are far-apart. Read more
A test for equality that uses units in the last place (ULP) if the values are far apart.
impl<T: Scalar + Copy + Zero, R: AbstractRotation<T, D> + Copy, const D: usize> Copy for Similarity<T, R, D> where
Owned<T, Const<D>>: Copy,
impl<T: SimdRealField, R, const D: usize> Eq for Similarity<T, R, D> where
R: AbstractRotation<T, D> + Eq,
Auto Trait Implementations
impl<T, R, const D: usize> RefUnwindSafe for Similarity<T, R, D> where
R: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, R, const D: usize> Send for Similarity<T, R, D> where
R: Send,
T: Send,
impl<T, R, const D: usize> Sync for Similarity<T, R, D> where
R: Sync,
T: Sync,
impl<T, R, const D: usize> Unpin for Similarity<T, R, D> where
R: Unpin,
T: Unpin,
impl<T, R, const D: usize> UnwindSafe for Similarity<T, R, D> where
R: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.