VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSharedRadioCommunicationsSettings.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 #include <vrvCore/vrvCore.h>
13 
15 
17 
19 
20 #include <boost/unordered_map.hpp>
21 
22 #include <vrvUtil/event_signal.h>
24 
25 #include <vector>
26 
27 namespace makVrv
28 {
29 
31 
34 
38  {
39  protected:
40 
44 
48 
49  public:
50 
53 
56 
59 
62  virtual float commLineLifetime() const;
63  virtual void setCommLineLifetime( float lifetime );
65 
68  virtual float squawkIndicatorLifetime() const;
69  virtual void setSquawkIndicatorLifetime( float lifetime );
71 
74  virtual float commLineAnimationRate() const;
75  virtual void setCommLineAnimationRate( float rate );
77 
80  virtual float squawkIndicatorAnimationRate() const;
81  virtual void setSquawkIndicatorAnimationRate( float rate );
83 
86  virtual bool displayCommLines() const;
87  virtual void setDisplayCommLines( bool show );
89 
92  virtual bool displaySquawkIndicators() const;
93  virtual void setDisplaySquawkIndicators( bool show );
95 
98  virtual bool displayRadioCommunications() const;
99  virtual void setDisplayRadioCommunications( bool show );
101 
104  virtual CommLineMode commLineRenderMode() const;
105  virtual void setCommLineRenderMode( CommLineMode mode );
107 
110  virtual double greatCircleExaggerationAmount() const;
111  virtual void setGreatCircleExaggerationAmount( double amount );
113 
116  virtual DefaultColoringMode defaultColoringMode() const;
117  virtual void setDefaultColoringMode( DefaultColoringMode mode );
119 
121 
124 
126  virtual bool showDefaultFrequency() const;
127  virtual void setShowDefaultFrequency( bool show );
128 
130  virtual void getDefaultFrequencyColor( float& r, float& g, float& b ) const;
131  virtual void setDefaultFrequencyColor( float r, float g, float b );
132 
134 
137 
139  virtual void getFrequencyRange( int rangeIndex, float& lowFreq, float& highFreq ) const;
140  virtual int addFrequencyRange( float lowFreq, float highFreq );
141 
143  virtual void getFrequencyRangeColor( int rangeIndex, float& r, float& g, float& b ) const;
144  virtual void setFrequencyRangeColor( int rangeIndex, float r, float g, float b );
145 
147  virtual bool showFrequencyRangeFrequency( int rangeIndex ) const;
148  virtual void setShowFrequencyRangeFrequency( int rangeIndex, bool show );
149 
151  virtual int numFrequencyRanges() const;
152 
154  virtual void clearFrequencyRanges();
155 
157 
159 
162 
164  void setFromRecord( const makArchives::DtRadioCommunicationsSettingsRecord& rec );
165 
167  void getRecord( makArchives::DtRadioCommunicationsSettingsRecord& rec ) const;
168 
170  virtual const DtRadioCommunicationsSettingsBackup* settingsBackup() const;
171 
173  virtual DtRadioCommunicationsSettingsBackup* settingsBackup();
174 
176  virtual void backup();
177 
179 
181  static const std::string& className();
182 
183  protected:
184 
189  friend class DtBaseSharedSettingsManager<makArchives::DtRadioCommunicationsSettingsRecord, DtSharedRadioCommunicationsSettings>;
190 
192  DtSharedRadioCommunicationsSettings( DtSharedSettingsManager& manager );
193 
198  bool applyFactoryOverrides(
199  makArchives::DtRadioCommunicationsSettingsRecord& rec) const;
200 
201  protected:
202 
207  {
208 
210  : myHighFrequency( -1 )
211  , myLowFrequency( -1 )
212  , myShowFrequencyFlag( true )
213  {
214  // Default myColor: magenta
215  myColor[0] = myColor[2] = 1.0;
216  myColor[1] = 0.0;
217  }
218 
222  float myColor[3];
223 
224  };
225 
226  protected:
227 
229  typedef std::vector<FrequencyRangeAttributes> FrequencyRangeAttributesList;
230 
232 
233  float myDefaultFrequencyRangeColor[3];
235 
238 
241 
248 
250 
251  };
252 
253 }
This class will maintain settings regarding radio communications.
Definition: DtSharedRadioCommunicationsSettings.h:37
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:364
makArchives::DtRadioCommunicationsSettingsRecord::CommLineMode CommLineMode
Enum typedef to allow usage of the record&#39;s mode enum locally.
Definition: DtSharedRadioCommunicationsSettings.h:43
DefaultColoringMode
Definition: DtRadioCommunicationsSettingsRecord.h:29
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
float myHighFrequency
Definition: DtSharedRadioCommunicationsSettings.h:219
CommLineMode myCommunicationLineRenderMode
Definition: DtSharedRadioCommunicationsSettings.h:245
Contains the radio communications shared settings.
Definition: DtRadioCommunicationsSettingsRecord.h:19
bool myDisplayCommLinesFlag
Definition: DtSharedRadioCommunicationsSettings.h:242
bool myShowFrequencyFlag
Definition: DtSharedRadioCommunicationsSettings.h:221
DefaultColoringMode myDefaultColoringMode
Definition: DtSharedRadioCommunicationsSettings.h:247
float myCommLineAnimationRate
Definition: DtSharedRadioCommunicationsSettings.h:239
bool myDisplaySquawkIndicatorsFlag
Definition: DtSharedRadioCommunicationsSettings.h:243
float myCommLineLifetime
Definition: DtSharedRadioCommunicationsSettings.h:236
Contains makVrv::event_signal class.
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
DtSharedRecordSettingsBackup< DtSharedRadioCommunicationsSettings, makArchives::DtRadioCommunicationsSettingsRecord > DtRadioCommunicationsSettingsBackup
Definition: DtSharedRadioCommunicationsSettings.h:30
float myLowFrequency
Definition: DtSharedRadioCommunicationsSettings.h:220
DtRadioCommunicationsSettingsBackup * mySettingsBackup
Definition: DtSharedRadioCommunicationsSettings.h:249
Stores parameters for a single frequency range. Info includes low/high freq, myColor, and whether visible or not.
Definition: DtSharedRadioCommunicationsSettings.h:206
std::vector< FrequencyRangeAttributes > FrequencyRangeAttributesList
Vector type for storing frequency range attributes.
Definition: DtSharedRadioCommunicationsSettings.h:229
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSharedSettings class declaration.
float mySquawkIndicatorAnimationRate
Definition: DtSharedRadioCommunicationsSettings.h:240
FrequencyRangeAttributesList myFrequencyRangeAttributes
Definition: DtSharedRadioCommunicationsSettings.h:231
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
bool myShowDefaultFrequencyFlag
Definition: DtSharedRadioCommunicationsSettings.h:234
FrequencyRangeAttributes()
Definition: DtSharedRadioCommunicationsSettings.h:209
Contains the DtRadioCommunicationsSettingsRecord class declaration.
makArchives::DtRadioCommunicationsSettingsRecord::DefaultColoringMode DefaultColoringMode
Enum typedef to allow usage of the record&#39;s coloring enum locally.
Definition: DtSharedRadioCommunicationsSettings.h:47
const char int mode
Definition: ioapi.h:38
float mySquawkIndicatorLifetime
Definition: DtSharedRadioCommunicationsSettings.h:237
float myGreatCircleExaggerationAmount
Definition: DtSharedRadioCommunicationsSettings.h:246
The makVrv::DtSharedRecordSettingsBackup is a templaced class that settings records will use in order...
Definition: DtRecordSettingsBackup.h:223
CommLineMode
Definition: DtRadioCommunicationsSettingsRecord.h:23
bool myDisplayRadioCommunicationsFlag
Definition: DtSharedRadioCommunicationsSettings.h:244
Contains the DtBaseSettingsManager class declaration.
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)