gwnavruntime/path/livepathdisplay.h Source File

livepathdisplay.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: MAMU - secondary contact: LAPA
8 #ifndef Navigation_LivePathDisplayListBuilder_H
9 #define Navigation_LivePathDisplayListBuilder_H
10 
14 
15 namespace Kaim
16 {
17 
18 class ScopedDisplayList;
19 class LivePathBlob;
20 class LivePathDetailsBlob;
21 class PositionOnPathBlob;
22 class PathBlob;
23 
24 class LivePathParameters
25 {
26 public:
27  LivePathParameters() { SetDefaults(); }
28 
29  void SetDefaults()
30  {
31  m_pathEventMastHeight = 2.5f;
32  m_pathEventFlagHeight = 0.45f;
33  m_pathEventRadius = 0.20f;
34  m_pathBoundFlagHeight = 0.40f;
35  m_pathBoundRadius = 0.25f;
36  }
37 
38  KyFloat32 m_pathEventMastHeight;
39  KyFloat32 m_pathEventFlagHeight;
40  KyFloat32 m_pathBoundFlagHeight;
41  KyFloat32 m_pathEventRadius;
42  KyFloat32 m_pathBoundRadius;
43 };
44 
45 class LivePathDisplayListBuilder
46 {
47 public:
49  static void DisplayLivePath(ScopedDisplayList* displayList, const LivePathBlob* livePathBlob, const PathBlob* pathBlob);
50 
51 private:
52  static void DisplayPathfinderStatus(ScopedDisplayList* displayList, const LivePathBlob* livePathBlob);
53 
55  static void DisplayPathEventList(
56  ScopedDisplayList* displayList,
57  const LivePathDetailsBlob* livePathDetailsBlob,
58  LivePathParameters& parameters);
59 
60  static void DisplayPathFinderResult(ScopedDisplayList* displayList, KyUInt32 pathFinderResult,
61  const Vec3f& pathFinderStart, const Vec3f* pathFinderDest);
62 
63  static void DisplayPathAndLivePathBounds(ScopedDisplayList* displayList, KyUInt32 pathType,
64  KyUInt32 pathValidityStatus, const Kaim::PositionOnPathBlob* backwardValidityBound,
65  const PositionOnPathBlob* forwardValidityBound, const PathBlob* pathBlob,
66  LivePathParameters& parameters);
67 };
68 
69 } // namespace Kaim
70 
71 #endif
Definition: gamekitcrowddispersion.h:20
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