gwnavruntime/world/pointofinterestblob.h Source File

pointofinterestblob.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 // primary contact: LAPA - secondary contact: MAMU
9 #ifndef Navigation_PointOfInterestBlob_H
10 #define Navigation_PointOfInterestBlob_H
11 
16 
17 
18 namespace Kaim
19 {
20 
21 class PointOfInterest;
22 
23 
25 // PointOfInterestBlob
26 class PointOfInterestBlob
27 {
28  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_Blob)
29  KY_ROOT_BLOB_CLASS(Runtime, PointOfInterestBlob, 0)
30 
31 public:
32  Vec3f m_position;
33  KyUInt32 m_poiType;
34  KyUInt32 m_visualDebugId;
35  DatabaseBindingBlob m_databaseBinding;
36 };
37 
38 inline void SwapEndianness(Endianness::Target e, PointOfInterestBlob& self)
39 {
40  SwapEndianness(e, self.m_position);
41  SwapEndianness(e, self.m_poiType);
42  SwapEndianness(e, self.m_visualDebugId);
43  SwapEndianness(e, self.m_databaseBinding);
44 }
45 
46 
48 // PointOfInterestBlobBuilder
49 class PointOfInterestBlobBuilder : public BaseBlobBuilder<PointOfInterestBlob>
50 {
51  KY_CLASS_WITHOUT_COPY(PointOfInterestBlobBuilder)
52 
53 public:
54  PointOfInterestBlobBuilder(const PointOfInterest* pointOfInterest, VisualDebugLOD visualDebugLOD)
55  : m_pointOfInterest(pointOfInterest)
56  , m_visualDebugLOD(visualDebugLOD)
57  {}
58 
59  virtual void DoBuild();
60 
61 private:
62  const PointOfInterest* m_pointOfInterest;
63  VisualDebugLOD m_visualDebugLOD;
64 };
65 
66 } // namespace Kaim
67 
68 #endif // Navigation_PointOfInterestBlob_H
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
VisualDebugLOD
Enumerates the visual debug levels of details.
Definition: worldelement.h:26
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36