Files
isle/LEGO1/lego/sources/geom/legoedge.h
Florian Kaiser 804632b13f Refactor LegoUnknown100db7f4 to LegoOrientedEdge (#1515)
* Refactor `LegoUnknown100db7f4` to `LegoOrientedEdge`

* Update LEGO1/lego/sources/geom/legoorientededge.h

* Update legopathcontroller.h

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-24 23:09:24 -07:00

48 lines
1.1 KiB
C++

#ifndef __LEGOEDGE_H
#define __LEGOEDGE_H
#include "misc/legotypes.h"
class LegoWEEdge;
class Vector3;
// VTABLE: LEGO1 0x100db7b8
// SIZE 0x24
struct LegoEdge {
LegoEdge();
virtual ~LegoEdge(); // vtable+0x00
LegoEdge* GetClockwiseEdge(LegoWEEdge& p_face);
LegoEdge* GetCounterclockwiseEdge(LegoWEEdge& p_face);
Vector3* CWVertex(LegoWEEdge& p_face);
Vector3* CCWVertex(LegoWEEdge& p_face);
LegoResult GetFaceNormal(LegoWEEdge& p_face, Vector3& p_point);
// FUNCTION: BETA10 0x10184170
LegoWEEdge* GetFaceA() { return m_faceA; }
// FUNCTION: BETA10 0x10184190
LegoWEEdge* GetFaceB() { return m_faceB; }
// FUNCTION: BETA10 0x1001cb80
Vector3* GetPointA() { return m_pointA; }
// FUNCTION: BETA10 0x1001cbb0
Vector3* GetPointB() { return m_pointB; }
// SYNTHETIC: LEGO1 0x1009a4a0
// LegoEdge::`scalar deleting destructor'
LegoWEEdge* m_faceA; // 0x04
LegoWEEdge* m_faceB; // 0x08
LegoEdge* m_ccwA; // 0x0c
LegoEdge* m_cwA; // 0x10
LegoEdge* m_ccwB; // 0x14
LegoEdge* m_cwB; // 0x18
Vector3* m_pointA; // 0x1c
Vector3* m_pointB; // 0x20
};
#endif // __LEGOEDGE_H