Skip to content
LeviMC
English
AutoLightDark
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();
22
23#endif
24public:
25 // member functions
26 // NOLINTBEGIN
27#ifdef LL_PLAT_C
28 MCNAPI Matrix(::glm::vec4 const& row0, ::glm::vec4 const& row1, ::glm::vec4 const& row2, ::glm::vec4 const& row3);
29
30 MCNAPI bool operator==(::Matrix const& rhs) const;
31
32 MCNAPI void rotate(float a, ::glm::vec3 const& axis);
33
34 MCAPI void rotate(float a, float x, float y, float z);
35#endif
36
37 MCNAPI void rotateXYZ(::Vec3 const& rotation);
38
39#ifdef LL_PLAT_C
40 MCAPI void scale(float x);
41
42 MCAPI void scale(float x, float y, float z);
43
44 MCAPI void translate(::glm::vec3 const& t);
45
46 MCAPI void translate(float x, float y, float z);
47#endif
48 // NOLINTEND
49
50public:
51 // static variables
52 // NOLINTBEGIN
53 MCNAPI static ::Matrix const& IDENTITY();
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59#ifdef LL_PLAT_C
60 MCNAPI void*
61 $ctor(::glm::vec4 const& row0, ::glm::vec4 const& row1, ::glm::vec4 const& row2, ::glm::vec4 const& row3);
62#endif
63 // NOLINTEND
64};
MCAPI void rotateXYZ(::Vec3 const &rotation)
static MCAPI ::Matrix const & IDENTITY()
Definition Vec3.h:10