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) 2023 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  protected:
71 
74 
75  public:
76 
78  virtual ~DtLightGroupNameManager();
79 
81  DtLightGroupNameManager() = delete;
82 
85 
87  DtLightGroupNameManager& operator=(const DtLightGroupNameManager&) = delete;
88 
90  virtual const std::string& lightGroupFromLightName(const std::string& lightName);
91 
93  virtual const std::string& lightGroupFromLightEnum(DtRunwayLightsEnum lightType);
94 
96  virtual const std::string& lightGroupFromLightEnum(DtAerodromeLightsEnum lightType);
97 
98  protected:
100  virtual bool readLightGroupsByNameFile(const std::string& path, const std::string& lightGroupsFilename, bool runway);
101 
102 
103  public:
106  static DtLightGroupNameManager& instance(DtDe& de);
107 
108  protected:
110  static const char* theRunwayLightGroupFilename;
111  static const char* theAerodromeLightGroupFilename;
112 
113  std::unordered_map<std::string, std::string> myLightGroupsByNameMap;
114 
115  std::unordered_map<DtRunwayLightsEnum, std::string> myLightGroupsByRunwayLightsEnum;
116 
117  std::unordered_map<DtAerodromeLightsEnum, std::string> myLightGroupsByAerodromeLightsEnum;
118  };
119 
120 }
121 
122 
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:113
std::unordered_map< DtAerodromeLightsEnum, std::string > myLightGroupsByAerodromeLightsEnum
Definition: DtLightGroupNameManager.h:117
DtDe & myDe
Definition: DtLightGroupNameManager.h:109
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:111
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:115
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:110
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:72
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)