Isle
Loading...
Searching...
No Matches
mxmatrix.h
Go to the documentation of this file.
1#ifndef MXMATRIX_H
2#define MXMATRIX_H
3
5
6// VTABLE: LEGO1 0x100d4300
7// VTABLE: BETA10 0x101b82e0
8// SIZE 0x48
9
16class MxMatrix : public Matrix4 {
17public:
22 MxMatrix() : Matrix4(m_elements) {}
23
29 MxMatrix(const MxMatrix& p_matrix) : Matrix4(m_elements) { Equals(p_matrix); }
30
36 MxMatrix(const Matrix4& p_matrix) : Matrix4(m_elements) { Equals(p_matrix); }
37
44 float* operator[](int idx) { return m_data[idx]; }
45
52 const float* operator[](int idx) const { return m_data[idx]; }
53
59 void operator=(const Matrix4& p_matrix) override { Equals(p_matrix); } // vtable+0x28
60
66 virtual void operator=(const MxMatrix& p_matrix) { Equals(p_matrix); } // vtable+0x48
67
68private:
73 float m_elements[4][4]; // 0x08 [AI]
74};
75
76// Must be included here (not before MxMatrix) for correct ordering in binary.
77// FromQuaternion and ToQuaternion in Matrix4 depend on Vector4.
78// There's a chance they included mxgeometry4d.h after including this somewhere.
80
81#endif // MXMATRIX_H
4x4 Matrix class with virtual interface for manipulation and transformation.
Definition: matrix.h:24
virtual void Equals(float(*p_data)[4])
Set the matrix elements from a 4x4 float array.
float(* m_data)[4]
Pointer to 4x4 float array, owns or refers to matrix data.
Definition: matrix.h:29
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
Definition: mxmatrix.h:16
float * operator[](int idx)
[AI] Subscript operator for access to individual rows of the matrix.
Definition: mxmatrix.h:44
const float * operator[](int idx) const
[AI] Const version of subscript operator.
Definition: mxmatrix.h:52
MxMatrix(const MxMatrix &p_matrix)
[AI] Copy constructor from another MxMatrix.
Definition: mxmatrix.h:29
MxMatrix(const Matrix4 &p_matrix)
[AI] Constructor from a generic Matrix4.
Definition: mxmatrix.h:36
virtual void operator=(const MxMatrix &p_matrix)
[AI] Assignment operator from another MxMatrix.
Definition: mxmatrix.h:66
MxMatrix()
[AI] Default constructor.
Definition: mxmatrix.h:22
void operator=(const Matrix4 &p_matrix) override
[AI] Assignment operator from a generic Matrix4.
Definition: mxmatrix.h:59