gwnavruntime/pathfollower/splinetrajectorydisplay.h Source File

splinetrajectorydisplay.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: MAMU - secondary contact: NOBODY
9 
10 #ifndef Navigation_SplineTrajectory_Display_H
11 #define Navigation_SplineTrajectory_Display_H
12 
14 
15 
16 namespace Kaim
17 {
18 
19 class ScopedDisplayList;
20 class SplineTrajectoryBlob;
21 class ChannelArrayBlob;
22 
23 class SplineTrajectoryDisplayConfig
24 {
25  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_VisualDebug)
26 
27 public:
28  SplineTrajectoryDisplayConfig() { SetDefaults(); }
29 
30  void SetDefaults();
31 
32  bool m_displaySpline;
33  bool m_displayPositionOnSpline;
34  bool m_displayTargetOnSpline;
35  bool m_displaySplineCutPosition;
36  bool m_displayRadiusProfile;
37 
38  CircleArcSplineDisplayConfig m_splineDisplayConfig;
39  PositionOnCircleArcSplineDisplayConfig m_positionOnSplineDisplayConfig;
40  PositionOnCircleArcSplineDisplayConfig m_targetOnSplineDisplayConfig;
41  PositionOnCircleArcSplineDisplayConfig m_splineCutThisFrameDisplayConfig;
42  PositionOnCircleArcSplineDisplayConfig m_splineCutWhenSplineRequestedDisplayConfig;
43 };
44 
45 class SplineTrajectoryDisplayListBuilder
46 {
47 public:
48  static void DisplayCurrentChannelSection(ScopedDisplayList* displayList, bool currentChannelIsValid, KyUInt32 currentChannelIdx,
49  KyUInt32 currentGateIdx, const ChannelArrayBlob* channelArray);
50 
51  static void DisplaySplineTrajectory(ScopedDisplayList* displayList, const SplineTrajectoryBlob* trajectory, const SplineTrajectoryDisplayConfig& displayConfig);
52 
53 private:
54  static void RenderClosedPolyline(const BlobArray<Vec2f> &poylineBlob, ScopedDisplayList* displayList, VisualColor lineColor, KyFloat32 zOffset);
55 };
56 
57 } // namespace Kaim
58 
59 #endif
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
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