gwnavruntime/path/pathdisplay.h Source File

pathdisplay.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 namespace Kaim
14 {
15 
16 class DisplayListManager;
17 class DisplayList;
18 class PathBlob;
19 class Path;
20 
21 struct DoDisplayChannel { enum Enum { Yes, No }; };
22 
23 
24 class PathDisplay
25 {
26 public:
27  static void Display(DisplayList* displayList, const PathBlob* pathBlob);
28  static void Display(DisplayListManager* displayListManager, const PathBlob* pathBlob, const char* group, const char* name);
29 
30  static void Display(DisplayList* displayList, const Path* path);
31  static void Display(DisplayListManager* displayListManager, const Path* path, const char* group, const char* name);
32 };
33 
34 
35 class LivePathDisplay
36 {
37 public:
38  enum DrawingMode
39  {
40  OneColor,
41  TwoColor,
42  ThreeColors
43  };
44 
45  LivePathDisplay() { SetDefaults(); }
46 
47  void SetDefaults()
48  {
49  m_altitudeOffset = 0.0f;
50  m_drawingMode = OneColor;
51 
52  m_nodesColor = Color::Cyan;
53  m_nodesAltitudeOffset = 0.5f;
54  m_nodesHalfWidth = 0.1f;
55 
56  m_edgesColor = Color::GreenYellow;
57  m_edgesAltitudeOffset = 0.5f;
58  m_secondEdgesColor = Color::Cyan;
59  m_thirdEdgesColor = Color::Cyan;
60  m_firstPathSplit = nullptr;
61  m_secondPathSplit = nullptr;
62  }
63 
64  void Display(Kaim::DisplayList* displayList, const Kaim::PathBlob* pathBlob, DoDisplayChannel::Enum displayChannel = DoDisplayChannel::Yes);
65 
66 public:
67  KyFloat32 m_altitudeOffset;
68  DrawingMode m_drawingMode;
69  Color m_edgesColor;
70  Color m_nodesColor;
71  KyFloat32 m_nodesAltitudeOffset;
72  KyFloat32 m_nodesHalfWidth;
73  KyFloat32 m_edgesAltitudeOffset;
74  Color m_secondEdgesColor;
75  Color m_thirdEdgesColor;
76  const Kaim::Vec3f* m_firstPathSplit;
77  const Kaim::Vec3f* m_secondPathSplit;
78 };
79 
80 } // namespace Kaim
81 
DisplayList is used to push text, lines or shapes for rendering in the NavigationLab e...
Definition: displaylist.h:128
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16