gwnavruntime/visualdebug/messages/visualdebugidremovalblob.h Source File

visualdebugidremovalblob.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 #pragma once
9 
13 
14 
15 namespace Kaim
16 {
17 
18 
23 {
24  KY_ROOT_BLOB_CLASS(VisualDebugMessage, VisualDebugDataRemovalBlob, 0)
25 
26 public:
28  : m_visualDebugId(visualDebugId), m_blobTypeId(blobTypeId) {}
29 
30  KyUInt32 m_visualDebugId;
31  KyUInt32 m_blobTypeId;
32 };
33 
34 inline void SwapEndianness(Kaim::Endianness::Target e, VisualDebugDataRemovalBlob& self)
35 {
36  SwapEndianness(e, self.m_visualDebugId);
37  SwapEndianness(e, self.m_blobTypeId);
38 }
39 
40 
41 
42 class VisualDebugDataRemovalBlobBuilder : public BaseBlobBuilder<VisualDebugDataRemovalBlob>
43 {
44 public:
45  VisualDebugDataRemovalBlobBuilder(KyUInt32 visualDebugId, KyUInt32 blobTypeId = KyUInt32MAXVAL)
46  : m_visualDebugId(visualDebugId), m_blobTypeId(blobTypeId) {}
47 
48  virtual void DoBuild()
49  {
50  BLOB_SET(m_blob->m_visualDebugId, m_visualDebugId);
51  BLOB_SET(m_blob->m_blobTypeId, m_blobTypeId);
52  }
53 private:
54  KyUInt32 m_visualDebugId;
55  KyUInt32 m_blobTypeId;
56 };
57 
58 }
59 
#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
Send this blob to destroy the current visual debug data of type "blobType" in the visual debug elemen...
Definition: visualdebugidremovalblob.h:22
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
VisualDebugDataRemovalBlob * 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 KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68