mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00

* Refactor `LegoUnknown100db7f4` to `LegoOrientedEdge` * Update LEGO1/lego/sources/geom/legoorientededge.h * Update legopathcontroller.h --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
48 lines
1.1 KiB
C++
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
|