Isle
Loading...
Searching...
No Matches
legopathedgecontainer.h
Go to the documentation of this file.
1#ifndef LEGOPATHEDGECONTAINER_H
2#define LEGOPATHEDGECONTAINER_H
3
5#include "mxstl/stlcompat.h"
6#include "mxtypes.h"
7
10
18
23 {
24 m_edge = p_edge;
25 m_boundary = p_boundary;
26 }
27
30
32 int operator==(LegoBoundaryEdge) const { return 0; }
33
35 int operator<(LegoBoundaryEdge) const { return 0; }
36};
37
44 {
45 m_edge = NULL;
47 m_next = NULL;
48 m_unk0x0c = 0.0f;
49 }
50
56 {
57 m_edge = p_edge;
58 m_boundary = p_boundary;
59 m_next = NULL;
60 m_unk0x0c = p_unk0x0c;
61 }
62
69 {
70 m_edge = p_edge;
71 m_boundary = p_boundary;
72 m_next = p_next;
73 m_unk0x0c = p_unk0x0c;
74 }
75
80
82 int operator==(LegoBEWithFloat) const { return 0; }
83
85 int operator<(LegoBEWithFloat) const { return 0; }
86};
87
95 bool operator()(LegoBEWithFloat* const& p_a, LegoBEWithFloat* const& p_b) const
96 {
97 return p_a->m_unk0x0c < p_b->m_unk0x0c;
98 }
99};
100
102typedef multiset<LegoBEWithFloat*, LegoBEWithFloatComparator> LegoBEWithFloatSet;
103
109struct LegoPathEdgeContainer : public list<LegoBoundaryEdge> {
110 enum {
111 c_bit1 = 0x01
112 };
113
116 {
118 m_flags = 0;
119 }
120
123 void SetBit1(MxU32 p_set)
124 {
125 if (p_set) {
126 m_flags |= c_bit1;
127 }
128 else {
129 m_flags &= ~c_bit1;
130 }
131 }
132
135 MxU32 GetBit1() { return m_flags & c_bit1; }
136
141};
142
143#endif // LEGOPATHEDGECONTAINER_H
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
Definition: mxgeometry3d.h:14
multiset< LegoBEWithFloat *, LegoBEWithFloatComparator > LegoBEWithFloatSet
[AI] Multiset of LegoBEWithFloat pointers, ordered by their annotation float value....
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
#define list
[AI] Macro alias for List<T>, replacing std::list<T>.
Definition: mxstl.h:410
float MxFloat
[AI]
Definition: mxtypes.h:68
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
[AI] STL compatibility layer header to provide consistent STL (Standard Template Library) types and a...
[AI] Function object for comparing LegoBEWithFloat pointers by their floating-point annotation.
bool operator()(LegoBEWithFloat *const &p_a, LegoBEWithFloat *const &p_b) const
[AI] Return true if a's annotation is strictly less than b's.
[AI] Represents a path edge with extra float data and potential linkage (single-linked).
LegoBEWithFloat(LegoPathCtrlEdge *p_edge, LegoPathBoundary *p_boundary, MxFloat p_unk0x0c)
[AI] Construct with edge, boundary, and a float value.
int operator<(LegoBEWithFloat) const
[AI] Less-than operator, stub (always returns false). [AI]
LegoPathBoundary * m_boundary
[AI] Path boundary this edge belongs to. [AI]
int operator==(LegoBEWithFloat) const
[AI] Comparison operator, stub (always returns false). [AI]
LegoBEWithFloat(LegoPathCtrlEdge *p_edge, LegoPathBoundary *p_boundary, LegoBEWithFloat *p_next, MxFloat p_unk0x0c)
[AI] Construct with edge, boundary, pointer to next, and float value.
MxFloat m_unk0x0c
[AI] Annotation float; likely an edge priority, weight, parametric value, etc. [AI]
LegoPathCtrlEdge * m_edge
[AI] Pointer to the relevant path control edge. [AI]
LegoBEWithFloat * m_next
[AI] Next node in the edge chain, for linked structures (may be null). [AI]
[AI] Represents an edge within a path boundary, used for path following and geometric computations.
LegoBoundaryEdge(LegoPathCtrlEdge *p_edge, LegoPathBoundary *p_boundary)
[AI] Construct a LegoBoundaryEdge with given edge and boundary.
LegoPathBoundary * m_boundary
[AI] Pointer to the owning or containing path boundary. [AI]
LegoPathCtrlEdge * m_edge
[AI] Pointer to the path control edge. [AI]
int operator<(LegoBoundaryEdge) const
[AI] Less-than operator, currently a stub (always returns false). [AI]
int operator==(LegoBoundaryEdge) const
[AI] Comparison operator, currently a stub (always returns false). [AI]
[AI] Controller-specific edge used in path navigation.
[AI] Container for path boundary edges, also stores position, direction, and flags.
Mx3DPointFloat m_direction
[AI] 3D direction vector reference, e.g., average or intended facing. [AI]
LegoPathBoundary * m_boundary
[AI] Associated boundary for all contained edges; may be null if container is generic....
LegoPathEdgeContainer()
[AI] Default constructor. Initializes position and direction to default, clears boundary and flags....
Mx3DPointFloat m_position
[AI] 3D position reference for the edge group, e.g., start or mean location. [AI]
void SetBit1(MxU32 p_set)
[AI] Set or clear the c_bit1 flag in m_flags.
@ c_bit1
[AI] Flag value for the container; purpose depends on subsystems using this structure....
MxU8 m_flags
[AI] Flag bits for special edge container properties (e.g. active, reachable, etc....
MxU32 GetBit1()
[AI] Query if the c_bit1 flag is set.