gwnavruntime/spatialization/spatializedcylinderblob.h Source File

spatializedcylinderblob.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: none
9 #ifndef Navigation_SpatializedCylinderBlob_H
10 #define Navigation_SpatializedCylinderBlob_H
11 
16 
17 
18 namespace Kaim
19 {
20 
22 // SpatializedCylinderBlob
23 class SpatializedCylinderBlob
24 {
25  KY_DEFINE_NEW_DELETE_OPERATORS(Stat_Default_Mem)
26  KY_ROOT_BLOB_CLASS(Runtime, SpatializedCylinderBlob, 0)
27 
28 public:
29  KyUInt32 m_visualDebugId;
30  Vec3f m_position;
31  Vec3f m_velocity;
32 };
33 
34 inline void SwapEndianness(Endianness::Target e, SpatializedCylinderBlob& self)
35 {
36  SwapEndianness(e, self.m_visualDebugId);
37  SwapEndianness(e, self.m_position);
38  SwapEndianness(e, self.m_velocity);
39 }
40 
41 // SpatializedCylinderBlobBuilder
42 class SpatializedCylinderBlobBuilder : public BaseBlobBuilder<SpatializedCylinderBlob>
43 {
44 public:
45  SpatializedCylinderBlobBuilder(KyUInt32 visualDebugId, const SpatializedCylinder* spatializedCylinder)
46  : m_visualDebugId(visualDebugId), m_spatializedCylinder(spatializedCylinder)
47  {}
48 
49 private:
50  virtual void DoBuild();
51 
52  KyUInt32 m_visualDebugId;
53  const SpatializedCylinder* m_spatializedCylinder;
54 };
55 
56 
57 
59 // SpatializedCylinderConfigBlob
60 class SpatializedCylinderConfigBlob
61 {
62  KY_DEFINE_NEW_DELETE_OPERATORS(Stat_Default_Mem)
63  KY_ROOT_BLOB_CLASS(Runtime, SpatializedCylinderConfigBlob, 0)
64 
65 public:
66  KyUInt32 m_visualDebugId;
67  KyFloat32 m_height;
68  KyFloat32 m_radius;
69 };
70 
71 inline void SwapEndianness(Endianness::Target e, SpatializedCylinderConfigBlob& self)
72 {
73  SwapEndianness(e, self.m_visualDebugId);
74  SwapEndianness(e, self.m_radius);
75  SwapEndianness(e, self.m_height);
76 }
77 
78 // SpatializedCylinderConfigBlobBuilder
79 class SpatializedCylinderConfigBlobBuilder : public BaseBlobBuilder<SpatializedCylinderConfigBlob>
80 {
81 public:
82  SpatializedCylinderConfigBlobBuilder(KyUInt32 visualDebugId, const SpatializedCylinder* spatializedCylinder)
83  : m_visualDebugId(visualDebugId), m_spatializedCylinder(spatializedCylinder)
84  {}
85 
86 private:
87  virtual void DoBuild();
88 
89  KyUInt32 m_visualDebugId;
90  const SpatializedCylinder* m_spatializedCylinder;
91 };
92 
93 } // namespace Kaim
94 
95 #endif // Navigation_SpatializedCylinderBlob_H
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43