1#ifndef __LEGOUNKNOWN100DB7F4_H
2#define __LEGOUNKNOWN100DB7F4_H
132 localc = (p_position[0] - (*m_pointA)[0]) /
m_unk0x28[0];
134 if (localc < 0 || localc > 1) {
141 if (p_position[0] > (*
m_pointA)[0] + 0.001 || p_position[0] < (*m_pointA)[0] - 0.001) {
147 local10 = (p_position[1] - (*m_pointA)[1]) /
m_unk0x28[1];
150 if (localc > local10 + 0.001 || localc < local10 - 0.001) {
160 if (p_position[1] > (*
m_pointA)[1] + 0.001 || p_position[1] < (*m_pointA)[1] - 0.001) {
166 local10 = (p_position[2] - (*m_pointA)[2]) /
m_unk0x28[2];
169 if (localc > local10 + 0.001 || localc < local10 - 0.001) {
178 if (p_position[2] > (*
m_pointA)[2] + 0.001 || p_position[2] < (*m_pointA)[2] - 0.001) {
[AI] Represents a face (polygon) composed of a list of edges in the LEGO Island world engine.
[AI] Represents a "geometry edge" in the LEGO Island world polygon/path system.
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
unsigned long LegoU32
[AI] Unsigned 32-bit integer type for cross-platform compatibility.
unsigned char LegoU8
[AI] Unsigned 8-bit integer type used throughout LEGO Island.
LegoS32 LegoResult
[AI] Function result type (return code): typically SUCCESS (0) or FAILURE (-1).
unsigned short LegoU16
[AI] Unsigned 16-bit integer type for cross-platform compatibility.
float LegoFloat
[AI] Floating point type used throughout LEGO Island.
[AI] Represents an edge in the LEGO world geometry graph.
Vector3 * m_pointA
[AI] The first endpoint of the edge.
[AI] Represents an advanced edge in the LEGO Island geometry system, with direction,...
LegoU32 GetMask0x03()
[AI] Returns a mask of flags relevant to the two faces (bits 0 and 1: c_bit1, c_bit2).
@ c_bit2
[AI] Bit flag 2 for face A connection/properties
@ c_bit4
[AI] Bit flag 4 (purpose unknown)
@ c_bit3
[AI] Bit flag 3 (purpose unknown)
@ c_bit1
[AI] Bit flag 1 for face B connection/properties
float m_unk0x3c
[AI] Unknown float; likely represents additional metric (possibly precomputed distance/weight).
LegoU32 FUN_10048c40(const Vector3 &p_position)
[AI] Tests if a position is on this edge based on its direction and points, within a precision thresh...
LegoFloat DistanceBetweenMidpoints(const LegoUnknown100db7f4 &p_other)
[AI] Returns the Euclidean distance between the midpoints of this edge and another edge.
Mx3DPointFloat m_unk0x28
[AI] Represents the edge's direction/normal vector or outward face normal.
LegoFloat DistanceToMidpoint(const Vector3 &p_vec)
[AI] Calculates linear distance from a vector position to the 3D midpoint of the edge.
LegoU32 BETA_1004a830(LegoWEGEdge &p_face, LegoU8 p_mask)
[AI] Tests whether a WEG-edge meets complex mask and flag criteria for this edge, depending on mask a...
LegoU16 m_flags
[AI] Internal flags controlling per-face properties and connection status.
LegoWEEdge * OtherFace(LegoWEEdge *p_other)
[AI] Returns the opposite face pointer to the one passed in.
LegoUnknown100db7f4()
[AI] Constructs a new edge object with zero-initialized per-face flags and direction/normal vector.
LegoU32 BETA_100b53b0(LegoWEGEdge &p_face)
[AI] Checks if a WEG-edge is connected to this edge with proper flagging for its side.
LegoResult FUN_1002ddc0(LegoWEEdge &p_f, Vector3 &p_point) const
[AI] Calculates the edge normal for use from the given face, negating it if called from faceA.
void SetFlags(LegoU16 p_flags)
[AI] Directly sets the internal flags value.