gwnavruntime/queries/blobs/dynamicnavmeshqueryblob.h Source File
Go to the documentation of this file.
20 class DynamicNavMeshQueryBlob
23 KY_ROOT_BLOB_CLASS(Query, DynamicNavMeshQueryBlob, 0)
25 DynamicNavMeshQueryBlob() {}
34 PixelPos m_cellOriginPixel;
38 BlobArray<BlobRef<NavFloorBlob> > m_resultNavFloors;
43 SwapEndianness(e,
self.m_queryInfoId);
44 SwapEndianness(e,
self.m_databaseIdx);
46 SwapEndianness(e,
self.m_cellOriginPixel);
47 SwapEndianness(e,
self.m_integerPrecision);
48 SwapEndianness(e,
self.m_result);
49 SwapEndianness(e,
self.m_resultNavFloors);
52 class DynamicNavMeshQueryBlobBuilder :
public BaseBlobBuilder<DynamicNavMeshQueryBlob>
55 DynamicNavMeshQueryBlobBuilder(DynamicNavMeshQuery* query) { m_query = query; }
56 virtual void DoBuild()
59 if (m_query->m_database !=
nullptr)
61 BLOB_SET(
m_blob->m_databaseIdx , m_query->m_database->GetDatabaseIndex());
62 BLOB_SET(
m_blob->m_integerPrecision , m_query->m_database->GetDatabaseGenMetrics().m_integerPrecision);
64 BLOB_SET(
m_blob->m_cellOriginPixel, m_query->GetCellOriginPixel());
69 BlobRef<NavFloorBlob>* floors =
BLOB_ARRAY(
m_blob->m_resultNavFloors, m_query->m_resultNavfloorHandlers.GetCount());
70 for(
KyUInt32 i = 0; i < m_query->m_resultNavfloorHandlers.GetCount(); ++i)
72 if (m_query->m_resultNavfloorHandlers[i] !=
nullptr)
73 COPY_REFERENCED_BLOB_FROM_HANDLER(floors[i], *m_query->m_resultNavfloorHandlers[i]);
78 DynamicNavMeshQuery* m_query;
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:130
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
DynamicNavMeshQueryBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:113
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define BLOB_ARRAY(blobArray, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:139
float KyFloat32
float
Definition: types.h:32