gwnavruntime/queries/blobs/dynamicnavmeshqueryblob.h Source File
Go to the documentation of this file.
8 #ifndef Navigation_DynamicNavMeshQueryBlob_H
9 #define Navigation_DynamicNavMeshQueryBlob_H
21 class DynamicNavMeshQueryBlob
24 KY_ROOT_BLOB_CLASS(Query, DynamicNavMeshQueryBlob, 0)
26 DynamicNavMeshQueryBlob() {}
35 PixelPos m_cellOriginPixel;
39 BlobArray<BlobRef<NavFloorBlob> > m_resultNavFloors;
44 SwapEndianness(e,
self.m_queryInfoId);
45 SwapEndianness(e,
self.m_databaseIdx);
47 SwapEndianness(e,
self.m_cellOriginPixel);
48 SwapEndianness(e,
self.m_integerPrecision);
49 SwapEndianness(e,
self.m_result);
50 SwapEndianness(e,
self.m_resultNavFloors);
53 class DynamicNavMeshQueryBlobBuilder :
public BaseBlobBuilder<DynamicNavMeshQueryBlob>
56 DynamicNavMeshQueryBlobBuilder(DynamicNavMeshQuery* query) { m_query = query; }
57 virtual void DoBuild()
60 if (m_query->m_database !=
KY_NULL)
62 BLOB_SET(
m_blob->m_databaseIdx , m_query->m_database->GetDatabaseIndex());
63 BLOB_SET(
m_blob->m_integerPrecision , m_query->m_database->GetDatabaseGenMetrics().m_integerPrecision);
65 BLOB_SET(
m_blob->m_cellOriginPixel, m_query->GetCellOriginPixel());
70 BlobRef<NavFloorBlob>* floors =
BLOB_ARRAY(
m_blob->m_resultNavFloors, m_query->m_resultNavfloorHandlers.GetCount());
71 for(
KyUInt32 i = 0; i < m_query->m_resultNavfloorHandlers.GetCount(); ++i)
73 if (m_query->m_resultNavfloorHandlers[i] !=
KY_NULL)
74 COPY_REFERENCED_BLOB_FROM_HANDLER(floors[i], *m_query->m_resultNavfloorHandlers[i]);
79 DynamicNavMeshQuery* m_query;
83 #endif // Navigation_DynamicNavMeshQueryBlob_H
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:136
#define KY_NULL
Null value.
Definition: types.h:247
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
DynamicNavMeshQueryBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:117
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
#define BLOB_ARRAY(blobArray, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:147
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43