VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDistributedEnvironmentSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
16 
18 
19 #include <vrvUtil/signalslib.h>
20 
21 namespace makArchives
22 {
23  class DtDistributedEnvironmentSettingsRecord;
24 }
25 
26 namespace makVrv
27 {
28 
29  class DtDe;
30  class DtDeSettings;
31  class DtRecordSettingsBackupInterface;
32 
50  : public DtBaseSettingsManager<makArchives::DtDistributedEnvironmentSettingsRecord>
51  {
52  public:
53 
55  static DtDistributedEnvironmentSettingsManager& instance( DtDe& de );
56 
59 
60  public:
61 
64 
66  virtual void setListenToRemoteEnvironmentSettingsEnabled( bool val );
68  virtual bool listenToRemoteEnvironmentSettingsEnabled() const;
69 
71 
74 
76  virtual void setFromRecord( const makArchives::DtDistributedEnvironmentSettingsRecord& rec );
77 
79  virtual void getRecord( makArchives::DtDistributedEnvironmentSettingsRecord& rec ) const;
80 
82 
84  boost::signalslib::signal<void (bool)> signal_listenToRemoteEnvironmentSettingsChanged;
85 
91  virtual void setDateAndTimeOfDay(int year, int month, int day, int hour,
92  int minutes, double seconds);
93 
98  virtual void setUseGlobalTimeZone(bool);
99 
103  virtual void setTimeOfDay(int hour, int minutes, double seconds);
104 
108  virtual void setTimeOfDayAdvancementSpeed(float speed);
110 
113 
115  virtual void setAirTurbidity(float turbidity);
116 
118  virtual void setAmbientAirTemperature(float temperature);
119 
121  virtual void setAmbientAirPressure(float pressure);
122 
124  virtual void setAirTemperatureAltitude(float altitude);
125 
127  virtual void setAirPressureAltitude(float altitude);
128 
130  virtual void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel);
131 
133  virtual void setAirPressureAltitudeIsSeaLevel(bool seaLevel);
134 
136  virtual void setSeaLevelWaterConcentration(float water);
137 
139  virtual void setLightningPresent(bool lightningPresent);
140 
142  virtual void setPrecipitationType(unsigned int type);
143 
145  virtual void setPrecipitationIntensity(float intensity);
146 
148  virtual void setFogHeight(float value);
149 
151  virtual void setFogColor(const DtVector& color);
152  virtual void setFogColor(float red, float green, float blue); // 0.0-1.0
153  virtual void setFogColor(int red, int green, int blue); // 0-255
154 
157  virtual void removeElevationalConfiguration(float baseMSLAltitude);
158 
167  virtual void updateOrAddElevationalConfiguration(DtEnvironmentInterface::DtElevationalConfigurationRecord rec);
168 
171  virtual void setSwellState(DtDouglasSwellState::Scale state);
172 
174  virtual void setSwellStateDirection(float value);
175 
178  virtual void setSeaState(DtDouglasSeaState::Scale state);
179 
181  virtual void setSeaStateDirection(float value);
182 
185  virtual void setWindDrivenSeaStateEnabled(bool value);
186 
188  virtual void setWindFetch(float value);
189 
191  virtual void setSeaChoppiness(float value);
192 
194  virtual void setUnderwaterVisibility(float distance);
195 
197  virtual void setSurfaceTransparency(float value);
198 
200  virtual void setSurgeDepth(float value);
201 
203  virtual void setAmbientWaterTemperature(float temperature);
204 
206  virtual void setWaterCurrentSpeed(float speed);
207 
209  virtual void setWaterCurrentDirection(float direction);
210 
212  virtual void setTidalOffset(float meters);
213 
215  virtual void setTidalDirection(bool inOut);
216 
218  virtual void setThermoclineDepth(unsigned int layer, float value);
219 
221  virtual void setThermoclinePermeability(unsigned int layer, float value);
222 
224  virtual void setGroundSnowAccumulation(double depth);
225 
227  virtual void setRoadSnowAccumulation(double depth);
228 
230  virtual void setSnowMinimumElevation(double elevation);
231 
234  virtual void setSnowElevationTransition(double elevation);
235 
237  virtual void setGroundRainAccumulation(double depth);
239 
243  virtual void remoteGlobalEnvironmentDiscovered();
244 
247 
249  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAirTurbidityChanged;
250 
252  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAmbientAirTemperatureChanged;
253 
255  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAmbientAirPressureChanged;
256 
258  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAirTemperatureAltitudeChanged;
259 
261  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAirPressureAltitudeChanged;
262 
265 
268 
270  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSeaLevelWaterConcentrationChanged;
271 
273  boost::signalslib::signal<void(bool)> signal_remoteEnvironmentLightningPresentChanged;
274 
276  boost::signalslib::signal<void(float)> signal_remoteEnvironmentPrecitipationIntensityChanged;
277 
279  boost::signalslib::signal<void(DtEnvironmentInterface::PrecipitationType)> signal_remoteEnvironmentPrecipitationTypeChanged;
280 
282  boost::signalslib::signal<void(int, int, int)> signal_remoteEnvironmentTimeOfDayChanged;
283 
285  boost::signalslib::signal<void(int, int, int, int, int, int)> signal_remoteEnvironmentDateAndTimeOfDayChanged;
286 
288  boost::signalslib::signal<void(bool)> signal_remoteEnvironmentUseGlobalTimeZoneChanged;
289 
291  boost::signalslib::signal<void(float)> signal_remoteEnvironmentTimeOfDayAdvancementSpeedChanged;
292 
294  boost::signalslib::signal<void(float)> signal_remoteEnvironmentVisibilityChanged;
295 
297  boost::signalslib::signal<void(float)> signal_remoteEnvironmentFogHeightChanged;
298 
300  boost::signalslib::signal<void(const DtVector&)> signal_remoteEnvironmentFogColorChanged;
301 
303  boost::signalslib::signal<void(float)> signal_remoteEnvironmentElevationalConfigurationRemoved;
304 
306  boost::signalslib::signal<void(DtEnvironmentInterface::DtElevationalConfigurationRecord)> signal_remoteEnvironmentElevationalConfigurationUpdatedOrAdded;
307 
309  boost::signalslib::signal<void(DtDouglasSwellState::Scale)> signal_remoteEnvironmentSwellStateChanged;
310 
312  boost::signalslib::signal<void(int)> signal_remoteEnvironmentSwellStateDirectionChanged;
313 
315  boost::signalslib::signal<void(DtDouglasSeaState::Scale)> signal_remoteEnvironmentSeaStateChanged;
316 
318  boost::signalslib::signal<void(int)> signal_remoteEnvironmentSeaStateDirectionChanged;
319 
321  boost::signalslib::signal<void(int)> signal_remoteEnvironmentWindDrivenSeaStateEnabledChanged;
322 
324  boost::signalslib::signal<void(float)> signal_remoteEnvironmentWindFetchChanged;
325 
327  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSeaChoppinessChanged;
328 
330  boost::signalslib::signal<void(float)> signal_remoteEnvironmentUnderWaterVisibilityChanged;
331 
333  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSurfaceTransparencyChanged;
334 
336  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSurgeDepthChanged;
337 
339  boost::signalslib::signal<void(float)> signal_remoteEnvironmentAmbientWaterTemperatureChanged;
340 
342  boost::signalslib::signal<void(float)> signal_remoteEnvironmentWaterCurrentSpeedChanged;
343 
345  boost::signalslib::signal<void(float)> signal_remoteEnvironmentWaterCurrentDirectionChanged;
346 
348  boost::signalslib::signal<void(float)> signal_remoteEnvironmentTidalOffsetChanged;
349 
351  boost::signalslib::signal<void(bool)> signal_remoteEnvironmentTidalDirectionChanged;
352 
354  boost::signalslib::signal<void(unsigned int, float)> signal_remoteEnvironmentThermoclineDepthChanged;
355 
357  boost::signalslib::signal<void(unsigned int, float)> signal_remoteEnvironmentThermoclinePermeabilityChanged;
358 
360  boost::signalslib::signal<void(float)> signal_remoteEnvironmentGroundSnowAccumulationChanged;
361 
363  boost::signalslib::signal<void(float)> signal_remoteEnvironmentRoadSnowAccumulationChanged;
364 
366  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSnowMinimumElevationChanged;
367 
369  boost::signalslib::signal<void(float)> signal_remoteEnvironmentSnowElevationTransitionChanged;
370 
372  boost::signalslib::signal<void(float)> signal_remoteEnvironmentGroundRainAccumulationChanged;
374 
375  protected:
376 
378  template <typename ManagerClass>
379  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
380 
382  template <typename ManagerClass>
383  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
384 
387 
388  protected:
389 
391  };
392 
393 }
boost::signalslib::signal< void(unsigned int, float)> signal_remoteEnvironmentThermoclineDepthChanged
Emitted when the thermocline depth changes.
Definition: DtDistributedEnvironmentSettingsManager.h:354
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSnowElevationTransitionChanged
Emitted when the snow elevation transition changes.
Definition: DtDistributedEnvironmentSettingsManager.h:369
boost::signalslib::signal< void(bool)> signal_listenToRemoteEnvironmentSettingsChanged
Boost signals for changed settings.
Definition: DtDistributedEnvironmentSettingsManager.h:84
The declaration of the makVrv::DtEnvironmentInterface class.
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAmbientWaterTemperatureChanged
Emitted when the ambient water temperature, in Kelvins, changes.
Definition: DtDistributedEnvironmentSettingsManager.h:339
boost::signalslib::signal< void(float)> signal_remoteEnvironmentGroundSnowAccumulationChanged
Emitted when the ground snow accumulation depth changes.
Definition: DtDistributedEnvironmentSettingsManager.h:360
The distributed environment settings manager only maintains one persistent application setting - and ...
Definition: DtDistributedEnvironmentSettingsManager.h:49
boost::signalslib::signal< void(float)> signal_remoteEnvironmentPrecitipationIntensityChanged
Emitted when the precipitation intensity factor changes.
Definition: DtDistributedEnvironmentSettingsManager.h:276
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSnowMinimumElevationChanged
Emitted when the snow minimum elevation changes.
Definition: DtDistributedEnvironmentSettingsManager.h:366
boost::signalslib::signal< void(DtDouglasSwellState::Scale)> signal_remoteEnvironmentSwellStateChanged
Emitted when the swell state changes.
Definition: DtDistributedEnvironmentSettingsManager.h:309
boost::signalslib::signal< void(bool)> signal_remoteEnvironmentUseGlobalTimeZoneChanged
Emitted when positioning with the sun with GMT time changes.
Definition: DtDistributedEnvironmentSettingsManager.h:288
boost::signalslib::signal< void(int, int, int, int, int, int)> signal_remoteEnvironmentDateAndTimeOfDayChanged
Emitted when the date and time of day changes.
Definition: DtDistributedEnvironmentSettingsManager.h:285
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSeaChoppinessChanged
Emitted when the sea choppiness changes.
Definition: DtDistributedEnvironmentSettingsManager.h:327
boost::signalslib::signal< void(float)> signal_remoteEnvironmentWaterCurrentSpeedChanged
Emitted when the water current speed changes.
Definition: DtDistributedEnvironmentSettingsManager.h:342
boost::signalslib::signal< void(int, int, int)> signal_remoteEnvironmentTimeOfDayChanged
Emitted when the time of day changes.
Definition: DtDistributedEnvironmentSettingsManager.h:282
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAirTurbidityChanged
Emitted when the air turbidity factor changes.
Definition: DtDistributedEnvironmentSettingsManager.h:249
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:236
boost::signalslib::signal< void(float)> signal_remoteEnvironmentTidalOffsetChanged
Emitted when the tidal offset changes.
Definition: DtDistributedEnvironmentSettingsManager.h:348
boost::signalslib::signal< void(unsigned int, float)> signal_remoteEnvironmentThermoclinePermeabilityChanged
Emitted when the thermocline permeability changes.
Definition: DtDistributedEnvironmentSettingsManager.h:357
Scale
Definition: DtDouglasSeaScale.h:33
boost::signalslib::signal< void(bool)> signal_remoteEnvironmentAirTemperatureAltitudeIsSeaLevelChanged
Emitted when the air temperature altitude is sea level flag changes.
Definition: DtDistributedEnvironmentSettingsManager.h:264
bool myListenToRemoteEnvironmentSettingsEnabled
Definition: DtDistributedEnvironmentSettingsManager.h:390
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
boost::signalslib::signal< void(float)> signal_remoteEnvironmentWaterCurrentDirectionChanged
Emitted when the water current direction changes.
Definition: DtDistributedEnvironmentSettingsManager.h:345
boost::signalslib::signal< void(float)> signal_remoteEnvironmentWindFetchChanged
Emitted when the ocean wind fetch changes.
Definition: DtDistributedEnvironmentSettingsManager.h:324
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Scale
Definition: DtDouglasSeaScale.h:114
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSurfaceTransparencyChanged
Emitted when the surface transparency changes.
Definition: DtDistributedEnvironmentSettingsManager.h:333
boost::signalslib::signal< void(bool)> signal_remoteEnvironmentAirPressureAltitudeIsSeaLevelChanged
Emitted when the air pressure altitude is sea level flag changes.
Definition: DtDistributedEnvironmentSettingsManager.h:267
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAirPressureAltitudeChanged
Emitted when the air pressure altitude, in meters, changes.
Definition: DtDistributedEnvironmentSettingsManager.h:261
boost::signalslib::signal< void(DtDouglasSeaState::Scale)> signal_remoteEnvironmentSeaStateChanged
Emitted when the sea state changes.
Definition: DtDistributedEnvironmentSettingsManager.h:315
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSurgeDepthChanged
Emitted when the surge depth changes.
Definition: DtDistributedEnvironmentSettingsManager.h:336
boost::signalslib::signal< void(const DtVector &)> signal_remoteEnvironmentFogColorChanged
Emitted when the fog color changes.
Definition: DtDistributedEnvironmentSettingsManager.h:300
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAirTemperatureAltitudeChanged
Emitted when the air temperature altitude, in meters, changes.
Definition: DtDistributedEnvironmentSettingsManager.h:258
Contains DtDistributedEnvironmentSettingsRecord class.
A record for Distributed Environment settings.
Definition: DtDistributedEnvironmentSettingsRecord.h:19
boost::signalslib::signal< void(float)> signal_remoteEnvironmentFogHeightChanged
Emitted when the fog ceiling height changes.
Definition: DtDistributedEnvironmentSettingsManager.h:297
boost::signalslib::signal< void(DtEnvironmentInterface::DtElevationalConfigurationRecord)> signal_remoteEnvironmentElevationalConfigurationUpdatedOrAdded
Emitted when an elevational configuration is updated or added.
Definition: DtDistributedEnvironmentSettingsManager.h:306
boost::signalslib::signal< void(float)> signal_remoteEnvironmentElevationalConfigurationRemoved
Emitted when an elevational configuration is removed.
Definition: DtDistributedEnvironmentSettingsManager.h:303
boost::signalslib::signal< void(float)> signal_remoteEnvironmentTimeOfDayAdvancementSpeedChanged
Emitted when the time of day advancement speed changes.
Definition: DtDistributedEnvironmentSettingsManager.h:291
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
boost::signalslib::signal< void(float)> signal_remoteEnvironmentSeaLevelWaterConcentrationChanged
Emitted when the the sea level water concentration, in PPMV (parts per million by volume)...
Definition: DtDistributedEnvironmentSettingsManager.h:270
boost::signalslib::signal< void(int)> signal_remoteEnvironmentWindDrivenSeaStateEnabledChanged
Emitted when the wind driven seas state enabled changes.
Definition: DtDistributedEnvironmentSettingsManager.h:321
boost::signalslib::signal< void(float)> signal_remoteEnvironmentRoadSnowAccumulationChanged
Emitted when the road snow accumulation depth changes.
Definition: DtDistributedEnvironmentSettingsManager.h:363
boost::signalslib::signal< void(bool)> signal_remoteEnvironmentTidalDirectionChanged
Emitted when the tidal direction changes.
Definition: DtDistributedEnvironmentSettingsManager.h:351
boost::signalslib::signal< void(float)> signal_remoteEnvironmentUnderWaterVisibilityChanged
Emitted when the underwater visibility changes.
Definition: DtDistributedEnvironmentSettingsManager.h:330
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:70
boost::signalslib::signal< void(bool)> signal_remoteEnvironmentLightningPresentChanged
Emitted when the lightning is present state has changed.
Definition: DtDistributedEnvironmentSettingsManager.h:273
boost::signalslib::signal< void(int)> signal_remoteEnvironmentSeaStateDirectionChanged
Emitted when the sea state direction changes.
Definition: DtDistributedEnvironmentSettingsManager.h:318
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAmbientAirPressureChanged
Emitted when the ambient air pressure, in Pascals, changes.
Definition: DtDistributedEnvironmentSettingsManager.h:255
boost::signalslib::signal< void(float)> signal_remoteEnvironmentVisibilityChanged
Emitted when the visibility factor changes.
Definition: DtDistributedEnvironmentSettingsManager.h:294
boost::signalslib::signal< void(float)> signal_remoteEnvironmentGroundRainAccumulationChanged
Emitted when the ground rain accumulation depth changes.
Definition: DtDistributedEnvironmentSettingsManager.h:372
boost::signalslib::signal< void(float)> signal_remoteEnvironmentAmbientAirTemperatureChanged
Emitted when the ambient air temperature, in Kelvins, changes.
Definition: DtDistributedEnvironmentSettingsManager.h:252
boost::signalslib::signal< void(int)> signal_remoteEnvironmentSwellStateDirectionChanged
Emitted when the swell state direction changes.
Definition: DtDistributedEnvironmentSettingsManager.h:312
boost::signalslib::signal< void(DtEnvironmentInterface::PrecipitationType)> signal_remoteEnvironmentPrecipitationTypeChanged
Emitted when the precipitation type changes.
Definition: DtDistributedEnvironmentSettingsManager.h:279
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)