gwnavruntime/pathfollower/pathfollowerblob.h Source File

pathfollowerblob.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: MAMU - secondary contact: LAPA
9 #ifndef Navigation_PathFollowerBlob_H
10 #define Navigation_PathFollowerBlob_H
11 
17 
18 
19 namespace Kaim
20 {
21 
22 class Bot;
23 
24 class PathFollowerBlob
25 {
26  KY_ROOT_BLOB_CLASS(Runtime, PathFollowerBlob, 1)
27 
28 public:
29  KyUInt32 m_visualDebugId;
30  PositionOnLivePathBlob m_progressOnPath;
31  KyUInt8 m_progressOnPathStatus;
32  KyUInt8 m_doValidateCheckPoint;
33  KyUInt8 m_doComputeTrajectory;
34  KyUInt8 m_avoidanceResult;
35  KyUInt8 m_pathValidityStatus;
36  KyUInt8 m_trajectoryFailedToFollow;
37 
38  Vec3f m_outputVelocity;
39  Vec2f m_outputFrontDirection;
40 };
41 
42 inline void SwapEndianness(Endianness::Target e, PathFollowerBlob& self)
43 {
44  SwapEndianness(e, self.m_visualDebugId);
45  SwapEndianness(e, self.m_progressOnPath);
46  SwapEndianness(e, self.m_progressOnPathStatus);
47  SwapEndianness(e, self.m_doValidateCheckPoint);
48  SwapEndianness(e, self.m_doComputeTrajectory);
49  SwapEndianness(e, self.m_avoidanceResult);
50  SwapEndianness(e, self.m_pathValidityStatus);
51  SwapEndianness(e, self.m_trajectoryFailedToFollow);
52  SwapEndianness(e, self.m_outputVelocity);
53  SwapEndianness(e, self.m_outputFrontDirection);
54 }
55 
56 class PathFollowerBlobBuilder: public BaseBlobBuilder<PathFollowerBlob>
57 {
58  KY_CLASS_WITHOUT_COPY(PathFollowerBlobBuilder)
59 
60 public:
61  PathFollowerBlobBuilder(const Bot* bot): m_bot(bot) {}
62  ~PathFollowerBlobBuilder() {}
63 
64 private:
65  virtual void DoBuild();
66 
67  const Bot* m_bot;
68 };
69 
70 } // namespace Kaim
71 
72 #endif // Navigation_PathFollowerBlob_H
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
unsigned char KyUInt8
Type used internally to represent an unsigned 8-bit integer.
Definition: types.h:41
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36