#[repr(C)]pub struct Isometry3A {
pub translation: Vec3A,
pub rotation: Quat,
}Fields§
§translation: Vec3A§rotation: QuatImplementations§
Source§impl Isometry3A
impl Isometry3A
Sourcepub const ZERO: Self
pub const ZERO: Self
The degenerate zero isometry.
This isometrys any finite vector and point to zero. The zero isometry is non-invertible.
Sourcepub const IDENTITY: Self
pub const IDENTITY: Self
The identity isometry.
Multiplying a vector with this returns the same vector.
Sourcepub fn from_quat(rotation: Quat) -> Self
pub fn from_quat(rotation: Quat) -> Self
Creates a isometry isometry from the given rotation quaternion.
Sourcepub fn from_axis_angle(axis: Vec3, angle: f32) -> Self
pub fn from_axis_angle(axis: Vec3, angle: f32) -> Self
Creates a isometry isometry containing a 3D rotation around a normalized
rotation axis of angle (in radians).
Sourcepub fn from_rotation_x(angle: f32) -> Self
pub fn from_rotation_x(angle: f32) -> Self
Creates a isometry isometry containing a 3D rotation around the x axis of
angle (in radians).
Sourcepub fn from_rotation_y(angle: f32) -> Self
pub fn from_rotation_y(angle: f32) -> Self
Creates a isometry isometry containing a 3D rotation around the y axis of
angle (in radians).
Sourcepub fn from_rotation_z(angle: f32) -> Self
pub fn from_rotation_z(angle: f32) -> Self
Creates a isometry isometry containing a 3D rotation around the z axis of
angle (in radians).
Sourcepub fn from_translation(translation: Vec3) -> Self
pub fn from_translation(translation: Vec3) -> Self
Creates a isometry isometryation from the given 3D translation.
Sourcepub fn from_rotation_translation(rotation: Quat, translation: Vec3) -> Self
pub fn from_rotation_translation(rotation: Quat, translation: Vec3) -> Self
Creates a isometry from the given 3D rotation and translation.
Sourcepub fn from_mat3(mat3: Mat3) -> Self
pub fn from_mat3(mat3: Mat3) -> Self
Creates a isometry from a 3x3 matrix (expressing scale and rotation)
Sourcepub fn from_mat3_translation(mat3: Mat3, translation: Vec3) -> Self
pub fn from_mat3_translation(mat3: Mat3, translation: Vec3) -> Self
Creates a isometry from a 3x3 matrix (expressing scale and rotation)
Sourcepub fn to_rotation_translation(&self) -> (Quat, Vec3)
pub fn to_rotation_translation(&self) -> (Quat, Vec3)
Extracts scale, rotation and translation from self.
Sourcepub fn transform_point3(&self, rhs: Vec3) -> Vec3
pub fn transform_point3(&self, rhs: Vec3) -> Vec3
Transforms the given 3D points, applying rotation and translation.
Sourcepub fn transform_vector3(&self, rhs: Vec3) -> Vec3
pub fn transform_vector3(&self, rhs: Vec3) -> Vec3
Transforms the given 3D vector, applying rotation (but NOT translation).
Sourcepub fn transform_point3a(&self, rhs: Vec3A) -> Vec3A
pub fn transform_point3a(&self, rhs: Vec3A) -> Vec3A
Transforms the given Vec3A, applying rotation and translation.
Sourcepub fn transform_vector3a(&self, rhs: Vec3A) -> Vec3A
pub fn transform_vector3a(&self, rhs: Vec3A) -> Vec3A
Transforms the given Vec3A, applying rotation (but NOT translation).
Sourcepub fn is_finite(&self) -> bool
pub fn is_finite(&self) -> bool
Returns true if, and only if, all elements are finite.
If any element is either NaN, positive or negative infinity, this will return false.
Sourcepub fn abs_diff_eq(self, rhs: Self, max_abs_diff: f32) -> bool
pub fn abs_diff_eq(self, rhs: Self, max_abs_diff: f32) -> bool
Returns true if the absolute difference of all elements between self and rhs
is less than or equal to max_abs_diff.
Trait Implementations§
Source§impl AbsDiffEq for Isometry3A
Available on crate feature approx only.
impl AbsDiffEq for Isometry3A
approx only.Source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
Source§fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
Source§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq.Source§impl Clone for Isometry3A
impl Clone for Isometry3A
Source§fn clone(&self) -> Isometry3A
fn clone(&self) -> Isometry3A
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Isometry3A
impl Debug for Isometry3A
Source§impl Default for Isometry3A
impl Default for Isometry3A
Source§fn default() -> Isometry3A
fn default() -> Isometry3A
Source§impl From<Isometry3A> for Affine3A
impl From<Isometry3A> for Affine3A
Source§fn from(i: Isometry3A) -> Affine3A
fn from(i: Isometry3A) -> Affine3A
Source§impl From<Isometry3A> for Mat4
impl From<Isometry3A> for Mat4
Source§fn from(i: Isometry3A) -> Mat4
fn from(i: Isometry3A) -> Mat4
Source§impl Mul<Isometry3A> for Mat4
impl Mul<Isometry3A> for Mat4
Source§impl Mul<Mat4> for Isometry3A
impl Mul<Mat4> for Isometry3A
Source§impl Mul for Isometry3A
impl Mul for Isometry3A
Source§type Output = Isometry3A
type Output = Isometry3A
* operator.Source§impl MulAssign for Isometry3A
impl MulAssign for Isometry3A
Source§fn mul_assign(&mut self, rhs: Isometry3A)
fn mul_assign(&mut self, rhs: Isometry3A)
*= operation. Read moreSource§impl PartialEq for Isometry3A
impl PartialEq for Isometry3A
Source§impl RelativeEq for Isometry3A
Available on crate feature approx only.
impl RelativeEq for Isometry3A
approx only.Source§fn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
Source§fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_eq( &self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
Source§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq.Source§impl UlpsEq for Isometry3A
Available on crate feature approx only.
impl UlpsEq for Isometry3A
approx only.