LeviLamina
Loading...
Searching...
No Matches
Matrix.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Vec3;
8// clang-format on
9
10class Matrix {
11public:
12 // member variables
13 // NOLINTBEGIN
14 ::ll::TypedStorage<4, 64, ::glm::mat4x4> _m;
15 // NOLINTEND
16
17#ifdef LL_PLAT_S
18#else // LL_PLAT_C
19public:
20 // prevent constructor by default
21 Matrix(Matrix const&);
22 Matrix();
23
24#endif
25public:
26 // member functions
27 // NOLINTBEGIN
28#ifdef LL_PLAT_C
29 MCAPI Matrix(::glm::vec4 const& row0, ::glm::vec4 const& row1, ::glm::vec4 const& row2, ::glm::vec4 const& row3);
30
31 MCAPI ::glm::qua<float> getRotationAsQuaternion() const;
32
33 MCAPI ::Matrix& operator=(::Matrix const&);
34
35 MCAPI bool operator==(::Matrix const& rhs) const;
36
37 MCAPI void rotate(float a, ::glm::vec3 const& axis);
38
39 MCAPI void rotate(float a, float x, float y, float z);
40
41 MCAPI void rotateXYZ(::Vec3 const& rotation);
42
43 MCAPI void scale(float x);
44
45 MCAPI void scale(float x, float y, float z);
46
47 MCAPI void translate(::glm::vec3 const& t);
48
49 MCAPI void translate(float x, float y, float z);
50#endif
51 // NOLINTEND
52
53public:
54 // static variables
55 // NOLINTBEGIN
56 MCAPI static ::Matrix const& IDENTITY();
57 // NOLINTEND
58
59public:
60 // constructor thunks
61 // NOLINTBEGIN
62#ifdef LL_PLAT_C
63 MCAPI void*
64 $ctor(::glm::vec4 const& row0, ::glm::vec4 const& row1, ::glm::vec4 const& row2, ::glm::vec4 const& row3);
65#endif
66 // NOLINTEND
67};
Definition Vec3.h:10