20 class AStarQueryOutputBlob
25 AStarQueryOutputBlob() : m_result(0) {}
30 TimeSlicedQueryInfoBlob m_timeSlicedQueryInfo;
31 NavTriangleBlob m_startTriangle;
32 NavTriangleBlob m_destTriangle;
34 PathBlob m_abstractPathBlob;
38 SwapEndianness(e,
self.m_result);
39 SwapEndianness(e,
self.m_timeSlicedQueryInfo);
40 SwapEndianness(e,
self.m_startTriangle);
41 SwapEndianness(e,
self.m_destTriangle);
42 SwapEndianness(e,
self.m_pathBlob);
43 SwapEndianness(e,
self.m_abstractPathBlob);
47 class AStarQueryOutputBlobBuilder :
public BaseBlobBuilder<AStarQueryOutputBlob>
50 AStarQueryOutputBlobBuilder(BaseAStarQuery* query) { m_query = query; }
51 virtual void DoBuild()
54 BLOB_BUILD(
m_blob->m_timeSlicedQueryInfo, TimeSlicedQueryBlobBuilder(m_query));
55 BLOB_BUILD(
m_blob->m_startTriangle, NavTriangleBlobBuilder(m_query->GetStartTrianglePtr()));
56 BLOB_BUILD(
m_blob->m_destTriangle, NavTriangleBlobBuilder(m_query->GetDestTrianglePtr()));
61 BLOB_BUILD(
m_blob->m_abstractPathBlob, PathBlobBuilder(m_query->GetAbstractPath()));
66 BaseAStarQuery* m_query;
72 KY_ROOT_BLOB_CLASS(Query, AStarQueryBlob, 3)
74 AStarQueryBlob() : m_queryInfoId(
KyUInt32MAXVAL), m_databaseIdx(KyUInt32MAXVAL) {}
85 KyUInt8 m_abstractGraphTraversalMode;
87 FullDebug m_fullDebug;
91 PositionSpatializationRange m_positionSpatializationRange;
92 BlobRef<AStarQueryOutputBlob> m_queryOutput;
97 SwapEndianness(e,
self.m_queryInfoId);
99 SwapEndianness(e,
self.m_databaseIdx);
100 SwapEndianness(e,
self.m_fromOutsideNavMeshDistance);
101 SwapEndianness(e,
self.m_toOutsideNavMeshDistance);
102 SwapEndianness(e,
self.m_propagationBoxExtent);
103 SwapEndianness(e,
self.m_tryCanGoMode);
104 SwapEndianness(e,
self.m_channelMode);
105 SwapEndianness(e,
self.m_abstractGraphTraversalMode);
106 SwapEndianness(e,
self.m_fullDebug);
108 SwapEndianness(e,
self.m_startPos3f);
109 SwapEndianness(e,
self.m_destPos3f);
110 SwapEndianness(e,
self.m_positionSpatializationRange);
111 SwapEndianness(e,
self.m_queryOutput);
116 class AStarQueryBlobBuilder :
public BaseBlobBuilder<AStarQueryBlob>
119 AStarQueryBlobBuilder(BaseAStarQuery* query) { m_query = query; }
120 virtual void DoBuild()
124 if (m_query->m_database !=
nullptr)
126 BLOB_SET(
m_blob->m_databaseIdx , m_query->m_database->GetDatabaseIndex());
129 BLOB_SET(
m_blob->m_positionSpatializationRange , m_query->GetPositionSpatializationRange());
130 BLOB_SET(
m_blob->m_fromOutsideNavMeshDistance , m_query->GetFromOutsideNavMeshDistance());
131 BLOB_SET(
m_blob->m_toOutsideNavMeshDistance , m_query->GetToOutsideNavMeshDistance());
132 BLOB_SET(
m_blob->m_propagationBoxExtent , m_query->GetPropagationBoxExtent());
138 switch (m_query->GetResult())
151 BaseAStarQuery* 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 BLOB_BUILD(blob, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:175
Indicates the query has not yet been launched.
Definition: baseastarquery.h:30
#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
Indicates the query has not yet been initialized.
Definition: baseastarquery.h:29
AStarQueryOutputBlob * 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
Indicates that a path has been found between the start and destination.
Definition: baseastarquery.h:57
std::uint8_t KyUInt8
uint8_t
Definition: types.h:27
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32
#define BUILD_REFERENCED_BLOB(blobRef, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:182
AStarQueryResult
Enumerates the possible results of an AStarQuery.
Definition: baseastarquery.h:27