Isle
Loading...
Searching...
No Matches
mxgeometry4d.h
Go to the documentation of this file.
1#ifndef MXGEOMETRY4D_H
2#define MXGEOMETRY4D_H
3
4#include "decomp.h"
6
7// VTABLE: LEGO1 0x100d41e8
8// VTABLE: BETA10 0x101bab78
9// SIZE 0x18
10
18class Mx4DPointFloat : public Vector4 {
19public:
24 Mx4DPointFloat() : Vector4(m_elements) {}
25
34 Mx4DPointFloat(float p_x, float p_y, float p_z, float p_a) : Vector4(m_elements)
35 {
36 m_elements[0] = p_x;
37 m_elements[1] = p_y;
38 m_elements[2] = p_z;
39 m_elements[3] = p_a;
40 }
41
47 Mx4DPointFloat(const Mx4DPointFloat& p_other) : Vector4(m_elements) { EqualsImpl(p_other.m_data); }
48
54 virtual void operator=(const Vector4& p_impl) { EqualsImpl(p_impl.m_data); } // vtable+0x98
55
62 float& operator[](int idx) { return m_data[idx]; }
63
64 // According to the PDB, BETA10 will not link this one if it is never used
65 // const float& operator[](int idx) const { return m_data[idx]; }
66
73 float& index_operator(int idx) { return m_data[idx]; }
74
75 // SYNTHETIC: LEGO1 0x10064b20
76 // SYNTHETIC: BETA10 0x10070420
77 // ??4Mx4DPointFloat@@QAEAAV0@ABV0@@Z
78
79private:
84 float m_elements[4]; // 0x08
85};
86
87#endif // MXGEOMETRY4D_H
[AI] 4D point class for floating point values.
Definition: mxgeometry4d.h:18
Mx4DPointFloat(const Mx4DPointFloat &p_other)
[AI] Copy constructor.
Definition: mxgeometry4d.h:47
Mx4DPointFloat()
[AI] Default constructor.
Definition: mxgeometry4d.h:24
virtual void operator=(const Vector4 &p_impl)
[AI] Assignment operator from a Vector4 object.
Definition: mxgeometry4d.h:54
float & operator[](int idx)
[AI] Array subscript operator for modifiable access.
Definition: mxgeometry4d.h:62
float & index_operator(int idx)
[AI] Explicit indexed access wrapper (alias for operator[]).
Definition: mxgeometry4d.h:73
Mx4DPointFloat(float p_x, float p_y, float p_z, float p_a)
[AI] Constructor with explicit coordinates.
Definition: mxgeometry4d.h:34
float * m_data
[AI] Pointer to externally provided float storage (owned elsewhere).
Definition: vector.h:77
[AI] A four-dimensional vector, supporting operations relevant for matrix and quaternion math (homoge...
Definition: vector.h:365
void EqualsImpl(const float *p_data) override
[AI] Assigns values from provided array to this vector.