CommonLibSSE NG
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
27 bool ToEulerAnglesXYZ(NiPoint3& a_angle) const;
28 bool ToEulerAnglesXYZ(float& a_xAngle, float& a_yAngle, float& a_zAngle) const;
29 void EulerAnglesToAxesZXY(const NiPoint3& a_angle);
30 void EulerAnglesToAxesZXY(float a_xAngle, float a_yAngle, float a_zAngle);
31 void SetEulerAnglesXYZ(const NiPoint3& a_point);
32 void SetEulerAnglesXYZ(float a_x, float a_y, float a_z);
34
35 bool operator==(const NiMatrix3& a_rhs) const;
36 bool operator!=(const NiMatrix3& a_rhs) const;
37 NiMatrix3 operator*(const NiMatrix3& a_rhs) const;
38 NiPoint3 operator*(const NiPoint3& a_point) const;
39 NiMatrix3 operator*(float a_scalar) const;
40
41 // members
42 float entry[3][3]; // 00
43 };
44 static_assert(sizeof(NiMatrix3) == 0x24);
45}
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
void EulerAnglesToAxesZXY(const NiPoint3 &a_angle)
float entry[3][3]
Definition NiMatrix3.h:42
bool ToEulerAnglesXYZ(float &a_xAngle, float &a_yAngle, float &a_zAngle) const
NiMatrix3 operator*(const NiMatrix3 &a_rhs) const
NiMatrix3 Transpose() const
NiPoint3 operator*(const NiPoint3 &a_point) const
void SetEulerAnglesXYZ(const NiPoint3 &a_point)
NiMatrix3(const NiPoint3 &a_point)
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