CommonLibVR
Loading...
Searching...
No Matches
NiMatrix3.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
5 class NiPoint3;
6
8 {
9 public:
10 constexpr NiMatrix3() noexcept
11 {
12 entry[0][0] = 1.0f;
13 entry[0][1] = 0.0f;
14 entry[0][2] = 0.0f;
15 entry[1][0] = 0.0f;
16 entry[1][1] = 1.0f;
17 entry[1][2] = 0.0f;
18 entry[2][0] = 0.0f;
19 entry[2][1] = 0.0f;
20 entry[2][2] = 1.0f;
21 }
22
23 NiMatrix3(const NiPoint3& a_point);
24 NiMatrix3(float a_x, float a_y, float a_z);
25 NiMatrix3(const NiPoint3& a_x, const NiPoint3& a_y, const NiPoint3& a_z);
26
30
31 bool ToEulerAnglesXYZ(NiPoint3& a_angle) const;
32 bool ToEulerAnglesXYZ(float& a_xAngle, float& a_yAngle, float& a_zAngle) const;
33 void EulerAnglesToAxesZXY(const NiPoint3& a_angle);
34 void EulerAnglesToAxesZXY(float a_xAngle, float a_yAngle, float a_zAngle);
35 void SetEulerAnglesXYZ(const NiPoint3& a_point);
36 void SetEulerAnglesXYZ(float a_x, float a_y, float a_z);
38
39 bool operator==(const NiMatrix3& a_rhs) const;
40 bool operator!=(const NiMatrix3& a_rhs) const;
41 NiMatrix3 operator+(const NiMatrix3& a_rhs) const;
42 NiMatrix3 operator-(const NiMatrix3& a_rhs) const;
43 NiMatrix3 operator*(const NiMatrix3& a_rhs) const;
44 NiPoint3 operator*(const NiPoint3& a_point) const;
45 NiMatrix3 operator*(float a_scalar) const;
46
47 // members
48 float entry[3][3]; // 00
49 private:
51 };
52 static_assert(sizeof(NiMatrix3) == 0x24);
53}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition NiMatrix3.h:8
bool operator==(const NiMatrix3 &a_rhs) const
NiMatrix3(float a_x, float a_y, float a_z)
NiMatrix3 operator*(float a_scalar) const
NiPoint3 GetVectorY() const
void EulerAnglesToAxesZXY(const NiPoint3 &a_angle)
float entry[3][3]
Definition NiMatrix3.h:48
NiPoint3 GetVectorZ() const
bool ToEulerAnglesXYZ(float &a_xAngle, float &a_yAngle, float &a_zAngle) const
NiMatrix3 operator*(const NiMatrix3 &a_rhs) const
NiMatrix3 Transpose() const
NiPoint3 GetVectorX() const
NiPoint3 operator*(const NiPoint3 &a_point) const
void SetEulerAnglesXYZ(const NiPoint3 &a_point)
NiMatrix3(const NiPoint3 &a_point)
NiMatrix3 operator-(const NiMatrix3 &a_rhs) const
NiMatrix3 operator+(const NiMatrix3 &a_rhs) const
constexpr NiMatrix3() noexcept
Definition NiMatrix3.h:10
bool ToEulerAnglesXYZ(NiPoint3 &a_angle) const
bool operator!=(const NiMatrix3 &a_rhs) const
NiMatrix3(const NiPoint3 &a_x, const NiPoint3 &a_y, const NiPoint3 &a_z)
void EulerAnglesToAxesZXY(float a_xAngle, float a_yAngle, float a_zAngle)
void SetEulerAnglesXYZ(float a_x, float a_y, float a_z)
Definition NiPoint3.h:6
Definition AbsorbEffect.h:6