Isle
Loading...
Searching...
No Matches
LegoUnknown100db7f4 Struct Reference

[AI] Represents an advanced edge in the LEGO Island geometry system, with direction, flags, and geometric query utilities. More...

#include <legounkown100db7f4.h>

Inheritance diagram for LegoUnknown100db7f4:
Collaboration diagram for LegoUnknown100db7f4:

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...
 
LegoWEEdgeOtherFace (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...
 
- Public Member Functions inherited from LegoEdge
 LegoEdge ()
 [AI] Constructs a LegoEdge with all members initialized to nullptr. More...
 
virtual ~LegoEdge ()
 [AI] Destructor. More...
 
LegoEdgeGetClockwiseEdge (LegoWEEdge &p_face)
 [AI] Returns the clockwise adjacent edge relative to the given face. More...
 
LegoEdgeGetCounterclockwiseEdge (LegoWEEdge &p_face)
 [AI] Returns the counterclockwise adjacent edge relative to the given face. More...
 
Vector3CWVertex (LegoWEEdge &p_face)
 [AI] Returns the "clockwise" endpoint of this edge with respect to a given face. More...
 
Vector3CCWVertex (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...
 
LegoWEEdgeGetFaceA ()
 [AI] Gets the first face (A) using this edge. More...
 
LegoWEEdgeGetFaceB ()
 [AI] Gets the second face (B) using this edge. More...
 
Vector3GetPointA ()
 [AI] Gets the first endpoint (A) of the edge. More...
 
Vector3GetPointB ()
 [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...
 
- Public Attributes inherited from LegoEdge
LegoWEEdgem_faceA
 [AI] Pointer to the first face sharing this edge. More...
 
LegoWEEdgem_faceB
 [AI] Pointer to the second face sharing this edge. More...
 
LegoEdgem_ccwA
 [AI] Next edge (counterclockwise) around face A. More...
 
LegoEdgem_cwA
 [AI] Next edge (clockwise) around face A. More...
 
LegoEdgem_ccwB
 [AI] Next edge (counterclockwise) around face B. More...
 
LegoEdgem_cwB
 [AI] Next edge (clockwise) around face B. More...
 
Vector3m_pointA
 [AI] The first endpoint of the edge. More...
 
Vector3m_pointB
 [AI] The second endpoint of the edge. More...
 

Detailed Description

[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.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

[AI] Flag values for edge-face properties.

Enumerator
c_bit1 

[AI] Bit flag 1 for face B connection/properties

c_bit2 

[AI] Bit flag 2 for face A connection/properties

c_bit3 

[AI] Bit flag 3 (purpose unknown)

c_bit4 

[AI] Bit flag 4 (purpose unknown)

Definition at line 20 of file legounkown100db7f4.h.

Constructor & Destructor Documentation

◆ LegoUnknown100db7f4()

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.

Member Function Documentation

◆ BETA_1004a830()

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.

Parameters
p_face[AI] The WEG-edge being queried.
p_mask[AI] Bitmask to match against the face's mask.
Returns
TRUE if edge matches mask and flags conditions; otherwise FALSE. [AI]

◆ BETA_100b53b0()

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.

Parameters
p_face[AI] The WEG-edge to check.
Returns
TRUE if present according to correct flag (c_bit1/c_bit2), otherwise FALSE. [AI]

◆ DistanceBetweenMidpoints()

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.

Parameters
p_other[AI] The other edge.
Returns
Distance between midpoints. [AI]

◆ DistanceToMidpoint()

LegoFloat LegoUnknown100db7f4::DistanceToMidpoint ( const Vector3 p_vec)

[AI] Calculates linear distance from a vector position to the 3D midpoint of the edge.

[AI] Used for proximity/metric queries.

Parameters
p_vec[AI] Position to compare against midpoint.
Returns
Euclidean distance from input point to the midpoint of this edge. [AI]

◆ FUN_1002ddc0()

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.

Parameters
p_f[AI] The face from which the query is made.
p_point[AI] Output vector for the face's normal.
Returns
Returns SUCCESS on completion. [AI]

◆ FUN_10048c40()

LegoU32 LegoUnknown100db7f4::FUN_10048c40 ( const Vector3 p_position)
inline

[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).

Parameters
p_position[AI] The position to test.
Returns
TRUE if the point lies on the edge (within a tolerance), else FALSE. [AI]

Definition at line 126 of file legounkown100db7f4.h.

◆ GetMask0x03()

LegoU32 LegoUnknown100db7f4::GetMask0x03 ( )

[AI] Returns a mask of flags relevant to the two faces (bits 0 and 1: c_bit1, c_bit2).

Returns
The flag mask for face assignment. [AI]

◆ OtherFace()

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.

Parameters
p_other[AI] Known face.
Returns
Returns pointer to the other (not passed-in) face. [AI]

◆ SetFlags()

void LegoUnknown100db7f4::SetFlags ( LegoU16  p_flags)

[AI] Directly sets the internal flags value.

Parameters
p_flags[AI] Value to assign to m_flags.

Member Data Documentation

◆ m_flags

LegoUnknown100db7f4::m_flags

[AI] Internal flags controlling per-face properties and connection status.

Definition at line 108 of file legounkown100db7f4.h.

◆ m_unk0x28

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.

◆ m_unk0x3c

LegoUnknown100db7f4::m_unk0x3c

[AI] Unknown float; likely represents additional metric (possibly precomputed distance/weight).

Definition at line 121 of file legounkown100db7f4.h.


The documentation for this struct was generated from the following files: