VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radarCoverageManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
14 #include <vrfGuiCore/vrfGuiCore.h>
17 #include <vrfutil/rwUUID.h>
19 
20 #include <vrvCore/DtUniqueID.h>
21 #include <vrvCore/DtEntityState.h>
26 #include <vrvUtil/event_signal.h>
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtRecordSettingsBackupInterface;
32  class DtSimObjectEntry;
33  class DtIntervisibilityElement;
34 }
35 
36 class DtUUID;
37 class DtSimMessage;
39 
40 namespace makVrf
41 {
42  class DtVrfBackendState;
43  class DtIntervisibilitySensorFanStateListener;
44  class DtIntervisibilitySensorFanVisualizer;
45 
47  {
48  public:
49  typedef std::map<double, DtVrfExtendedIntervisibilitySettingsData::Color> ColorMap;
50 
52  virtual ~DtRadarCoverageManager();
53 
55  static DtRadarCoverageManager& instance(makVrv::DtDe& de);
56 
57  public:
59  virtual void startMonitoring(const DtUUID&);
60 
63  virtual bool stopMonitoring(const DtUUID&, bool signal = true, bool beingRemoved = false);
64 
66  bool monitoring(const DtUUID& uuid) const
67  {
68  return (myMonitoring.find(uuid) != myMonitoring.end());
69  }
70 
72  virtual void loadDefaults(bool fromFactory = false);
73 
75  virtual void saveAsDefaults();
76 
77  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
78  {
79  return mySettingsBackup;
80  }
81 
83  {
84  return mySettingsBackup;
85  }
86 
88  void exportSettings(const std::string& fileName);
89 
91  void importSettings(const std::string& fileName);
92 
93  void setAutoSave(bool b);
94  bool autoSave() const;
95 
96  virtual void getRecord(DtRadarCoverageSettingsRecord& rec) const;
97  virtual void setFromRecord(const DtRadarCoverageSettingsRecord& rec);
98 
101  virtual void getSplitRecord(std::vector<DtRadarCoverageSettingsRecord>& rec,
102  std::vector<std::string>& fileNames) {};
103 
106  virtual void addRecords(DtRadarCoverageSettingsRecord& recs,
107  DtRadarCoverageSettingsRecord& combinedRec) {};
108 
110  virtual void setAlpha(double d);
111  virtual double alpha() const;
112 
114  virtual void setWaitingForServerColor(unsigned int);
115  virtual unsigned int waitingForServerColor() const;
116  virtual void waitingForServerColorOSG(float& r, float& g, float& b, float& a) const;
117 
120  virtual void setAltitudeMSL(bool);
121  virtual bool altitudeMSL() const;
122 
124  virtual void setRadarCoverageAltitudeMap(const ColorMap&);
125  virtual const ColorMap& radarCoverageAltitudeMap() const;
126 
128  virtual void addRadarCoverageAltitude(double, unsigned int);
129 
131  virtual bool removeRadarCoverageAltitude(double);
132 
134  virtual void setRadarCoverageAltitudeMap(const DtRadarCoverageAltitudeSettings::AltitudeMap&);
135 
138  virtual void setKeyBackgroundColor(unsigned int);
139  virtual unsigned int keyBackgroundColor() const;
140  virtual void keyBackgroundColorOSG(float& r, float& g, float& b, float& a) const;
142 
145  virtual void setKeyFontColor(unsigned int);
146  virtual unsigned int keyFontColor() const;
147  virtual void keyFontColorOSG(float& r, float& g, float& b, float& a) const;
149 
151  virtual void setShowLabels(bool);
152  virtual bool showLabels() const;
153 
155  virtual bool hasRadarCoverage(const makVrv::DtSelectionManager::IdSet&);
156  virtual bool hasRadarCoverage(makVrv::DtUniqueID);
157 
159  virtual bool isMonitoring() const;
160 
162  virtual bool isMonitoring(const DtUUID&) const;
163 
164  boost::signal<void (bool)> signal_altitudeMSLChanged;
165  boost::signal<void (float r, float g, float b, float a)> signal_keyBackgroundColorChanged;
166  boost::signal<void (float r, float g, float b, float a)> signal_keyFontColorChanged;
167  boost::signal<void (const ColorMap&)> signal_radarCoverageAltitudesChanged;
168  boost::signal<void (const DtUUID&)> signal_radarCoverageMonitored;
169  boost::signal<void (const DtUUID&)> signal_radarCoverageStoppedMonitoring;
170  boost::signal<void (double)> signal_alphaChanged;
171  boost::signal<void (float r, float g, float b, float a)> signal_waitingColorChanged;
172 
173  protected:
174  virtual void completeSetup();
175  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
176  virtual void slot_settingReceived(const std::string& s, const DtVrfBackendState* state);
177  virtual void processRadarCoverageAltitudeSettings(const DtRadarCoverageAltitudeSettings&);
178  virtual void slot_radarCoverageEnabled(const DtUUID&, int);
179  virtual void slot_setupRadarCoverage();
180  virtual void slot_intervisibilityElementAboutToBeDestroyed(makVrv::DtIntervisibilityElement*);
181 
182  virtual void processRadarCoverageData(DtSimMessage* msg);
183  virtual void processRadarCoverage(const DtIfRadarCoverageInformationResponse& s);
184 
185  struct RadarCoverageVisual;
186 
190  virtual bool createRadarCoverageVisuals(const DtIfRadarCoverageInformationResponse&);
191 
192  virtual void processWaitingVisuals();
193 
195 
196  protected:
198 
199  typedef std::map<DtUUID, int> MonitoringMap;
201 
202  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringByIdMap;
204 
208 
210 
211  typedef std::map<DtUUID, std::map<bool, int> > RequestIds;
213 
215  {
218  };
219 
220  typedef std::map<DtString, RadarCoverageVisual> RadarCoverageVisuals;
221  typedef std::map<DtUUID, RadarCoverageVisuals> RadarCoverageVisualsMap;
222 
224 
226  typedef std::map<bool, DtIfRadarCoverageInformationResponse*> WaitingForVisuals;
227  typedef std::map<DtUUID, WaitingForVisuals> WaitingForVisualsMap;
229 
230  boost::signalslib::connection myWaitingConnection;
231 
232  typedef std::map<DtUUID, std::map<bool, boost::signalslib::connection> > UpdateConnections;
234 
235  std::set<int> myPendingRequestIds;
236  };
237 
241  {
242  public:
243 
248 
252 
256  static DtSharedRadarCoverageSettingsSignaler* findInstance(
258 
261 
265 
266  protected:
268 
269  private:
272  };
273 
277  {
278  public:
279 
285 
289  static std::string className();
290 
293 
294  virtual void getRecord(DtRadarCoverageSettingsRecord& rec) const;
295  virtual void setFromRecord(const DtRadarCoverageSettingsRecord& rec);
296 
298  virtual void setAlpha(double d);
299  virtual double alpha() const;
300 
302  virtual void setWaitingForServerColor(unsigned int);
303  virtual unsigned int waitingForServerColor() const;
304  virtual void waitingForServerColorOSG(float& r, float& g, float& b, float& a) const;
305 
308  virtual void setKeyBackgroundColor(unsigned int);
309  virtual unsigned int keyBackgroundColor() const;
310  virtual void keyBackgroundColorOSG(float& r, float& g, float& b, float& a) const;
312 
314  virtual void setShowLabels(bool);
315  virtual bool showLabels() const;
316 
319  virtual void setKeyFontColor(unsigned int);
320  virtual unsigned int keyFontColor() const;
321  virtual void keyFontColorOSG(float& r, float& g, float& b, float& a) const;
323 
324  protected:
325 
328 
329  protected:
331  };
332 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)