gwnavruntime/visualsystem/displaylistblob.h Source File
Go to the documentation of this file.
9 #ifndef Navigation_DisplayListBlob_H
10 #define Navigation_DisplayListBlob_H
39 void Clear() { m_data.Clear(); }
40 void Reserve(
KyUInt32 numberOfFloat) { m_data.Reserve(numberOfFloat); }
42 void Push(
KyFloat32 value) { m_data.PushBack(value); }
44 void Push3(
const Vec3f& pos)
46 m_data.PushBack(pos.x);
47 m_data.PushBack(pos.y);
48 m_data.PushBack(pos.z);
51 void Push6(
const Box3f& box)
57 void Push12(
const Transform& transform)
59 Push3(transform.m_rotationMatrix.GetRow(0));
60 Push3(transform.m_rotationMatrix.GetRow(1));
61 Push3(transform.m_rotationMatrix.GetRow(2));
62 Push3(transform.m_translation);
67 KyArrayPOD<KyFloat32, MemStat_VisualSystem> m_data;
68 VisualShapeColor m_color;
71 class DisplayShapeBlob
78 VisualColor m_triangleColor;
79 VisualColor m_lineColor;
82 inline
void SwapEndianness(
Kaim::Endianness::Target e, DisplayShapeBlob& self)
84 SwapEndianness(e,
self.m_displayShapeType);
85 SwapEndianness(e,
self.m_data);
86 SwapEndianness(e,
self.m_triangleColor);
87 SwapEndianness(e,
self.m_lineColor);
97 KyArrayPOD<
char, MemStat_VisualSystem> m_text;
101 class DisplayTextBlob
107 BlobArray<
char> m_text;
111 inline
void SwapEndianness(
Kaim::Endianness::Target e, DisplayTextBlob& self)
113 SwapEndianness(e,
self.m_position);
114 SwapEndianness(e,
self.m_text);
115 SwapEndianness(e,
self.m_color);
121 DisplayListLifeSpan_SingleFrame,
125 class DisplayListBlob
128 KY_ROOT_BLOB_CLASS(VisualDebug, DisplayListBlob, 1)
134 m_displayListId == GetDisplayListIdForLifeSpanUserControlledWithoutDisplayListId())
140 return DisplayListLifeSpan_SingleFrame;
144 static KyUInt32 GetDisplayListIdForLifeSpanUserControlledWithoutDisplayListId() {
return KyUInt32MAXVAL - 1; }
147 BlobArray<char> m_listName;
148 BlobArray<char> m_groupName;
149 BlobArray<DisplayTextBlob> m_textBlobs;
150 BlobArray<DisplayShapeBlob> m_shapeBlobs;
151 KyUInt32 m_showInLabWhenNotSelected;
159 SwapEndianness(e,
self.m_displayListId);
160 SwapEndianness(e,
self.m_worldElementId);
161 SwapEndianness(e,
self.m_listName);
162 SwapEndianness(e,
self.m_groupName);
163 SwapEndianness(e,
self.m_textBlobs);
164 SwapEndianness(e,
self.m_shapeBlobs);
165 SwapEndianness(e,
self.m_showInLabWhenNotSelected);
166 SwapEndianness(e,
self.m_showInLabWhenSelected);
171 #endif // Navigation_DisplayListBlob_H
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
displayList available in the NavigationLab only at the frame when it was sent
Definition: displaylistblob.h:129
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
#define KyUInt32MAXVAL
The maximum value that can be stored in the KyUInt32 variable type.
Definition: types.h:226
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43
DisplayListLifeSpan
Indicates if the displayList will be only visible when received, or will be remanent until replaced o...
Definition: displaylistblob.h:126