gwnavruntime/world/pointofinterestblob.h Source File

pointofinterestblob.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 
14 
15 
16 namespace Kaim
17 {
18 
19 class PointOfInterest;
20 
21 
23 // PointOfInterestBlob
24 class PointOfInterestBlob
25 {
26  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_Blob)
27  KY_ROOT_BLOB_CLASS(Runtime, PointOfInterestBlob, 0)
28 
29 public:
30  Vec3f m_position;
31  KyUInt32 m_poiType;
32  KyUInt32 m_visualDebugId;
33  DatabaseBindingBlob m_databaseBinding;
34 };
35 
36 inline void SwapEndianness(Endianness::Target e, PointOfInterestBlob& self)
37 {
38  SwapEndianness(e, self.m_position);
39  SwapEndianness(e, self.m_poiType);
40  SwapEndianness(e, self.m_visualDebugId);
41  SwapEndianness(e, self.m_databaseBinding);
42 }
43 
44 
46 // PointOfInterestBlobBuilder
47 class PointOfInterestBlobBuilder : public BaseBlobBuilder<PointOfInterestBlob>
48 {
49  KY_CLASS_WITHOUT_COPY(PointOfInterestBlobBuilder)
50 
51 public:
52  PointOfInterestBlobBuilder(const PointOfInterest* pointOfInterest, VisualDebugLOD visualDebugLOD)
53  : m_pointOfInterest(pointOfInterest)
54  , m_visualDebugLOD(visualDebugLOD)
55  {}
56 
57  virtual void DoBuild();
58 
59 private:
60  const PointOfInterest* m_pointOfInterest;
61  VisualDebugLOD m_visualDebugLOD;
62 };
63 
64 } // namespace Kaim
65 
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
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
VisualDebugLOD
Enumerates the visual debug levels of details.
Definition: worldelement.h:22