gwnavruntime/path/pathblob.h Source File
Go to the documentation of this file.
22 KY_ROOT_BLOB_CLASS(Runtime, PathBlob, 1)
29 BlobArray<Vec3f> m_nodePositions;
30 BlobRef<ChannelArrayBlob> m_channelArrayBlob;
34 SwapEndianness(e,
self.m_visualDebugId);
35 SwapEndianness(e,
self.m_pathDist);
36 SwapEndianness(e,
self.m_pathCost);
37 SwapEndianness(e,
self.m_nodePositions);
38 SwapEndianness(e,
self.m_channelArrayBlob);
42 class PathBlobBuilder:
public BaseBlobBuilder<PathBlob>
47 PathBlobBuilder(const Path* path): m_path(path), m_visualDebugId(0) {}
51 virtual void DoBuild()
54 if (m_path != NULL && m_path->GetNodeCount() > 0)
59 Vec3f* nodePositions =
BLOB_ARRAY(
m_blob->m_nodePositions, m_path->GetNodeCount());
63 for (
KyUInt32 i = 0; i < m_path->GetNodeCount(); ++i)
64 nodePositions[i] = m_path->GetNodePosition(i);
71 if((m_path !=
nullptr) && (m_path->m_channelArray !=
nullptr))
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:130
#define KyFloat32MAXVAL
KyFloat32 max value
Definition: types.h:71
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
PathBlob * 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
bool IsWriteMode()
Indicates whether the builder is operating in COUNT mode or in WRITE mode.
Definition: baseblobbuilder.h:43
#define BLOB_ARRAY(blobArray, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:139
#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