[][src]Struct pathfinder_geometry::transform3d::Transform4F

#[repr(C)]pub struct Transform4F {
    pub c0: F32x4,
    pub c1: F32x4,
    pub c2: F32x4,
    pub c3: F32x4,
}

An transform, optimized with SIMD.

In column-major order.

Fields

c0: F32x4c1: F32x4c2: F32x4c3: F32x4

Methods

impl Transform4F[src]

pub fn row_major(
    m00: f32,
    m01: f32,
    m02: f32,
    m03: f32,
    m10: f32,
    m11: f32,
    m12: f32,
    m13: f32,
    m20: f32,
    m21: f32,
    m22: f32,
    m23: f32,
    m30: f32,
    m31: f32,
    m32: f32,
    m33: f32
) -> Transform4F
[src]

pub fn from_scale(scale: Vector4F) -> Transform4F[src]

pub fn from_uniform_scale(factor: f32) -> Transform4F[src]

pub fn from_translation(translation: Vector4F) -> Transform4F[src]

pub fn from_rotation(yaw: f32, pitch: f32, roll: f32) -> Transform4F[src]

pub fn from_rotation_quaternion(q: F32x4) -> Transform4F[src]

Creates a rotation matrix from the given quaternion.

The quaternion is expected to be packed into a SIMD type (x, y, z, w) corresponding to x + yi + zj + wk.

pub fn from_ortho(
    left: f32,
    right: f32,
    bottom: f32,
    top: f32,
    near_val: f32,
    far_val: f32
) -> Transform4F
[src]

Just like glOrtho().

pub fn lerp(&self, weight: f32, other: &Transform4F) -> Transform4F[src]

Linearly interpolate between transforms

pub fn from_perspective(
    fov_y: f32,
    aspect: f32,
    z_near: f32,
    z_far: f32
) -> Transform4F
[src]

Just like gluPerspective().

pub fn looking_at(eye: Vector3F, center: Vector3F, up: Vector3F) -> Transform4F[src]

Just like gluLookAt().

pub fn from_submatrices(
    a: Matrix2x2F,
    b: Matrix2x2F,
    c: Matrix2x2F,
    d: Matrix2x2F
) -> Transform4F
[src]

pub fn rotate(&self, yaw: f32, pitch: f32, roll: f32) -> Transform4F[src]

pub fn scale(&self, scale: Vector4F) -> Transform4F[src]

pub fn uniform_scale(&self, scale: f32) -> Transform4F[src]

pub fn translate(&self, translation: Vector4F) -> Transform4F[src]

pub fn upper_left(&self) -> Matrix2x2F[src]

pub fn upper_right(&self) -> Matrix2x2F[src]

pub fn lower_left(&self) -> Matrix2x2F[src]

pub fn lower_right(&self) -> Matrix2x2F[src]

pub fn inverse(&self) -> Transform4F[src]

pub fn approx_eq(&self, other: &Transform4F, epsilon: f32) -> bool[src]

pub fn as_ptr(&self) -> *const f32[src]

pub fn to_columns(&self) -> [F32x4; 4][src]

Trait Implementations

impl Clone for Transform4F[src]

impl Copy for Transform4F[src]

impl Debug for Transform4F[src]

impl Default for Transform4F[src]

impl Mul<Transform4F> for Transform4F[src]

type Output = Transform4F

The resulting type after applying the * operator.

impl Mul<Transform4F> for Perspective[src]

type Output = Perspective

The resulting type after applying the * operator.

impl Mul<Vector4F> for Transform4F[src]

type Output = Vector4F

The resulting type after applying the * operator.

impl MulAssign<Transform4F> for Transform4F[src]

impl PartialEq<Transform4F> for Transform4F[src]

impl StructuralPartialEq for Transform4F[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.