Isle
Loading...
Searching...
No Matches
mxgeometry3d.h
Go to the documentation of this file.
1#ifndef MXGEOMETRY3D_H
2#define MXGEOMETRY3D_H
3
4#include "decomp.h"
6
7// VTABLE: LEGO1 0x100d4488
8// VTABLE: BETA10 0x101b84d0
9// SIZE 0x14
14class Mx3DPointFloat : public Vector3 {
15public:
19 Mx3DPointFloat() : Vector3(m_elements) {}
20
27 Mx3DPointFloat(float p_x, float p_y, float p_z) : Vector3(m_elements)
28 {
29 m_elements[0] = p_x;
30 m_elements[1] = p_y;
31 m_elements[2] = p_z;
32 }
33
38 Mx3DPointFloat(const Mx3DPointFloat& p_other) : Vector3(m_elements) { EqualsImpl(p_other.m_data); }
39
44 Mx3DPointFloat(const Vector3& p_other) : Vector3(m_elements) { EqualsImpl(p_other.m_data); }
45
50 virtual void operator=(const Vector3& p_impl) { EqualsImpl(p_impl.m_data); } // vtable+0x88
51
57 float& operator[](int idx) { return m_data[idx]; }
58
64 const float& operator[](int idx) const { return m_data[idx]; }
65
66 // SYNTHETIC: LEGO1 0x10010c00
67 // SYNTHETIC: BETA10 0x10015240
68 // ??4Mx3DPointFloat@@QAEAAV0@ABV0@@Z
69
70private:
74 float m_elements[3]; // 0x08
75};
76
77#endif // MXGEOMETRY3D_H
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
Definition: mxgeometry3d.h:14
Mx3DPointFloat(const Mx3DPointFloat &p_other)
[AI] Copy constructor from another Mx3DPointFloat.
Definition: mxgeometry3d.h:38
Mx3DPointFloat()
[AI] Constructs a zero-initialized 3D point at the origin (0, 0, 0).
Definition: mxgeometry3d.h:19
const float & operator[](int idx) const
[AI] Accesses a component (X/Y/Z) of the point as a constant value.
Definition: mxgeometry3d.h:64
Mx3DPointFloat(float p_x, float p_y, float p_z)
[AI] Constructs a 3D point with supplied X, Y, and Z coordinates.
Definition: mxgeometry3d.h:27
virtual void operator=(const Vector3 &p_impl)
[AI] Assignment operator copies the content of a Vector3 into this point.
Definition: mxgeometry3d.h:50
float & operator[](int idx)
[AI] Accesses a component (X/Y/Z) of the point for modification.
Definition: mxgeometry3d.h:57
Mx3DPointFloat(const Vector3 &p_other)
[AI] Constructs from a generic Vector3, treating it as a 3D point.
Definition: mxgeometry3d.h:44
float * m_data
[AI] Pointer to externally provided float storage (owned elsewhere).
Definition: vector.h:77
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
Definition: vector.h:249
void EqualsImpl(const float *p_data) override
[AI] Assigns values from provided array to this vector.