gwnavruntime/pathfollower/splinetrajectorydisplay.h Source File

splinetrajectorydisplay.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 DisplayList;
17 class SplineTrajectoryBlob;
18 class ChannelArrayBlob;
19 
20 class SplineTrajectoryDisplayConfig
21 {
22  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_VisualDebug)
23 
24 public:
25  SplineTrajectoryDisplayConfig() { SetDefaults(); }
26 
27  void SetDefaults();
28 
29  bool m_displaySpline;
30  bool m_displayPositionOnSpline;
31  bool m_displayTargetOnSpline;
32  bool m_displaySplineCutPosition;
33  bool m_displayRadiusProfile;
34 
35  CircleArcSplineDisplayConfig m_splineDisplayConfig;
36  PositionOnCircleArcSplineDisplayConfig m_positionOnSplineDisplayConfig;
37  PositionOnCircleArcSplineDisplayConfig m_targetOnSplineDisplayConfig;
38  PositionOnCircleArcSplineDisplayConfig m_splineCutThisFrameDisplayConfig;
39  PositionOnCircleArcSplineDisplayConfig m_splineCutWhenSplineRequestedDisplayConfig;
40 };
41 
42 class SplineTrajectoryDisplayListBuilder
43 {
44 public:
45  static void DisplayCurrentChannelSection(DisplayList* displayList, bool currentChannelIsValid, KyUInt32 currentChannelIdx,
46  KyUInt32 currentGateIdx, const ChannelArrayBlob* channelArray);
47 
48  static void DisplaySplineTrajectory(DisplayList* displayList, const SplineTrajectoryBlob* trajectory, const SplineTrajectoryDisplayConfig& displayConfig);
49 
50 private:
51  static void RenderClosedPolyline(const BlobArray<Vec2f> &poylineBlob, DisplayList* displayList, Color lineColor, KyFloat32 zOffset);
52 };
53 
54 } // namespace Kaim
55 
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32