gwnavruntime/spatialization/spatializedpointdisplay.h Source File

spatializedpointdisplay.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 
12 
13 namespace Kaim
14 {
15 
16 class DisplayList;
17 class PointDbSpatializationBlob;
18 class SpatializationResultBlob;
19 
20 class SpatializedPointDisplayListBuilder
21 {
22 public:
23  SpatializedPointDisplayListBuilder() { SetDefaults(); }
24 
25  void SetDefaults()
26  {
27  m_linkColor = Color::Yellow;
28  m_spatializedPointColor_Projected = Color::Green;
29  m_spatializedPointColor_NotProjected = Color::Red;
30  m_spatializationDetailsColor_Projected = Color::Cyan;
31  m_spatializationDetailsColor_NotProjected = Color::Red;
32  m_trianglePointColor = Color::LightGreen;
33  m_spatializedPointWidth = 0.1f;
34  m_rangePointsWidth = 0.1f;
35  }
36 
37  void DisplaySpatializationError(DisplayList* displayList,
38  const Vec3f& spatializedPoint, const SpatializationResultBlob* spatializationResult, KyUInt32 databaseIndex, KyFloat32 textPositionZOffset = 3.0f);
39 
40  // If databaseIndex == KyUInt32MAXVAL, display all db spatializations, else only display spatialization for the specified databaseIndex.
41  void DisplaySpatializationResult(DisplayList* displayList,
42  const Vec3f& spatializedPoint, KyFloat32 height, const SpatializationResultBlob* spatializationResult, KyUInt32 databaseIndex);
43 
44  void DisplayPointDbSpatialization(DisplayList* displayList,
45  const Vec3f& spatializedPoint, KyFloat32 height, const PointDbSpatializationBlob& pointDbSpatializationBlob);
46 
47  void DisplayTriangleProjection(DisplayList* displayList,
48  const Vec3f& spatializedPoint, const PointDbSpatializationBlob& pointDbSpatializationBlob);
49 
50  void DisplayProjectionDetails(DisplayList* displayList,
51  const Vec3f& spatializedPoint, KyFloat32 height, const PointDbSpatializationBlob& pointDbSpatializationBlob,
52  const Color& color);
53 
54 public:
55  Color m_linkColor;
56  Color m_spatializedPointColor_Projected;
57  Color m_spatializedPointColor_NotProjected;
58  Color m_spatializationDetailsColor_Projected;
59  Color m_spatializationDetailsColor_NotProjected;
60  Color m_trianglePointColor;
61  KyFloat32 m_spatializedPointWidth;
62  KyFloat32 m_rangePointsWidth;
63 };
64 
65 } // namespace Kaim
66 
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