16 class CollisionRayCastQueryOutputBlob
20 CollisionRayCastQueryOutputBlob() : m_result(0) {}
25 inline void SwapEndianness(
Endianness::Target e, CollisionRayCastQueryOutputBlob&
self)
27 SwapEndianness(e,
self.m_result);
31 class CollisionRayCastQueryOutputBlobBuilder :
public BaseBlobBuilder<CollisionRayCastQueryOutputBlob>
34 CollisionRayCastQueryOutputBlobBuilder(CollisionRayCastQuery* query) : m_query(query) {}
35 virtual void DoBuild()
40 CollisionRayCastQuery* m_query;
43 class CollisionRayCastQueryBlob
46 KY_ROOT_BLOB_CLASS(Query, CollisionRayCastQueryBlob, 0)
49 CollisionRayCastQueryBlob() : m_queryInfoId(
KyUInt32MAXVAL), m_databaseIdx(KyUInt32MAXVAL) {}
58 BlobRef<CollisionRayCastQueryOutputBlob> m_queryOutput;
62 SwapEndianness(e,
self.m_queryInfoId);
63 SwapEndianness(e,
self.m_databaseIdx);
64 SwapEndianness(e,
self.m_startPos3f);
65 SwapEndianness(e,
self.m_endPos3f);
67 SwapEndianness(e,
self.m_queryOutput);
71 class CollisionRayCastQueryBlobBuilder :
public BaseBlobBuilder<CollisionRayCastQueryBlob>
74 CollisionRayCastQueryBlobBuilder(CollisionRayCastQuery* query) : m_query(query) {}
75 virtual void DoBuild()
79 if (m_query->m_database !=
nullptr)
81 BLOB_SET(
m_blob->m_databaseIdx, m_query->m_database->GetDatabaseIndex());
89 CollisionRayCastQuery* 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
CollisionRayCastQueryOutputBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:113
CollisionRayCastResult
CollisionRayCastResult.
Definition: collisiontypes.h:15
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
#define BUILD_REFERENCED_BLOB(blobRef, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:182