VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLightGroupNameManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 
13 #include <vrvCore/vrvCore.h>
15 
16 #include <unordered_map>
17 
18 namespace makVrv
19 {
23  {
24  UnknownLightType = 0,
26  CenterLineLights = 2,
27  EdgeLights = 3,
28  EndLights = 4,
29  ThresholdLights = 5,
32  ApproachLights = 8,
34  RunwayGuardLights = 10,
35  DistanceToGoLights = 11,
37  };
38 
41  {
42  UnknownLightType = 0,
43  ApronLight = 1,
44  ApronFloodLight = 2,
46  ObstructionLight = 4,
48  TaxiwayEdgeLight = 6,
52  TaxiwayLeadOnLight = 10,
55  StopBarLight = 13,
57  };
58 
59  class DtDe;
60 
61 
69  {
70  public:
71  static const char* theRunwayLightGroupFilename;
72  static const char* theAerodromeLightGroupFilename;
73 
74  protected:
75 
78 
79  public:
80 
82  virtual ~DtLightGroupNameManager();
83 
85  DtLightGroupNameManager() = delete;
86 
89 
91  DtLightGroupNameManager& operator=(const DtLightGroupNameManager&) = delete;
92 
94  virtual const std::string& lightGroupFromLightName(const std::string& lightName);
95 
97  virtual const std::string& lightGroupFromLightEnum(DtRunwayLightsEnum lightType);
98 
100  virtual const std::string& lightGroupFromLightEnum(DtAerodromeLightsEnum lightType);
101 
102  protected:
104  virtual bool readLightGroupsByNameFile(const std::string& path, const std::string& lightGroupsFilename, bool runway);
105 
106 
107  public:
110  static DtLightGroupNameManager& instance(DtDe& de);
111 
112  protected:
114 
115  std::unordered_map<std::string, std::string> myLightGroupsByNameMap;
116 
117  std::unordered_map<DtRunwayLightsEnum, std::string> myLightGroupsByRunwayLightsEnum;
118 
119  std::unordered_map<DtAerodromeLightsEnum, std::string> myLightGroupsByAerodromeLightsEnum;
120  };
121 
122 }
123 
124 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::unordered_map< std::string, std::string > myLightGroupsByNameMap
Definition: DtLightGroupNameManager.h:115
std::unordered_map< DtAerodromeLightsEnum, std::string > myLightGroupsByAerodromeLightsEnum
Definition: DtLightGroupNameManager.h:119
DtDe & myDe
Definition: DtLightGroupNameManager.h:113
DtLightGroupNameManager provides a singleton class that reads an input file (found in importConfig) t...
Definition: DtLightGroupNameManager.h:68
static const char * theAerodromeLightGroupFilename
Definition: DtLightGroupNameManager.h:72
DtRunwayLightsEnum
Enumeration for light types placed on runways. Note that all are associated with logical runways exce...
Definition: DtLightGroupNameManager.h:22
std::unordered_map< DtRunwayLightsEnum, std::string > myLightGroupsByRunwayLightsEnum
Definition: DtLightGroupNameManager.h:117
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtAerodromeLightsEnum
Enumeration for light types that are aerodrome wide.
Definition: DtLightGroupNameManager.h:40
static const char * theRunwayLightGroupFilename
Definition: DtLightGroupNameManager.h:71
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)