gwnavruntime/pathfollower/splinetrajectoryconfigblob.h Source File

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