#[repr(C)]pub struct DIsometry3 {
pub translation: DVec3,
pub rotation: DQuat,
}Fields§
§translation: DVec3§rotation: DQuatImplementations§
Source§impl DIsometry3
impl DIsometry3
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: DQuat) -> Self
pub fn from_quat(rotation: DQuat) -> Self
Creates a isometry isometry from the given rotation quaternion.
Sourcepub fn from_axis_angle(axis: DVec3, angle: f64) -> Self
pub fn from_axis_angle(axis: DVec3, angle: f64) -> Self
Creates a isometry isometry containing a 3D rotation around a normalized
rotation axis of angle (in radians).
Sourcepub fn from_rotation_x(angle: f64) -> Self
pub fn from_rotation_x(angle: f64) -> Self
Creates a isometry isometry containing a 3D rotation around the x axis of
angle (in radians).
Sourcepub fn from_rotation_y(angle: f64) -> Self
pub fn from_rotation_y(angle: f64) -> Self
Creates a isometry isometry containing a 3D rotation around the y axis of
angle (in radians).
Sourcepub fn from_rotation_z(angle: f64) -> Self
pub fn from_rotation_z(angle: f64) -> Self
Creates a isometry isometry containing a 3D rotation around the z axis of
angle (in radians).
Sourcepub fn from_translation(translation: DVec3) -> Self
pub fn from_translation(translation: DVec3) -> Self
Creates a isometry isometryation from the given 3D translation.
Sourcepub fn from_rotation_translation(rotation: DQuat, translation: DVec3) -> Self
pub fn from_rotation_translation(rotation: DQuat, translation: DVec3) -> Self
Creates a isometry from the given 3D rotation and translation.
Sourcepub fn from_mat3(mat3: DMat3) -> Self
pub fn from_mat3(mat3: DMat3) -> Self
Creates a isometry from a 3x3 matrix (expressing scale and rotation)
Sourcepub fn from_mat3_translation(mat3: DMat3, translation: DVec3) -> Self
pub fn from_mat3_translation(mat3: DMat3, translation: DVec3) -> Self
Creates a isometry from a 3x3 matrix (expressing scale and rotation)
Sourcepub fn to_rotation_translation(&self) -> (DQuat, DVec3)
pub fn to_rotation_translation(&self) -> (DQuat, DVec3)
Extracts scale, rotation and translation from self.
Sourcepub fn transform_point3(&self, rhs: DVec3) -> DVec3
pub fn transform_point3(&self, rhs: DVec3) -> DVec3
Transforms the given 3D points, applying rotation and translation.
Sourcepub fn transform_vector3(&self, rhs: DVec3) -> DVec3
pub fn transform_vector3(&self, rhs: DVec3) -> DVec3
Transforms the given 3D vector, 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: f64) -> bool
pub fn abs_diff_eq(self, rhs: Self, max_abs_diff: f64) -> 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 DIsometry3
Available on crate feature approx only.
impl AbsDiffEq for DIsometry3
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 DIsometry3
impl Clone for DIsometry3
Source§fn clone(&self) -> DIsometry3
fn clone(&self) -> DIsometry3
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DIsometry3
impl Debug for DIsometry3
Source§impl Default for DIsometry3
impl Default for DIsometry3
Source§fn default() -> DIsometry3
fn default() -> DIsometry3
Source§impl From<DIsometry3> for DAffine3
impl From<DIsometry3> for DAffine3
Source§fn from(i: DIsometry3) -> DAffine3
fn from(i: DIsometry3) -> DAffine3
Source§impl From<DIsometry3> for DMat4
impl From<DIsometry3> for DMat4
Source§fn from(i: DIsometry3) -> DMat4
fn from(i: DIsometry3) -> DMat4
Source§impl Mul<DIsometry3> for DMat4
impl Mul<DIsometry3> for DMat4
Source§impl Mul<DMat4> for DIsometry3
impl Mul<DMat4> for DIsometry3
Source§impl Mul for DIsometry3
impl Mul for DIsometry3
Source§type Output = DIsometry3
type Output = DIsometry3
* operator.Source§impl MulAssign for DIsometry3
impl MulAssign for DIsometry3
Source§fn mul_assign(&mut self, rhs: DIsometry3)
fn mul_assign(&mut self, rhs: DIsometry3)
*= operation. Read moreSource§impl PartialEq for DIsometry3
impl PartialEq for DIsometry3
Source§impl RelativeEq for DIsometry3
Available on crate feature approx only.
impl RelativeEq for DIsometry3
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 DIsometry3
Available on crate feature approx only.
impl UlpsEq for DIsometry3
approx only.