Isle
|
[AI] Represents an advanced edge in the LEGO Island geometry system, with direction, flags, and geometric query utilities. More...
#include <legounkown100db7f4.h>
Public Types | |
enum | { c_bit1 = 0x01 , c_bit2 = 0x02 , c_bit3 = 0x04 , c_bit4 = 0x08 } |
[AI] Flag values for edge-face properties. More... | |
Public Member Functions | |
LegoUnknown100db7f4 () | |
[AI] Constructs a new edge object with zero-initialized per-face flags and direction/normal vector. More... | |
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. More... | |
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 and which face is referenced. More... | |
LegoU32 | BETA_100b53b0 (LegoWEGEdge &p_face) |
[AI] Checks if a WEG-edge is connected to this edge with proper flagging for its side. More... | |
LegoWEEdge * | OtherFace (LegoWEEdge *p_other) |
[AI] Returns the opposite face pointer to the one passed in. More... | |
LegoFloat | DistanceToMidpoint (const Vector3 &p_vec) |
[AI] Calculates linear distance from a vector position to the 3D midpoint of the edge. More... | |
LegoFloat | DistanceBetweenMidpoints (const LegoUnknown100db7f4 &p_other) |
[AI] Returns the Euclidean distance between the midpoints of this edge and another edge. More... | |
LegoU32 | GetMask0x03 () |
[AI] Returns a mask of flags relevant to the two faces (bits 0 and 1: c_bit1, c_bit2). More... | |
void | SetFlags (LegoU16 p_flags) |
[AI] Directly sets the internal flags value. More... | |
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 threshold. More... | |
![]() | |
LegoEdge () | |
[AI] Constructs a LegoEdge with all members initialized to nullptr. More... | |
virtual | ~LegoEdge () |
[AI] Destructor. More... | |
LegoEdge * | GetClockwiseEdge (LegoWEEdge &p_face) |
[AI] Returns the clockwise adjacent edge relative to the given face. More... | |
LegoEdge * | GetCounterclockwiseEdge (LegoWEEdge &p_face) |
[AI] Returns the counterclockwise adjacent edge relative to the given face. More... | |
Vector3 * | CWVertex (LegoWEEdge &p_face) |
[AI] Returns the "clockwise" endpoint of this edge with respect to a given face. More... | |
Vector3 * | CCWVertex (LegoWEEdge &p_face) |
[AI] Returns the "counterclockwise" endpoint of this edge with respect to a given face. More... | |
LegoResult | FUN_1002ddc0 (LegoWEEdge &p_face, Vector3 &p_point) |
[AI] Performs an, as yet, unknown operation using the given face and point. More... | |
LegoWEEdge * | GetFaceA () |
[AI] Gets the first face (A) using this edge. More... | |
LegoWEEdge * | GetFaceB () |
[AI] Gets the second face (B) using this edge. More... | |
Vector3 * | GetPointA () |
[AI] Gets the first endpoint (A) of the edge. More... | |
Vector3 * | GetPointB () |
[AI] Gets the second endpoint (B) of the edge. More... | |
Public Attributes | |
LegoU16 | m_flags |
[AI] Internal flags controlling per-face properties and connection status. More... | |
Mx3DPointFloat | m_unk0x28 |
[AI] Represents the edge's direction/normal vector or outward face normal. More... | |
float | m_unk0x3c |
[AI] Unknown float; likely represents additional metric (possibly precomputed distance/weight). More... | |
![]() | |
LegoWEEdge * | m_faceA |
[AI] Pointer to the first face sharing this edge. More... | |
LegoWEEdge * | m_faceB |
[AI] Pointer to the second face sharing this edge. More... | |
LegoEdge * | m_ccwA |
[AI] Next edge (counterclockwise) around face A. More... | |
LegoEdge * | m_cwA |
[AI] Next edge (clockwise) around face A. More... | |
LegoEdge * | m_ccwB |
[AI] Next edge (counterclockwise) around face B. More... | |
LegoEdge * | m_cwB |
[AI] Next edge (clockwise) around face B. More... | |
Vector3 * | m_pointA |
[AI] The first endpoint of the edge. More... | |
Vector3 * | m_pointB |
[AI] The second endpoint of the edge. More... | |
[AI] Represents an advanced edge in the LEGO Island geometry system, with direction, flags, and geometric query utilities.
[AI] This is an extension of LegoEdge, featuring enhanced geometric capabilities. This structure associates an edge with additional information such as directionality (normal vector), flags indicating properties per-face, and several helper functions for geometry intersection and metric queries. Seen in the path- and world-edge system of LEGO Island.
Definition at line 17 of file legounkown100db7f4.h.
anonymous enum |
[AI] Flag values for edge-face properties.
Definition at line 20 of file legounkown100db7f4.h.
LegoUnknown100db7f4::LegoUnknown100db7f4 | ( | ) |
[AI] Constructs a new edge object with zero-initialized per-face flags and direction/normal vector.
Definition at line 7 of file legounkown100db7f4.cpp.
LegoU32 LegoUnknown100db7f4::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 and which face is referenced.
p_face | [AI] The WEG-edge being queried. |
p_mask | [AI] Bitmask to match against the face's mask. |
LegoU32 LegoUnknown100db7f4::BETA_100b53b0 | ( | LegoWEGEdge & | p_face | ) |
[AI] Checks if a WEG-edge is connected to this edge with proper flagging for its side.
[AI] Used to quickly determine face-edge-side relations.
p_face | [AI] The WEG-edge to check. |
LegoFloat LegoUnknown100db7f4::DistanceBetweenMidpoints | ( | const LegoUnknown100db7f4 & | p_other | ) |
[AI] Returns the Euclidean distance between the midpoints of this edge and another edge.
[AI] Both midpoints are computed and then their distance measured, for geometry LOD or region grouping.
p_other | [AI] The other edge. |
[AI] Calculates linear distance from a vector position to the 3D midpoint of the edge.
[AI] Used for proximity/metric queries.
p_vec | [AI] Position to compare against midpoint. |
LegoResult LegoUnknown100db7f4::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.
[AI] Provides outward-facing edge normal as a vector for the specified edge; reversed for one side, used for collision, lighting, or traversal logic.
p_f | [AI] The face from which the query is made. |
p_point | [AI] Output vector for the face's normal. |
[AI] Tests if a position is on this edge based on its direction and points, within a precision threshold.
[AI] Tests for geometric containment: whether the given position is on/along this edge segment (using direction/normal and tolerance).
p_position | [AI] The position to test. |
Definition at line 126 of file legounkown100db7f4.h.
LegoU32 LegoUnknown100db7f4::GetMask0x03 | ( | ) |
[AI] Returns a mask of flags relevant to the two faces (bits 0 and 1: c_bit1, c_bit2).
LegoWEEdge * LegoUnknown100db7f4::OtherFace | ( | LegoWEEdge * | p_other | ) |
[AI] Returns the opposite face pointer to the one passed in.
[AI] Call with a face pointer: gets the "other" face at the edge for traversal/type queries.
p_other | [AI] Known face. |
void LegoUnknown100db7f4::SetFlags | ( | LegoU16 | p_flags | ) |
[AI] Directly sets the internal flags value.
p_flags | [AI] Value to assign to m_flags. |
LegoUnknown100db7f4::m_flags |
[AI] Internal flags controlling per-face properties and connection status.
Definition at line 108 of file legounkown100db7f4.h.
LegoUnknown100db7f4::m_unk0x28 |
[AI] Represents the edge's direction/normal vector or outward face normal.
[AI] Used repeatedly for face-based normal queries and edge positioning.
Definition at line 115 of file legounkown100db7f4.h.
LegoUnknown100db7f4::m_unk0x3c |
[AI] Unknown float; likely represents additional metric (possibly precomputed distance/weight).
Definition at line 121 of file legounkown100db7f4.h.