gwnavruntime/path/livepathdisplay.h Source File

livepathdisplay.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 DisplayList;
17 class LivePathBlob;
18 class LivePathDetailsBlob;
19 class PositionOnPathBlob;
20 class PathBlob;
21 
22 class LivePathParameters
23 {
24 public:
25  LivePathParameters() { SetDefaults(); }
26 
27  void SetDefaults()
28  {
29  m_pathEventMastHeight = 2.5f;
30  m_pathEventFlagHeight = 0.45f;
31  m_pathEventRadius = 0.20f;
32  m_pathBoundFlagHeight = 0.40f;
33  m_pathBoundRadius = 0.25f;
34  }
35 
36  KyFloat32 m_pathEventMastHeight;
37  KyFloat32 m_pathEventFlagHeight;
38  KyFloat32 m_pathBoundFlagHeight;
39  KyFloat32 m_pathEventRadius;
40  KyFloat32 m_pathBoundRadius;
41 };
42 
43 class LivePathDisplayListBuilder
44 {
45 public:
47  static void DisplayLivePath(DisplayList* displayList, const LivePathBlob* livePathBlob, const PathBlob* pathBlob);
48 
49 private:
50  static void DisplayPathfinderStatus(DisplayList* displayList, const LivePathBlob* livePathBlob);
51 
53  static void DisplayPathEventList(
54  DisplayList* displayList,
55  const LivePathDetailsBlob* livePathDetailsBlob,
56  LivePathParameters& parameters);
57 
58  static void DisplayPathFinderResult(DisplayList* displayList, KyUInt32 pathFinderResult,
59  const Vec3f& pathFinderStart, const Vec3f* pathFinderDest);
60 
61  static void DisplayPathAndLivePathBounds(DisplayList* displayList, KyUInt32 pathType,
62  KyUInt32 pathValidityStatus, const Kaim::PositionOnPathBlob* backwardValidityBound,
63  const PositionOnPathBlob* forwardValidityBound, const PathBlob* pathBlob,
64  LivePathParameters& parameters);
65 };
66 
67 } // namespace Kaim
68 
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32