gwnavruntime/visualdebug/messages/visualdebugidremovalblob.h Source File

visualdebugidremovalblob.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 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 #ifndef Navigation_VisualDebugIdRemovalBlob_H
9 #define Navigation_VisualDebugIdRemovalBlob_H
10 
14 
15 
16 namespace Kaim
17 {
18 
19 
23 class VisualDebugDataRemovalBlob
24 {
25  KY_ROOT_BLOB_CLASS(VisualDebugMessage, VisualDebugDataRemovalBlob, 0)
26 
27 public:
29  : m_visualDebugId(visualDebugId), m_blobTypeId(blobTypeId) {}
30 
31  KyUInt32 m_visualDebugId;
32  KyUInt32 m_blobTypeId;
33 };
34 
35 inline void SwapEndianness(Kaim::Endianness::Target e, VisualDebugDataRemovalBlob& self)
36 {
37  SwapEndianness(e, self.m_visualDebugId);
38  SwapEndianness(e, self.m_blobTypeId);
39 }
40 
41 
42 
43 class VisualDebugDataRemovalBlobBuilder : public BaseBlobBuilder<VisualDebugDataRemovalBlob>
44 {
45 public:
46  VisualDebugDataRemovalBlobBuilder(KyUInt32 visualDebugId, KyUInt32 blobTypeId = KyUInt32MAXVAL)
47  : m_visualDebugId(visualDebugId), m_blobTypeId(blobTypeId) {}
48 
49  virtual void DoBuild()
50  {
51  BLOB_SET(m_blob->m_visualDebugId, m_visualDebugId);
52  BLOB_SET(m_blob->m_blobTypeId, m_blobTypeId);
53  }
54 private:
55  KyUInt32 m_visualDebugId;
56  KyUInt32 m_blobTypeId;
57 };
58 
59 }
60 
61 #endif // Navigation_VisualDebugIdRemovalBlob_H
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:136
Send this blob to destroy the current visual debug data of type "blobType" in the visual debug elemen...
Definition: visualdebugidremovalblob.h:24
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
VisualDebugDataRemovalBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:117
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
#define KyUInt32MAXVAL
The maximum value that can be stored in the KyUInt32 variable type.
Definition: types.h:226