gwnavruntime/pathfollower/splineconfigblob.h Source File

splineconfigblob.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 #pragma once
8 
15 
16 
17 namespace Kaim
18 {
19 
20 class SplineComputationConfig;
21 
24 {
25  KY_ROOT_BLOB_CLASS(Runtime, SplineComputationConfigBlob, 0)
26 
27 public:
29 
30 public:
31  RadiusProfileArrayBlob m_radiusProfileArray;
32  KyFloat32 m_length;
33  KyFloat32 m_startAndEndConstraintTurnMaxAngle;
34  KyFloat32 m_arcMinLength;
35  KyFloat32 m_fullTurnTolerance;
36  BlobArray<Vec2f> m_distanceToInnerCornerFunctionPoints;
37 };
38 
39 inline void SwapEndianness(Endianness::Target e, SplineComputationConfigBlob& self)
40 {
41  SwapEndianness(e, self.m_radiusProfileArray);
42  SwapEndianness(e, self.m_length);
43  SwapEndianness(e, self.m_startAndEndConstraintTurnMaxAngle);
44  SwapEndianness(e, self.m_arcMinLength);
45  SwapEndianness(e, self.m_fullTurnTolerance);
46  SwapEndianness(e, self.m_distanceToInnerCornerFunctionPoints);
47 }
48 
49 
50 class SplineConfigBlobBuilder : public BaseBlobBuilder<SplineComputationConfigBlob>
51 {
52  KY_CLASS_WITHOUT_COPY(SplineConfigBlobBuilder)
53 
54 public:
55  SplineConfigBlobBuilder(const SplineComputationConfig* splineComputationConfig)
56  : m_splineComputationConfig(splineComputationConfig)
57  {}
58 
59  virtual void DoBuild();
60 
61 private:
62  const SplineComputationConfig* m_splineComputationConfig;
63 };
64 
65 } // namespace Kaim
66 
#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
A BlobArray an array that is compatible with the blob serialization framework.
Definition: blobarray.h:23
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Class that configures Spline geometric parameters.
Definition: splineconfigblob.h:23
float KyFloat32
float
Definition: types.h:32