gwnavruntime/pathfollower/splinetrajectoryconfigblob.h Source File

splinetrajectoryconfigblob.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 // primary contact: MUBI - secondary contact: GUAL
8 #ifndef Navigation_SplineTrajectoryConfigBlob_H
9 #define Navigation_SplineTrajectoryConfigBlob_H
10 
14 
15 
16 namespace Kaim
17 {
18 
19 class SplineTrajectoryConfig;
20 
21 
24 {
25 public:
27 
28 public:
29  SplineComputationConfigBlob m_splineConfig;
30 
31  KyUInt32 m_startConstraintDirectionMode;
32  KyFloat32 m_startConstraintDirectionVelocityThreshold;
33  KyFloat32 m_recomputationDistanceRatio;
34  KyFloat32 m_stabilityDistance;
35  KyFloat32 m_targetOnSplineDistance;
36  KyFloat32 m_maxDistanceToSplinePosition;
37  KyUInt32 m_velocityComputationMode;
38 };
39 
40 inline void SwapEndianness(Endianness::Target e, SplineTrajectoryConfigBlob& self)
41 {
42  SwapEndianness(e, self.m_splineConfig);
43  SwapEndianness(e, self.m_startConstraintDirectionMode);
44  SwapEndianness(e, self.m_startConstraintDirectionVelocityThreshold);
45  SwapEndianness(e, self.m_recomputationDistanceRatio);
46  SwapEndianness(e, self.m_stabilityDistance);
47  SwapEndianness(e, self.m_targetOnSplineDistance);
48  SwapEndianness(e, self.m_maxDistanceToSplinePosition);
49  SwapEndianness(e, self.m_velocityComputationMode);
50 }
51 
52 class SplineTrajectoryConfigBlobBuilder : public BaseBlobBuilder<SplineTrajectoryConfigBlob>
53 {
54  KY_CLASS_WITHOUT_COPY(SplineTrajectoryConfigBlobBuilder)
55 
56 public:
57  SplineTrajectoryConfigBlobBuilder(const SplineTrajectoryConfig* splineTrajectoryConfig)
58  : m_splineTrajectoryConfig(splineTrajectoryConfig)
59  {}
60 
61  virtual void DoBuild();
62 
63 private:
64  const SplineTrajectoryConfig* m_splineTrajectoryConfig;
65 };
66 
67 } // namespace Kaim
68 
69 #endif // Navigation_SplineTrajectoryConfigBlob_H
Class that configures how the trajectory is computed from the Channel.
Definition: splinetrajectoryconfigblob.h:23
#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
Class that configures Spline geometric parameters.
Definition: splineconfigblob.h:25
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