gwnavruntime/pathfollower/trajectoryblob.h Source File

trajectoryblob.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: NOBODY
9 #ifndef Navigation_TrajectoryBlob_H
10 #define Navigation_TrajectoryBlob_H
11 
15 
16 
17 namespace Kaim
18 {
19 
20 class Trajectory;
21 class Bot;
22 
23 
25 // Trajectory blob
27 class TrajectoryBlob
28 {
29  KY_ROOT_BLOB_CLASS(Runtime, TrajectoryBlob, 0)
30 
31 public:
32  Vec2f m_idealVelocity;
33  KyFloat32 m_turningRadius;
34  KyUInt32 m_visualDebugId;
35 };
36 
37 inline void SwapEndianness(Endianness::Target e, TrajectoryBlob& self)
38 {
39  SwapEndianness(e, self.m_idealVelocity);
40  SwapEndianness(e, self.m_turningRadius);
41  SwapEndianness(e, self.m_visualDebugId);
42 }
43 
44 
45 class TrajectoryBlobBuilder: public BaseBlobBuilder<TrajectoryBlob>
46 {
47  KY_CLASS_WITHOUT_COPY(TrajectoryBlobBuilder)
48 
49 public:
50  TrajectoryBlobBuilder(const Trajectory* trajectory, const Bot* bot): m_trajectory(trajectory), m_bot(bot) {}
51  ~TrajectoryBlobBuilder() {}
52 
53 private:
54  virtual void DoBuild();
55 
56  const Trajectory* m_trajectory;
57  const Bot* m_bot;
58 };
59 
60 } // namespace Kaim
61 
62 #endif // Navigation_TrajectoryBlob_H
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Definition: gamekitcrowddispersion.h:20
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