Plasma Engine
2.0
Loading...
Searching...
No Matches
SimdQuat.h
1
#pragma once
2
3
#include <Foundation/SimdMath/SimdMat4f.h>
4
5
class
PL_FOUNDATION_DLL
plSimdQuat
6
{
7
public
:
8
PL_DECLARE_POD_TYPE();
9
10
plSimdQuat
();
// [tested]
11
12
explicit
plSimdQuat
(
const
plSimdVec4f
& v);
// [tested]
13
15
[[nodiscard]]
static
const
plSimdQuat
MakeIdentity();
// [tested]
16
21
[[nodiscard]]
static
plSimdQuat
MakeFromElements(
plSimdFloat
x,
plSimdFloat
y,
plSimdFloat
z,
plSimdFloat
w);
// [tested]
22
24
[[nodiscard]]
static
plSimdQuat
MakeFromAxisAndAngle(
const
plSimdVec4f
& vRotationAxis,
const
plSimdFloat
& fAngle);
// [tested]
25
27
[[nodiscard]]
static
plSimdQuat
MakeShortestRotation(
const
plSimdVec4f
& vDirFrom,
const
plSimdVec4f
& vDirTo);
// [tested]
28
30
[[nodiscard]]
static
plSimdQuat
MakeSlerp(
const
plSimdQuat
& qFrom,
const
plSimdQuat
& qTo,
const
plSimdFloat
& t);
// [tested]
31
32
public
:
34
void
Normalize();
// [tested]
35
37
plResult
GetRotationAxisAndAngle(
plSimdVec4f
& ref_vAxis,
plSimdFloat
& ref_fAngle,
const
plSimdFloat
& fEpsilon = plMath::DefaultEpsilon<float>())
const
;
// [tested]
38
40
plSimdMat4f
GetAsMat4()
const
;
// [tested]
41
43
bool
IsValid(
const
plSimdFloat
& fEpsilon = plMath::DefaultEpsilon<float>())
const
;
// [tested]
44
46
bool
IsNaN()
const
;
// [tested]
47
53
bool
IsEqualRotation(
const
plSimdQuat
& qOther,
const
plSimdFloat
& fEpsilon)
const
;
// [tested]
54
55
public
:
57
[[nodiscard]]
plSimdQuat
operator-()
const
;
// [tested]
58
60
[[nodiscard]]
plSimdVec4f
operator*(
const
plSimdVec4f
& v)
const
;
// [tested]
61
63
[[nodiscard]]
plSimdQuat
operator*(
const
plSimdQuat
& q2)
const
;
// [tested]
64
65
bool
operator==(
const
plSimdQuat
& q2)
const
;
// [tested]
66
bool
operator!=(
const
plSimdQuat
& q2)
const
;
// [tested]
67
68
public
:
69
plSimdVec4f
m_v;
70
};
71
72
#include <Foundation/SimdMath/Implementation/SimdQuat_inl.h>
plSimdFloat
Definition
SimdFloat.h:7
plSimdMat4f
A 4x4 matrix class.
Definition
SimdMat4f.h:7
plSimdQuat
Definition
SimdQuat.h:6
plSimdVec4f
A 4-component SIMD vector class.
Definition
SimdVec4f.h:8
plResult
Default enum for returning failure or success, instead of using a bool.
Definition
Types.h:54
Code
Engine
Foundation
SimdMath
SimdQuat.h
Generated by
1.11.0