gwnavruntime/pathfollower/positiononcirclearcsplineblob.h Source File

positiononcirclearcsplineblob.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 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 #pragma once
9 
11 
12 
13 namespace Kaim
14 {
15 
16 class PositionOnCircleArcSpline;
17 
18 class PositionOnCircleArcSplineBlob
19 {
20  KY_ROOT_BLOB_CLASS(Runtime, PositionOnCircleArcSplineBlob, 0)
21 
22 public:
23  PositionOnCircleArcSplineBlob() {}
24 
25 public:
26  KyUInt32 m_visualDebugId;
27  Vec3f m_position;
28  Vec2f m_tangent;
29  KyUInt32 m_splineSectionIndex;
30 };
31 
32 inline void SwapEndianness(Endianness::Target e, PositionOnCircleArcSplineBlob& self)
33 {
34  SwapEndianness(e, self.m_visualDebugId);
35  SwapEndianness(e, self.m_position);
36  SwapEndianness(e, self.m_tangent);
37  SwapEndianness(e, self.m_splineSectionIndex);
38 }
39 
40 class PositionOnCircleArcSplineBlobBuilder : public BaseBlobBuilder<PositionOnCircleArcSplineBlob>
41 {
42  KY_CLASS_WITHOUT_COPY(PositionOnCircleArcSplineBlobBuilder)
43 
44 public:
45  PositionOnCircleArcSplineBlobBuilder(const PositionOnCircleArcSpline* positionOnCircleArcSpline, KyUInt32 visualDebugId) : m_positionOnCircleArcSpline(positionOnCircleArcSpline), m_visualDebugId(visualDebugId) {}
46 
47  virtual void DoBuild();
48 
49 private:
50  const PositionOnCircleArcSpline* m_positionOnCircleArcSpline;
51  KyUInt32 m_visualDebugId;
52 };
53 
54 } // namespace Kaim
55 
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17