Skip to main content

Crate vqm

Crate vqm 

Source

Structs§

Matrix2x2
Matrix2x2<T>: 2x2 Matrix of type T.
Aliases Matrix2x2f32 and Matrix2x2f64 are provided.
Internal implementation is using a flattened 1-dimensional array: an array of 4 elements stored in column-major order. That is the element m[row][col] is at array position [col * 2 + row].

Matrix3x3
Matrix3x3<T>: 3x3 Matrix of type T.
Aliases Matrix3x3f32 and Matrix3x3f64 are provided.
Internal implementation is a flattened 3x3 matrix: an array of 9 elements stored in column-major order. That is the element m[row][col] is at array position [col * 3 + row].

Matrix3x3xM2x2
Matrix3x3xM2x2<T>: 3x3 Matrix of type Matrix2x2<T>.
Provided to support Kalman filter matrix math and so not all functions are provided.
In particular matrix by matrix multiply, determinant, adjugate, and inverse are not provided.
Functions to extract and utilize 2x2 sub-matrices are provided.
Aliases Matrix3x3xM2x2f32 and Matrix3x3xM2x2f64 are provided.
Internal implementation is a flat array of nin Matrix2x2s.
Matrix3x3xM3x3
Matrix3x3xM3x3<T>: 3x3 Matrix of type Matrix3x3<T>.
Provided to support Kalman filter matrix math and so not all functions are provided.
In particular matrix by matrix multiply, determinant, adjugate, and inverse are not provided.
Functions to extract and utilize 3x3 sub-matrices are provided.
Aliases Matrix3x3xM3x3f32 and Matrix3x3xM3x3f64 are provided.
Internal implementation is a flat array of nine Matrix3x3s.
Matrix4x4
Matrix4x4<T>: 4x4 Matrix of type T.
Aliases Matrix4x4f32 and Matrix4x4f64 are provided.
Internal implementation is a flattened 4x4 matrix: an array of 16 elements stored in column-major order. That is the element m[row][col] is at array position [col * 4 + row].

Quaternion
Quaternion<T>: quaternion type T.
Implementations use the Hamilton convention. Aliases Quaternionf32 and Quaternionf64 are provided.

RollPitch
Roll and Pitch bundled for convenience.
RollPitchYaw
Roll, Pitch, and Yaw bundled for convenience.

SliceTooShortError
The error type returned when a slice is too short to parse to a Vector3f32.

Vector2
Vector2<T>: 2D vector of type T.
Aliases Vector2f32 and Vector2f64 are provided.

Vector3
Vector3<T>: 3D vector of type T.
Aliases Vector3f32 and Vector2f64 are provided.

Vector4
Vector4<T>: 4D vector of type T.
Aliases Vector4f32 and Vector4f64 are provided.

Traits§

MathConstants
Math constants for use in generic code.

MathMethods
no_std implementations of std math functions in method call syntax
eg x.sin(), x.cos() etc.

Matrix2x2Math
Math functions for Matrix2x2.
Matrix3x3Math
Math functions for Matrix3x3.
Matrix4x4Math
Math functions for Matrix4x4.
QuaternionMath
Math functions for Quaternion.

Type Aliases§

Matrix2x2f32
2x2 matrix of f32 values
Matrix2x2f64
2x2 matrix of f64 values

Matrix3x3f32
3x3 matrix of f32 values
Matrix3x3f64
3x3 matrix of f64 values

Matrix3x3xM2x2f32
3x3 matrix of Matrix2x2f32 values
Matrix3x3xM2x2f64
3x3 matrix of Matrix2x2f64 values

Matrix3x3xM3x3f32
3x3 matrix of Matrix3x3f32 values
Matrix3x3xM3x3f64
3x3 matrix of Matrix3x3f64 values

Matrix4x4f32
4x4 matrix of f32 values
Matrix4x4f64
4x4 matrix of f64 values

Quaternionf32
Quaternion of f32 values
Quaternionf64
Quaternion of f64 values

RollPitchYawf32
RollPitchYaw struct { roll: f32, pitch: f32, yaw: f32 }
RollPitchYawf64
RollPitchYaw struct { roll: f64, pitch: f64, yaw: f64 }
RollPitchf32
RollPitch struct { roll: f32, pitch: f32 }
RollPitchf64
RollPitch struct { roll: f64, pitch: f64 }

Vector2f32
2-dimensional {x, y} vector of f32 values
Vector2f64
2-dimensional {x, y} vector of f64 values

Vector3f32
3-dimensional {x, y, z} vector of f32 values
Vector3f64
3-dimensional {x, y, z} vector of f64 values

Vector4f32
4-dimensional {x, y, z, t} vector of f32 values
Vector4f64
4-dimensional {x, y, z, t} vector of f64 values