|
| | quat (f32x4 xyzw=identity) noexcept |
| | Creates a new identity SIMD 32bit floating point quaternion structure.
|
| |
| | quat (float x, float y, float z, float w) noexcept |
| | Creates a new SIMD 32bit floating point quaternion structure.
|
| |
| | quat (float angle, f32x4 axis) noexcept |
| | Creates a new SIMD quaternion structure from the angle and axis. (In radians)
|
| |
| quat | operator* (quat q) const noexcept |
| | Rotates this SIMD quaternion by the specified one.
|
| |
| f32x4 | operator* (f32x4 v) const noexcept |
| | Rotates 3D vector by this SIMD quaternion.
|
| |
| quat & | operator*= (quat v) noexcept |
| | Rotates this SIMD quaternion by the specified one.
|
| |
|
float | extractPitch () const noexcept |
| | Extracts SIMD quaternion rotation around X axis. (In radians)
|
| |
|
float | extractYaw () const noexcept |
| | Extracts SIMD quaternion around Y axis. (In radians)
|
| |
|
float | extractRoll () const noexcept |
| | Extracts SIMD quaternion around Z axis. (In radians)
|
| |
|
f32x4 | extractEulerAngles () const noexcept |
| | Calculates SIMD quaternion euler angles. (In radians)
|
| |
| void | loadAligned (const float *v) noexcept |
| | Loads SIMD 4 component 32bit floating point aligned vector values.
|
| |
| void | store (float *v) noexcept |
| | Stores SIMD 4 component 32bit floating point unaligned vector values.
|
| |
| void | storeAligned (float *v) noexcept |
| | Stores SIMD 4 component 32bit floating point aligned vector values.
|
| |
|
float | getX () const noexcept |
| | Returns SIMD vector first component value.
|
| |
|
float | getY () const noexcept |
| | Returns SIMD vector second component value.
|
| |
|
float | getZ () const noexcept |
| | Returns SIMD vector third component value.
|
| |
|
float | getW () const noexcept |
| | Returns SIMD vector fourth component value.
|
| |
| void | setX (float value) noexcept |
| | Sets SIMD vector first component value.
|
| |
| void | setY (float value) noexcept |
| | Sets SIMD vector second component value.
|
| |
| void | setZ (float value) noexcept |
| | Sets SIMD vector third component value.
|
| |
| void | setW (float value) noexcept |
| | Sets SIMD vector fourth component value.
|
| |
| void | fixW () noexcept |
| | Sets SIMD vector Z component value to the W component.
|
| |
| template<uint32 X, uint32 Y, uint32 Z, uint32 W = SwU> |
| f32x4 | swizzle () const noexcept |
| | Swizzles SIMD vector components.
|
| |
|
f32x4 | splatX () const noexcept |
| |
|
f32x4 | splatY () const noexcept |
| |
|
f32x4 | splatZ () const noexcept |
| |
|
f32x4 | splatW () const noexcept |
| |
| float & | operator[] (psize i) noexcept |
| | Returns SIMD vector component by index.
|
| |
| float | operator[] (psize i) const noexcept |
| | Returns SIMD vector component by index.
|
| |
|
| operator u32x4 () const noexcept |
| | Returns as 4 component unsigned integer SIMD vector.
|
| |
|
| operator i32x4 () const noexcept |
| | Returns as 4 component signed integer SIMD vector.
|
| |
|
| operator float4 () const noexcept |
| | Returns SIMD vector as 4 component floating point vector. (xyzw)
|
| |
|
| operator float3 () const noexcept |
| | Returns SIMD vector as 3 component floating point vector. (xyz)
|
| |
|
| operator float2 () const noexcept |
| | Returns SIMD vector as 2 component floating point vector. (xy)
|
| |
|
| operator float () const noexcept |
| | Returns SIMD first vector component value. (x)
|
| |
|
f32x4 | operator+ (f32x4 v) const noexcept |
| |
|
f32x4 | operator+ (float n) const noexcept |
| |
|
f32x4 | operator- (f32x4 v) const noexcept |
| |
|
f32x4 | operator- () const noexcept |
| |
|
f32x4 | operator- (float n) const noexcept |
| |
|
f32x4 | operator* (float n) const noexcept |
| |
|
f32x4 | operator/ (f32x4 v) const noexcept |
| |
|
f32x4 | operator/ (float n) const noexcept |
| |
|
f32x4 & | operator+= (f32x4 v) noexcept |
| |
|
f32x4 & | operator+= (float n) noexcept |
| |
|
f32x4 & | operator-= (f32x4 v) noexcept |
| |
|
f32x4 & | operator-= (float n) noexcept |
| |
|
f32x4 & | operator*= (f32x4 v) noexcept |
| |
|
f32x4 & | operator*= (float n) noexcept |
| |
|
f32x4 & | operator/= (f32x4 v) noexcept |
| |
|
f32x4 & | operator/= (float n) noexcept |
| |
|
bool | operator== (f32x4 v) const noexcept |
| |
|
bool | operator== (float n) const noexcept |
| |
|
bool | operator!= (f32x4 v) const noexcept |
| |
|
bool | operator!= (float n) const noexcept |
| |
|
u32x4 | operator< (f32x4 v) const noexcept |
| |
|
u32x4 | operator< (float n) const noexcept |
| |
|
u32x4 | operator> (f32x4 v) const noexcept |
| |
|
u32x4 | operator> (float n) const noexcept |
| |
|
u32x4 | operator<= (f32x4 v) const noexcept |
| |
|
u32x4 | operator<= (float n) const noexcept |
| |
|
u32x4 | operator>= (f32x4 v) const noexcept |
| |
|
u32x4 | operator>= (float n) const noexcept |
| |
SIMD 32bit floating point quaternion rotation container. (In 3D space)
Represents rotation using complex numbers, avoiding gimbal lock problem.