gwnavruntime/pathfollower/positiononcirclearcsplineblob.h Source File

positiononcirclearcsplineblob.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 
10 #ifndef Navigation_PositionOnCircleArcSplineBlob_H
11 #define Navigation_PositionOnCircleArcSplineBlob_H
12 
14 
15 
16 namespace Kaim
17 {
18 
19 class PositionOnCircleArcSpline;
20 
21 class PositionOnCircleArcSplineBlob
22 {
23  KY_ROOT_BLOB_CLASS(Runtime, PositionOnCircleArcSplineBlob, 0)
24 
25 public:
26  PositionOnCircleArcSplineBlob() {}
27 
28 public:
29  KyUInt32 m_visualDebugId;
30  Vec3f m_position;
31  Vec2f m_tangent;
32  KyUInt32 m_splineSectionIndex;
33 };
34 
35 inline void SwapEndianness(Endianness::Target e, PositionOnCircleArcSplineBlob& self)
36 {
37  SwapEndianness(e, self.m_visualDebugId);
38  SwapEndianness(e, self.m_position);
39  SwapEndianness(e, self.m_tangent);
40  SwapEndianness(e, self.m_splineSectionIndex);
41 }
42 
43 class PositionOnCircleArcSplineBlobBuilder : public BaseBlobBuilder<PositionOnCircleArcSplineBlob>
44 {
45  KY_CLASS_WITHOUT_COPY(PositionOnCircleArcSplineBlobBuilder)
46 
47 public:
48  PositionOnCircleArcSplineBlobBuilder(const PositionOnCircleArcSpline* positionOnCircleArcSpline, KyUInt32 visualDebugId) : m_positionOnCircleArcSpline(positionOnCircleArcSpline), m_visualDebugId(visualDebugId) {}
49 
50  virtual void DoBuild();
51 
52 private:
53  const PositionOnCircleArcSpline* m_positionOnCircleArcSpline;
54  KyUInt32 m_visualDebugId;
55 };
56 
57 } // namespace Kaim
58 
59 #endif // Navigation_PositionOnCircleArcSplineBlob_H
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36