Struct nalgebra::geometry::Isometry [−][src]
#[repr(C)]pub struct Isometry<N: Scalar, D: DimName, R> where
DefaultAllocator: Allocator<N, D>, { pub rotation: R, pub translation: Translation<N, D>, }
A direct isometry, i.e., a rotation followed by a translation (aka. a rigid-body motion).
This is also known as an element of a Special Euclidean (SE) group.
The Isometry
type can either represent a 2D or 3D isometry.
A 2D isometry is composed of:
- A translation part of type
Translation2
- A rotation part which can either be a
UnitComplex
or aRotation2
. A 3D isometry is composed of: - A translation part of type
Translation3
- A rotation part which can either be a
UnitQuaternion
or aRotation3
.
Note that instead of using the Isometry
type in your code directly, you should use one
of its aliases: Isometry2
, Isometry3
,
IsometryMatrix2
, IsometryMatrix3
. Though
keep in mind that all the documentation of all the methods of these aliases will also appears on
this page.
Construction
- From a 2D vector and/or an angle
new
,translation
,rotation
… - From a 3D vector and/or an axis-angle
new
,translation
,rotation
… - From a 3D eye position and target point
look_at
,look_at_lh
,face_towards
… - From the translation and rotation parts
from_parts
…
Transformation and composition
Note that transforming vectors and points can be done by multiplication, e.g., isometry * point
.
Composing an isometry with another transformation can also be done by multiplication or division.
- Transformation of a vector or a point
transform_vector
,inverse_transform_point
… - Inversion and in-place composition
inverse
,append_rotation_wrt_point_mut
… - Interpolation
lerp_slerp
…
Conversion to a matrix
Fields
rotation: R
The pure rotational part of this isometry.
translation: Translation<N, D>
The pure translational part of this isometry.
Implementations
impl<N: Scalar, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: Scalar, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]pub fn from_parts(translation: Translation<N, D>, rotation: R) -> Self
[src]
Creates a new isometry from its rotational and translational parts.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::PI); let iso = Isometry3::from_parts(tra, rot); assert_relative_eq!(iso * Point3::new(1.0, 2.0, 3.0), Point3::new(-1.0, 2.0, 0.0), epsilon = 1.0e-6);
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]#[must_use = "Did you mean to use inverse_mut()?"]pub fn inverse(&self) -> Self
[src]
Inverts self
.
Example
let iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let inv = iso.inverse(); let pt = Point2::new(1.0, 2.0); assert_eq!(inv * (iso * pt), pt);
pub fn inverse_mut(&mut self)
[src]
Inverts self
in-place.
Example
let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let pt = Point2::new(1.0, 2.0); let transformed_pt = iso * pt; iso.inverse_mut(); assert_eq!(iso * transformed_pt, pt);
pub fn inv_mul(&self, rhs: &Isometry<N, D, R>) -> Self
[src]
Computes self.inverse() * rhs
in a more efficient way.
Example
let mut iso1 = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let mut iso2 = Isometry2::new(Vector2::new(10.0, 20.0), f32::consts::FRAC_PI_4); assert_eq!(iso1.inverse() * iso2, iso1.inv_mul(&iso2));
pub fn append_translation_mut(&mut self, t: &Translation<N, D>)
[src]
Appends to self
the given translation in-place.
Example
let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let tra = Translation2::new(3.0, 4.0); // Same as `iso = tra * iso`. iso.append_translation_mut(&tra); assert_eq!(iso.translation, Translation2::new(4.0, 6.0));
pub fn append_rotation_mut(&mut self, r: &R)
[src]
Appends to self
the given rotation in-place.
Example
let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::PI / 6.0); let rot = UnitComplex::new(f32::consts::PI / 2.0); // Same as `iso = rot * iso`. iso.append_rotation_mut(&rot); assert_relative_eq!(iso, Isometry2::new(Vector2::new(-2.0, 1.0), f32::consts::PI * 2.0 / 3.0), epsilon = 1.0e-6);
pub fn append_rotation_wrt_point_mut(&mut self, r: &R, p: &Point<N, D>)
[src]
Appends in-place to self
a rotation centered at the point p
, i.e., the rotation that
lets p
invariant.
Example
let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let pt = Point2::new(1.0, 0.0); iso.append_rotation_wrt_point_mut(&rot, &pt); assert_relative_eq!(iso * pt, Point2::new(-2.0, 0.0), epsilon = 1.0e-6);
pub fn append_rotation_wrt_center_mut(&mut self, r: &R)
[src]
Appends in-place to self
a rotation centered at the point with coordinates
self.translation
.
Example
let mut iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); let rot = UnitComplex::new(f32::consts::FRAC_PI_2); iso.append_rotation_wrt_center_mut(&rot); // The translation part should not have changed. assert_eq!(iso.translation.vector, Vector2::new(1.0, 2.0)); assert_eq!(iso.rotation, UnitComplex::new(f32::consts::PI));
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]pub fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
Transform the given point by this isometry.
This is the same as the multiplication self * pt
.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2); let iso = Isometry3::from_parts(tra, rot); let transformed_point = iso.transform_point(&Point3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Point3::new(3.0, 2.0, 2.0), epsilon = 1.0e-6);
pub fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
Transform the given vector by this isometry, ignoring the translation component of the isometry.
This is the same as the multiplication self * v
.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2); let iso = Isometry3::from_parts(tra, rot); let transformed_point = iso.transform_vector(&Vector3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Vector3::new(3.0, 2.0, -1.0), epsilon = 1.0e-6);
pub fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
Transform the given point by the inverse of this isometry. This may be less expensive than computing the entire isometry inverse and then transforming the point.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2); let iso = Isometry3::from_parts(tra, rot); let transformed_point = iso.inverse_transform_point(&Point3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Point3::new(0.0, 2.0, 1.0), epsilon = 1.0e-6);
pub fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
Transform the given vector by the inverse of this isometry, ignoring the translation component of the isometry. This may be less expensive than computing the entire isometry inverse and then transforming the point.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::y() * f32::consts::FRAC_PI_2); let iso = Isometry3::from_parts(tra, rot); let transformed_point = iso.inverse_transform_vector(&Vector3::new(1.0, 2.0, 3.0)); assert_relative_eq!(transformed_point, Vector3::new(-3.0, 2.0, 1.0), epsilon = 1.0e-6);
pub fn inverse_transform_unit_vector(
&self,
v: &Unit<VectorN<N, D>>
) -> Unit<VectorN<N, D>>
[src]
&self,
v: &Unit<VectorN<N, D>>
) -> Unit<VectorN<N, D>>
Transform the given unit vector by the inverse of this isometry, ignoring the translation component of the isometry. This may be less expensive than computing the entire isometry inverse and then transforming the point.
Example
let tra = Translation3::new(0.0, 0.0, 3.0); let rot = UnitQuaternion::from_scaled_axis(Vector3::z() * f32::consts::FRAC_PI_2); let iso = Isometry3::from_parts(tra, rot); let transformed_point = iso.inverse_transform_unit_vector(&Vector3::x_axis()); assert_relative_eq!(transformed_point, -Vector3::y_axis(), epsilon = 1.0e-6);
impl<N: SimdRealField, D: DimName, R> Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]pub fn to_homogeneous(&self) -> MatrixN<N, DimNameSum<D, U1>> where
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
Converts this isometry into its equivalent homogeneous transformation matrix.
This is the same as self.to_matrix()
.
Example
let iso = Isometry2::new(Vector2::new(10.0, 20.0), f32::consts::FRAC_PI_6); let expected = Matrix3::new(0.8660254, -0.5, 10.0, 0.5, 0.8660254, 20.0, 0.0, 0.0, 1.0); assert_relative_eq!(iso.to_homogeneous(), expected, epsilon = 1.0e-6);
pub fn to_matrix(&self) -> MatrixN<N, DimNameSum<D, U1>> where
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
[src]
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>>,
Converts this isometry into its equivalent homogeneous transformation matrix.
This is the same as self.to_homogeneous()
.
Example
let iso = Isometry2::new(Vector2::new(10.0, 20.0), f32::consts::FRAC_PI_6); let expected = Matrix3::new(0.8660254, -0.5, 10.0, 0.5, 0.8660254, 20.0, 0.0, 0.0, 1.0); assert_relative_eq!(iso.to_matrix(), expected, epsilon = 1.0e-6);
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]pub fn identity() -> Self
[src]
Creates a new identity isometry.
Example
let iso = Isometry2::identity(); let pt = Point2::new(1.0, 2.0); assert_eq!(iso * pt, pt); let iso = Isometry3::identity(); let pt = Point3::new(1.0, 2.0, 3.0); assert_eq!(iso * pt, pt);
pub fn rotation_wrt_point(r: R, p: Point<N, D>) -> Self
[src]
The isometry that applies the rotation r
with its axis passing through the point p
.
This effectively lets p
invariant.
Example
let rot = UnitComplex::new(f32::consts::PI); let pt = Point2::new(1.0, 0.0); let iso = Isometry2::rotation_wrt_point(rot, pt); assert_eq!(iso * pt, pt); // The rotation center is not affected. assert_relative_eq!(iso * Point2::new(1.0, 2.0), Point2::new(1.0, -2.0), epsilon = 1.0e-6);
impl<N: SimdRealField> Isometry<N, U2, Rotation<N, U2>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U2, Rotation<N, U2>> where
N::Element: SimdRealField,
[src]pub fn new(translation: Vector2<N>, angle: N) -> Self
[src]
Creates a new 2D isometry from a translation and a rotation angle.
Its rotational part is represented as a 2x2 rotation matrix.
Example
let iso = Isometry2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); assert_eq!(iso * Point2::new(3.0, 4.0), Point2::new(-3.0, 5.0));
pub fn translation(x: N, y: N) -> Self
[src]
Creates a new isometry from the given translation coordinates.
pub fn rotation(angle: N) -> Self
[src]
Creates a new isometry from the given rotation angle.
impl<N: SimdRealField> Isometry<N, U2, Unit<Complex<N>>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U2, Unit<Complex<N>>> where
N::Element: SimdRealField,
[src]pub fn new(translation: Vector2<N>, angle: N) -> Self
[src]
Creates a new 2D isometry from a translation and a rotation angle.
Its rotational part is represented as an unit complex number.
Example
let iso = IsometryMatrix2::new(Vector2::new(1.0, 2.0), f32::consts::FRAC_PI_2); assert_eq!(iso * Point2::new(3.0, 4.0), Point2::new(-3.0, 5.0));
pub fn translation(x: N, y: N) -> Self
[src]
Creates a new isometry from the given translation coordinates.
pub fn rotation(angle: N) -> Self
[src]
Creates a new isometry from the given rotation angle.
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>> where
N::Element: SimdRealField,
[src]pub fn new(translation: Vector3<N>, axisangle: Vector3<N>) -> Self
[src]
Creates a new isometry from a translation and a rotation axis-angle.
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); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::new(translation, axisangle); assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6); assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6); // Isometry with its rotation part represented as a Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::new(translation, axisangle); assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6); assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);
pub fn translation(x: N, y: N, z: N) -> Self
[src]
Creates a new isometry from the given translation coordinates.
pub fn rotation(axisangle: Vector3<N>) -> Self
[src]
Creates a new isometry from the given rotation angle.
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>> where
N::Element: SimdRealField,
[src]pub fn new(translation: Vector3<N>, axisangle: Vector3<N>) -> Self
[src]
Creates a new isometry from a translation and a rotation axis-angle.
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); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::new(translation, axisangle); assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6); assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6); // Isometry with its rotation part represented as a Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::new(translation, axisangle); assert_relative_eq!(iso * pt, Point3::new(7.0, 7.0, -1.0), epsilon = 1.0e-6); assert_relative_eq!(iso * vec, Vector3::new(6.0, 5.0, -4.0), epsilon = 1.0e-6);
pub fn translation(x: N, y: N, z: N) -> Self
[src]
Creates a new isometry from the given translation coordinates.
pub fn rotation(axisangle: Vector3<N>) -> Self
[src]
Creates a new isometry from the given rotation angle.
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>> where
N::Element: SimdRealField,
[src]pub fn face_towards(
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
[src]
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
Creates an isometry that corresponds to the local frame of an observer standing at the
point eye
and looking toward target
.
It maps the z
axis to the view direction target - eye
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::face_towards(&eye, &target, &up); assert_eq!(iso * Point3::origin(), eye); assert_relative_eq!(iso * Vector3::z(), Vector3::x()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::face_towards(&eye, &target, &up); assert_eq!(iso * Point3::origin(), eye); assert_relative_eq!(iso * Vector3::z(), Vector3::x());
pub fn new_observer_frame(
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
[src]
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
renamed to face_towards
Deprecated: Use Isometry::face_towards instead.
pub fn look_at_rh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self
[src]
Builds a right-handed look-at view matrix.
It maps the view direction target - eye
to the negative z
axis to and the eye
to the origin.
This conforms to the common notion of right handed camera look-at view matrix from
the computer graphics community, i.e. the camera is assumed to look toward its local -z
axis.
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::look_at_rh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), -Vector3::z()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::look_at_rh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), -Vector3::z());
pub fn look_at_lh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self
[src]
Builds a left-handed look-at view matrix.
It maps the view direction target - eye
to the positive z
axis and the eye
to the origin.
This conforms to the common notion of right handed camera look-at view matrix from
the computer graphics community, i.e. the camera is assumed to look toward its local z
axis.
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::look_at_lh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), Vector3::z()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::look_at_lh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), Vector3::z());
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>> where
N::Element: SimdRealField,
[src]pub fn face_towards(
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
[src]
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
Creates an isometry that corresponds to the local frame of an observer standing at the
point eye
and looking toward target
.
It maps the z
axis to the view direction target - eye
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::face_towards(&eye, &target, &up); assert_eq!(iso * Point3::origin(), eye); assert_relative_eq!(iso * Vector3::z(), Vector3::x()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::face_towards(&eye, &target, &up); assert_eq!(iso * Point3::origin(), eye); assert_relative_eq!(iso * Vector3::z(), Vector3::x());
pub fn new_observer_frame(
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
[src]
eye: &Point3<N>,
target: &Point3<N>,
up: &Vector3<N>
) -> Self
renamed to face_towards
Deprecated: Use Isometry::face_towards instead.
pub fn look_at_rh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self
[src]
Builds a right-handed look-at view matrix.
It maps the view direction target - eye
to the negative z
axis to and the eye
to the origin.
This conforms to the common notion of right handed camera look-at view matrix from
the computer graphics community, i.e. the camera is assumed to look toward its local -z
axis.
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::look_at_rh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), -Vector3::z()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::look_at_rh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), -Vector3::z());
pub fn look_at_lh(eye: &Point3<N>, target: &Point3<N>, up: &Vector3<N>) -> Self
[src]
Builds a left-handed look-at view matrix.
It maps the view direction target - eye
to the positive z
axis and the eye
to the origin.
This conforms to the common notion of right handed camera look-at view matrix from
the computer graphics community, i.e. the camera is assumed to look toward its local z
axis.
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(); // Isometry with its rotation part represented as a UnitQuaternion let iso = Isometry3::look_at_lh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), Vector3::z()); // Isometry with its rotation part represented as Rotation3 (a 3x3 rotation matrix). let iso = IsometryMatrix3::look_at_lh(&eye, &target, &up); assert_eq!(iso * eye, Point3::origin()); assert_relative_eq!(iso * Vector3::x(), Vector3::z());
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>>
[src]
impl<N: SimdRealField> Isometry<N, U3, Unit<Quaternion<N>>>
[src]pub fn lerp_slerp(&self, other: &Self, t: N) -> Self where
N: RealField,
[src]
N: RealField,
Interpolates between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Panics if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined). Use .try_lerp_slerp
instead to avoid the panic.
Examples:
let t1 = Translation3::new(1.0, 2.0, 3.0); let t2 = Translation3::new(4.0, 8.0, 12.0); let q1 = UnitQuaternion::from_euler_angles(std::f32::consts::FRAC_PI_4, 0.0, 0.0); let q2 = UnitQuaternion::from_euler_angles(-std::f32::consts::PI, 0.0, 0.0); let iso1 = Isometry3::from_parts(t1, q1); let iso2 = Isometry3::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector3::new(2.0, 4.0, 6.0)); assert_eq!(iso3.rotation.euler_angles(), (std::f32::consts::FRAC_PI_2, 0.0, 0.0));
pub fn try_lerp_slerp(&self, other: &Self, t: N, epsilon: N) -> Option<Self> where
N: RealField,
[src]
N: RealField,
Attempts to interpolate between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Retuns None
if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined).
Examples:
let t1 = Translation3::new(1.0, 2.0, 3.0); let t2 = Translation3::new(4.0, 8.0, 12.0); let q1 = UnitQuaternion::from_euler_angles(std::f32::consts::FRAC_PI_4, 0.0, 0.0); let q2 = UnitQuaternion::from_euler_angles(-std::f32::consts::PI, 0.0, 0.0); let iso1 = Isometry3::from_parts(t1, q1); let iso2 = Isometry3::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector3::new(2.0, 4.0, 6.0)); assert_eq!(iso3.rotation.euler_angles(), (std::f32::consts::FRAC_PI_2, 0.0, 0.0));
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>>
[src]
impl<N: SimdRealField> Isometry<N, U3, Rotation<N, U3>>
[src]pub fn lerp_slerp(&self, other: &Self, t: N) -> Self where
N: RealField,
[src]
N: RealField,
Interpolates between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Panics if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined). Use .try_lerp_slerp
instead to avoid the panic.
Examples:
let t1 = Translation3::new(1.0, 2.0, 3.0); let t2 = Translation3::new(4.0, 8.0, 12.0); let q1 = Rotation3::from_euler_angles(std::f32::consts::FRAC_PI_4, 0.0, 0.0); let q2 = Rotation3::from_euler_angles(-std::f32::consts::PI, 0.0, 0.0); let iso1 = IsometryMatrix3::from_parts(t1, q1); let iso2 = IsometryMatrix3::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector3::new(2.0, 4.0, 6.0)); assert_eq!(iso3.rotation.euler_angles(), (std::f32::consts::FRAC_PI_2, 0.0, 0.0));
pub fn try_lerp_slerp(&self, other: &Self, t: N, epsilon: N) -> Option<Self> where
N: RealField,
[src]
N: RealField,
Attempts to interpolate between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Retuns None
if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined).
Examples:
let t1 = Translation3::new(1.0, 2.0, 3.0); let t2 = Translation3::new(4.0, 8.0, 12.0); let q1 = Rotation3::from_euler_angles(std::f32::consts::FRAC_PI_4, 0.0, 0.0); let q2 = Rotation3::from_euler_angles(-std::f32::consts::PI, 0.0, 0.0); let iso1 = IsometryMatrix3::from_parts(t1, q1); let iso2 = IsometryMatrix3::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector3::new(2.0, 4.0, 6.0)); assert_eq!(iso3.rotation.euler_angles(), (std::f32::consts::FRAC_PI_2, 0.0, 0.0));
impl<N: SimdRealField> Isometry<N, U2, Unit<Complex<N>>>
[src]
impl<N: SimdRealField> Isometry<N, U2, Unit<Complex<N>>>
[src]pub fn lerp_slerp(&self, other: &Self, t: N) -> Self where
N: RealField,
[src]
N: RealField,
Interpolates between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Panics if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined). Use .try_lerp_slerp
instead to avoid the panic.
Examples:
let t1 = Translation2::new(1.0, 2.0); let t2 = Translation2::new(4.0, 8.0); let q1 = UnitComplex::new(std::f32::consts::FRAC_PI_4); let q2 = UnitComplex::new(-std::f32::consts::PI); let iso1 = Isometry2::from_parts(t1, q1); let iso2 = Isometry2::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector2::new(2.0, 4.0)); assert_relative_eq!(iso3.rotation.angle(), std::f32::consts::FRAC_PI_2);
impl<N: SimdRealField> Isometry<N, U2, Rotation<N, U2>>
[src]
impl<N: SimdRealField> Isometry<N, U2, Rotation<N, U2>>
[src]pub fn lerp_slerp(&self, other: &Self, t: N) -> Self where
N: RealField,
[src]
N: RealField,
Interpolates between two isometries using a linear interpolation for the translation part, and a spherical interpolation for the rotation part.
Panics if the angle between both rotations is 180 degrees (in which case the interpolation
is not well-defined). Use .try_lerp_slerp
instead to avoid the panic.
Examples:
let t1 = Translation2::new(1.0, 2.0); let t2 = Translation2::new(4.0, 8.0); let q1 = Rotation2::new(std::f32::consts::FRAC_PI_4); let q2 = Rotation2::new(-std::f32::consts::PI); let iso1 = IsometryMatrix2::from_parts(t1, q1); let iso2 = IsometryMatrix2::from_parts(t2, q2); let iso3 = iso1.lerp_slerp(&iso2, 1.0 / 3.0); assert_eq!(iso3.translation.vector, Vector2::new(2.0, 4.0)); assert_relative_eq!(iso3.rotation.angle(), std::f32::consts::FRAC_PI_2);
Trait Implementations
impl<N: RealField, D: DimName, R> AbsDiffEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + AbsDiffEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]
impl<N: RealField, D: DimName, R> AbsDiffEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + AbsDiffEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]type Epsilon = N::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
impl<N: Scalar, D: DimName, R: Clone> Clone for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: Scalar, D: DimName, R: Clone> Clone for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: Debug + Scalar, D: Debug + DimName, R: Debug> Debug for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: Debug + Scalar, D: Debug + DimName, R: Debug> Debug for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]impl<'de, N: Scalar, D: DimName, R> Deserialize<'de> for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Deserialize<'de>,
[src]
impl<'de, N: Scalar, D: DimName, R> Deserialize<'de> for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
R: Deserialize<'de>,
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<N: RealField + Display, D: DimName, R> Display for Isometry<N, D, R> where
R: Display,
DefaultAllocator: Allocator<N, D> + Allocator<usize, D>,
[src]
impl<N: RealField + Display, D: DimName, R> Display for Isometry<N, D, R> where
R: Display,
DefaultAllocator: Allocator<N, D> + Allocator<usize, D>,
[src]impl<N: RealField, D: DimName, R> Distribution<Isometry<N, D, R>> for Standard where
R: AbstractRotation<N, D>,
Standard: Distribution<N> + Distribution<R>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: RealField, D: DimName, R> Distribution<Isometry<N, D, R>> for Standard where
R: AbstractRotation<N, D>,
Standard: Distribution<N> + Distribution<R>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'b, N: SimdRealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName> Div<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'b, N: SimdRealField> Div<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'b, N: SimdRealField> Div<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, right: &'b Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'b, N: SimdRealField, D: DimName> Div<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'b, N: SimdRealField, D: DimName> Div<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName> Div<&'b Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName> Div<&'b Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Similarity<N, D, R>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Div<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b Similarity<N, D, R>) -> Self::Output
[src]
impl<'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField> Div<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'b, N: SimdRealField> Div<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Div<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<N: SimdRealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, N: SimdRealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, N: SimdRealField, D: DimName> Div<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<N: SimdRealField> Div<Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<N: SimdRealField> Div<Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, right: Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Div<Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, N: SimdRealField> Div<Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, right: Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<N: SimdRealField, D: DimName> Div<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<N: SimdRealField, D: DimName> Div<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, N: SimdRealField, D: DimName> Div<Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, N: SimdRealField, D: DimName> Div<Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the /
operator.
fn div(self, rhs: Similarity<N, D, R>) -> Self::Output
[src]
impl<'a, N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Div<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the /
operator.
fn div(self, rhs: Similarity<N, D, R>) -> Self::Output
[src]
impl<N: SimdRealField> Div<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Div<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Div<Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Div<Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<N: SimdRealField> Div<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<N: SimdRealField> Div<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Div<Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, N: SimdRealField> Div<Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn div_assign(&mut self, rhs: &'b Isometry<N, D, R>)
[src]
impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> DivAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn div_assign(&mut self, rhs: &'b Isometry<N, D, R>)
[src]
impl<'b, N, D: DimName> DivAssign<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]
impl<'b, N, D: DimName> DivAssign<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]fn div_assign(&mut self, rhs: &'b Rotation<N, D>)
[src]
impl<'b, N> DivAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N> DivAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn div_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<'b, N> DivAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]
impl<'b, N> DivAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]fn div_assign(&mut self, rhs: &'b UnitQuaternion<N>)
[src]
impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn div_assign(&mut self, rhs: Isometry<N, D, R>)
[src]
impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> DivAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn div_assign(&mut self, rhs: Isometry<N, D, R>)
[src]
impl<N, D: DimName> DivAssign<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]
impl<N, D: DimName> DivAssign<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]fn div_assign(&mut self, rhs: Rotation<N, D>)
[src]
impl<N> DivAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N> DivAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn div_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<N> DivAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]
impl<N> DivAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]fn div_assign(&mut self, rhs: UnitQuaternion<N>)
[src]
impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 16]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 16]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]
impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 16]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 16]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 16]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 2]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 2]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]
impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 2]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 2]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 2]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 4]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 4]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]
impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 4]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 4]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 4]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 8]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 8]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]
impl<N: Scalar + PrimitiveSimdValue, D: DimName, R> From<[Isometry<<N as SimdValue>::Element, D, <R as SimdValue>::Element>; 8]> for Isometry<N, D, R> where
N: From<[<N as SimdValue>::Element; 8]>,
R: SimdValue + AbstractRotation<N, D> + From<[<R as SimdValue>::Element; 8]>,
R::Element: AbstractRotation<N::Element, D>,
N::Element: Scalar + Copy,
R::Element: Scalar + Copy,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]impl<N: SimdRealField, D: DimName, R> From<Isometry<N, D, R>> for MatrixN<N, DimNameSum<D, U1>> where
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> From<Isometry<N, D, R>> for MatrixN<N, DimNameSum<D, U1>> where
D: DimNameAdd<U1>,
R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> From<Translation<N, D>> for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> From<Translation<N, D>> for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
[src]fn from(tra: Translation<N, D>) -> Self
[src]
impl<N: Scalar + Hash, D: DimName + Hash, R: Hash> Hash for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Hash,
[src]
impl<N: Scalar + Hash, D: DimName + Hash, R: Hash> Hash for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Hash,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Isometry<N, D, R>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]impl<'b, N: SimdRealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'b, N: SimdRealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName> Mul<&'b Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField, D: DimName> Mul<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'b, N: SimdRealField, D: DimName> Mul<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName> Mul<&'b Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName> Mul<&'b Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Similarity<N, D, R>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Similarity<N, D, R>) -> Self::Output
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for &'a Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<&'b Transform<N, D, C>> for &'a Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Translation<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, 'b, N: SimdRealField, D: DimName, R> Mul<&'b Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'b, N: SimdRealField> Mul<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitQuaternion<N>) -> Self::Output
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Translation<N, D> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Isometry<N, D, R>> for &'a Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Isometry<N, D, R>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
[src]impl<N: SimdRealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<N: SimdRealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, N: SimdRealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, N: SimdRealField, D: DimName> Mul<Isometry<N, D, Rotation<N, D>>> for &'a Rotation<N, D> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<N: SimdRealField> Mul<Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<N: SimdRealField> Mul<Isometry<N, U3, Unit<Quaternion<N>>>> for UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, right: Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U3, Unit<Quaternion<N>>>> for &'a UnitQuaternion<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, right: Isometry<N, U3, UnitQuaternion<N>>) -> Self::Output
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName> Mul<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<N: SimdRealField, D: DimName> Mul<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<'a, N: SimdRealField, D: DimName> Mul<Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]
impl<'a, N: SimdRealField, D: DimName> Mul<Rotation<N, D>> for &'a Isometry<N, D, Rotation<N, D>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
[src]impl<N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the *
operator.
fn mul(self, rhs: Similarity<N, D, R>) -> Self::Output
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Similarity<N, D, R>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]type Output = Similarity<N, D, R>
The resulting type after applying the *
operator.
fn mul(self, rhs: Similarity<N, D, R>) -> Self::Output
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
impl<N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for &'a Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]
impl<'a, N, D: DimNameAdd<U1>, C: TCategoryMul<TAffine>, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> Mul<Transform<N, D, C>> for &'a Isometry<N, D, R> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, DimNameSum<D, U1>>,
[src]impl<N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Translation<N, D>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField> Mul<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Unit<Complex<N>>> for &'a Isometry<N, U2, UnitComplex<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<'a, N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'a, N: SimdRealField, D: DimName, R> Mul<Unit<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>>> for &'a Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField> Mul<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<N: SimdRealField> Mul<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Unit<Quaternion<N>>> for &'a Isometry<N, U3, UnitQuaternion<N>> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src]type Output = Isometry<N, U3, UnitQuaternion<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitQuaternion<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: &'b Isometry<N, D, R>)
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: &'b Isometry<N, D, R>)
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<&'b Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>,
[src]
impl<'b, N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<&'b Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>,
[src]fn mul_assign(&mut self, rhs: &'b Isometry<N, D, R>)
[src]
impl<'b, N, D: DimName> MulAssign<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]
impl<'b, N, D: DimName> MulAssign<&'b Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]fn mul_assign(&mut self, rhs: &'b Rotation<N, D>)
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<'b, N: SimdRealField, D: DimName, R> MulAssign<&'b Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: &'b Translation<N, D>)
[src]
impl<'b, N> MulAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N> MulAssign<&'b Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn mul_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<'b, N> MulAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]
impl<'b, N> MulAssign<&'b Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]fn mul_assign(&mut self, rhs: &'b UnitQuaternion<N>)
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: Isometry<N, D, R>)
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Isometry<N, D, R>> for Similarity<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: Isometry<N, D, R>)
[src]
impl<N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>,
[src]
impl<N, D: DimNameAdd<U1>, C: TCategory, R: SubsetOf<MatrixN<N, DimNameSum<D, U1>>>> MulAssign<Isometry<N, D, R>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1>,
[src]fn mul_assign(&mut self, rhs: Isometry<N, D, R>)
[src]
impl<N, D: DimName> MulAssign<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]
impl<N, D: DimName> MulAssign<Rotation<N, D>> for Isometry<N, D, Rotation<N, D>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D, U1> + Allocator<N, D, D>,
[src]fn mul_assign(&mut self, rhs: Rotation<N, D>)
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> MulAssign<Translation<N, D>> for Isometry<N, D, R> where
N::Element: SimdRealField,
R: AbstractRotation<N, D>,
DefaultAllocator: Allocator<N, D>,
[src]fn mul_assign(&mut self, rhs: Translation<N, D>)
[src]
impl<N> MulAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N> MulAssign<Unit<Complex<N>>> for Isometry<N, U2, UnitComplex<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn mul_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<N> MulAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]
impl<N> MulAssign<Unit<Quaternion<N>>> for Isometry<N, U3, UnitQuaternion<N>> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U3, U3>,
[src]fn mul_assign(&mut self, rhs: UnitQuaternion<N>)
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> One for Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R: AbstractRotation<N, D>> One for Isometry<N, D, R> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: SimdRealField, D: DimName, R> PartialEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + PartialEq,
DefaultAllocator: Allocator<N, D>,
[src]
impl<N: SimdRealField, D: DimName, R> PartialEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + PartialEq,
DefaultAllocator: Allocator<N, D>,
[src]impl<N: RealField, D: DimName, R> RelativeEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + RelativeEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]
impl<N: RealField, D: DimName, R> RelativeEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + RelativeEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<N: Scalar, D: DimName, R> Serialize for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
R: Serialize,
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Serialize,
[src]
impl<N: Scalar, D: DimName, R> Serialize for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
R: Serialize,
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Serialize,
[src]impl<N: SimdRealField, D: DimName, R> SimdValue for Isometry<N, D, R> where
N::Element: SimdRealField,
R: SimdValue<SimdBool = N::SimdBool> + AbstractRotation<N, D>,
R::Element: AbstractRotation<N::Element, D>,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]
impl<N: SimdRealField, D: DimName, R> SimdValue for Isometry<N, D, R> where
N::Element: SimdRealField,
R: SimdValue<SimdBool = N::SimdBool> + AbstractRotation<N, D>,
R::Element: AbstractRotation<N::Element, D>,
DefaultAllocator: Allocator<N, D> + Allocator<N::Element, D>,
[src]type Element = Isometry<N::Element, D, R::Element>
The type of the elements of each lane of this SIMD value.
type SimdBool = N::SimdBool
Type of the result of comparing two SIMD values like self
.
fn lanes() -> usize
[src]
fn splat(val: Self::Element) -> Self
[src]
fn extract(&self, i: usize) -> Self::Element
[src]
unsafe fn extract_unchecked(&self, i: usize) -> Self::Element
[src]
fn replace(&mut self, i: usize, val: Self::Element)
[src]
unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
[src]
fn select(self, cond: Self::SimdBool, other: Self) -> Self
[src]
pub fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self where
Self: Clone,
[src]
Self: Clone,
pub fn zip_map_lanes(
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
[src]
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, D> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, D> + SupersetOf<Self>,
DefaultAllocator: Allocator<N1, D, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> Isometry<N2, D, R>
[src]
fn is_in_subset(iso: &Isometry<N2, D, R>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, D, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D: DimName, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> Isometry<N2, D, R>
[src]
fn is_in_subset(iso: &Isometry<N2, D, R>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, D, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D: DimName, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R1: AbstractRotation<N1, D> + SubsetOf<R2>,
R2: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D: DimName, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R1: AbstractRotation<N1, D> + SubsetOf<R2>,
R2: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> Isometry<N2, D, R2>
[src]
fn is_in_subset(iso: &Isometry<N2, D, R2>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, D, R2>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]
impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]fn to_superset(&self) -> Isometry<N2, U2, R>
[src]
fn is_in_subset(iso: &Isometry<N2, U2, R>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, U2, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for UnitQuaternion<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U3> + SupersetOf<Self>,
[src]
impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for UnitQuaternion<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U3> + SupersetOf<Self>,
[src]fn to_superset(&self) -> Isometry<N2, U3, R>
[src]
fn is_in_subset(iso: &Isometry<N2, U3, R>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, U3, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Isometry<N1, D, R> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Isometry<N1, D, R> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> MatrixN<N2, DimNameSum<D, U1>>
[src]
fn is_in_subset(m: &MatrixN<N2, DimNameSum<D, U1>>) -> bool
[src]
fn from_superset_unchecked(m: &MatrixN<N2, DimNameSum<D, U1>>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D: DimName, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R1: AbstractRotation<N1, D> + SubsetOf<R2>,
R2: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D: DimName, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R1: AbstractRotation<N1, D> + SubsetOf<R2>,
R2: AbstractRotation<N2, D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> Similarity<N2, D, R2>
[src]
fn is_in_subset(sim: &Similarity<N2, D, R2>) -> bool
[src]
fn from_superset_unchecked(sim: &Similarity<N2, D, R2>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>,
[src]
impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
R: AbstractRotation<N1, D> + SubsetOf<MatrixN<N1, DimNameSum<D, U1>>> + SubsetOf<MatrixN<N2, DimNameSum<D, U1>>>,
D: DimNameAdd<U1> + DimMin<D, Output = D>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, D, D> + Allocator<N1, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<(usize, usize), D> + Allocator<N2, D, D> + Allocator<N2, D>,
[src]fn to_superset(&self) -> Transform<N2, D, C>
[src]
fn is_in_subset(t: &Transform<N2, D, C>) -> bool
[src]
fn from_superset_unchecked(t: &Transform<N2, D, C>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N: RealField, D: DimName, R> UlpsEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + UlpsEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]
impl<N: RealField, D: DimName, R> UlpsEq<Isometry<N, D, R>> for Isometry<N, D, R> where
R: AbstractRotation<N, D> + UlpsEq<Epsilon = N::Epsilon>,
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src]impl<N: Scalar + Copy, D: DimName + Copy, R: Copy> Copy for Isometry<N, D, R> where
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Copy,
[src]
DefaultAllocator: Allocator<N, D>,
Owned<N, D>: Copy,
impl<N: SimdRealField, D: DimName, R> Eq for Isometry<N, D, R> where
R: AbstractRotation<N, D> + Eq,
DefaultAllocator: Allocator<N, D>,
[src]
R: AbstractRotation<N, D> + Eq,
DefaultAllocator: Allocator<N, D>,
Auto Trait Implementations
impl<N, D, R> !RefUnwindSafe for Isometry<N, D, R>
impl<N, D, R> !Send for Isometry<N, D, R>
impl<N, D, R> !Sync for Isometry<N, D, R>
impl<N, D, R> !Unpin for Isometry<N, D, R>
impl<N, D, R> !UnwindSafe for Isometry<N, D, R>
Blanket Implementations
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,