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

[AI] Represents an edge in the LEGO world geometry graph. More...

#include <legoedge.h>

Inheritance diagram for LegoEdge:
Collaboration diagram for LegoEdge:

Public Member Functions

 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

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 edge in the LEGO world geometry graph.

Connects two points and can belong to two faces. Provides clockwise/counterclockwise edge navigation and vertex lookup for algorithms requiring half-edge traversal. [AI]

[AI] A LegoEdge represents a connection between two points (Vector3*) and can be shared between two polygonal faces (LegoWEEdge*). It also stores links to adjacent edges around each face, which allows for efficient traversal (e.g., for walking along polygons' borders). [AI]

Definition at line 16 of file legoedge.h.

Constructor & Destructor Documentation

◆ LegoEdge()

LegoEdge::LegoEdge ( )

[AI] Constructs a LegoEdge with all members initialized to nullptr.

[AI]

Definition at line 9 of file legoedge.cpp.

◆ ~LegoEdge()

LegoEdge::~LegoEdge ( )
virtual

[AI] Destructor.

No special cleanup is performed (pointers are not owned). [AI]

Definition at line 22 of file legoedge.cpp.

Member Function Documentation

◆ CCWVertex()

Vector3 * LegoEdge::CCWVertex ( LegoWEEdge p_face)

[AI] Returns the "counterclockwise" endpoint of this edge with respect to a given face.

[AI]

[AI] Returns the vertex that is at the endpoint of the edge in alignment with moving counterclockwise along the face p_face. Ownership is not transferred. [AI]

Parameters
p_faceThe face to determine the orientation. [AI]
Returns
Pointer to the Vector3 representing the counterclockwise vertex. [AI]

Definition at line 69 of file legoedge.cpp.

◆ CWVertex()

Vector3 * LegoEdge::CWVertex ( LegoWEEdge p_face)

[AI] Returns the "clockwise" endpoint of this edge with respect to a given face.

[AI]

[AI] Returns the vertex that is at the endpoint of the edge in alignment with moving clockwise along the face p_face. Ownership is not transferred. [AI]

Parameters
p_faceThe face to determine the orientation. [AI]
Returns
Pointer to the Vector3 representing the clockwise vertex. [AI]

Definition at line 56 of file legoedge.cpp.

◆ FUN_1002ddc0()

LegoResult LegoEdge::FUN_1002ddc0 ( LegoWEEdge p_face,
Vector3 p_point 
)

[AI] Performs an, as yet, unknown operation using the given face and point.

[AI_SUGGESTED_NAME: IntersectOrProjectOrClassify]

[AI] The operation likely checks or projects the provided point relative to this edge and face. Exact semantics unresolved. [AI]

Parameters
p_faceThe face context for the operation. [AI]
p_pointThe point involved in the operation. [AI]
Returns
Result code indicating the outcome of the operation. [AI]

◆ GetClockwiseEdge()

LegoEdge * LegoEdge::GetClockwiseEdge ( LegoWEEdge p_face)

[AI] Returns the clockwise adjacent edge relative to the given face.

[AI]

Parameters
p_faceThe face (LegoWEEdge) for which to find the clockwise edge. [AI]
Returns
The next adjacent edge in clockwise direction if found; otherwise nullptr. [AI]

Definition at line 27 of file legoedge.cpp.

◆ GetCounterclockwiseEdge()

LegoEdge * LegoEdge::GetCounterclockwiseEdge ( LegoWEEdge p_face)

[AI] Returns the counterclockwise adjacent edge relative to the given face.

[AI]

Parameters
p_faceThe face (LegoWEEdge) for which to find the counterclockwise edge. [AI]
Returns
The next adjacent edge in counterclockwise direction if found; otherwise nullptr. [AI]

Definition at line 41 of file legoedge.cpp.

◆ GetFaceA()

LegoWEEdge * LegoEdge::GetFaceA ( )
inline

[AI] Gets the first face (A) using this edge.

[AI]

Returns
Pointer to the face (LegoWEEdge*) on side A. [AI]

Definition at line 70 of file legoedge.h.

◆ GetFaceB()

LegoWEEdge * LegoEdge::GetFaceB ( )
inline

[AI] Gets the second face (B) using this edge.

[AI]

Returns
Pointer to the face (LegoWEEdge*) on side B. [AI]

Definition at line 76 of file legoedge.h.

◆ GetPointA()

Vector3 * LegoEdge::GetPointA ( )
inline

[AI] Gets the first endpoint (A) of the edge.

[AI]

Returns
Pointer to Vector3 representing endpoint A. [AI]

Definition at line 82 of file legoedge.h.

◆ GetPointB()

Vector3 * LegoEdge::GetPointB ( )
inline

[AI] Gets the second endpoint (B) of the edge.

[AI]

Returns
Pointer to Vector3 representing endpoint B. [AI]

Definition at line 88 of file legoedge.h.

Member Data Documentation

◆ m_ccwA

LegoEdge* LegoEdge::m_ccwA

[AI] Next edge (counterclockwise) around face A.

[AI]

Definition at line 108 of file legoedge.h.

◆ m_ccwB

LegoEdge* LegoEdge::m_ccwB

[AI] Next edge (counterclockwise) around face B.

[AI]

Definition at line 118 of file legoedge.h.

◆ m_cwA

LegoEdge* LegoEdge::m_cwA

[AI] Next edge (clockwise) around face A.

[AI]

Definition at line 113 of file legoedge.h.

◆ m_cwB

LegoEdge* LegoEdge::m_cwB

[AI] Next edge (clockwise) around face B.

[AI]

Definition at line 123 of file legoedge.h.

◆ m_faceA

LegoWEEdge* LegoEdge::m_faceA

[AI] Pointer to the first face sharing this edge.

[AI]

[AI] May be null if the edge is not referenced by a face. [AI]

Definition at line 97 of file legoedge.h.

◆ m_faceB

LegoWEEdge* LegoEdge::m_faceB

[AI] Pointer to the second face sharing this edge.

[AI]

[AI] May be null if not referenced by a second face. [AI]

Definition at line 103 of file legoedge.h.

◆ m_pointA

Vector3* LegoEdge::m_pointA

[AI] The first endpoint of the edge.

[AI]

Definition at line 128 of file legoedge.h.

◆ m_pointB

Vector3* LegoEdge::m_pointB

[AI] The second endpoint of the edge.

[AI]

Definition at line 133 of file legoedge.h.


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