VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWeatherProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #ifndef DT_PROTOCOL_NAMESPACE
11 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
12 #endif
13 
14 #pragma once
15 
16 #include <vrvVrl/vrvVrl.h>
17 
19 
22 
25 
26 #include <boost/unordered_map.hpp>
27 #include <boost/shared_ptr.hpp>
28 
29 namespace makVrv
30 {
31  class DtLocalEnvironmentalsControllerObjectAgent;
32  class DtSceneEnvironmentalsControllerObjectAgent;
33 
34  namespace DT_PROTOCOL_NAMESPACE
35  {
36  class DtVrlinkEnvironmentalStateListenerInterface;
37  class DtWeatherStateListener;
38 
50  {
51 
52  public:
53 
56 
58  virtual ~DtWeatherProcessor();
59 
61  DtWeatherProcessor() = delete;
62 
64  DtWeatherProcessor(const DtWeatherProcessor &) = delete;
65 
67  DtWeatherProcessor &operator=(const DtWeatherProcessor &) = delete;
68 
69  protected:
70 
72  virtual void slot_environmentalDiscovered(
74 
76  virtual void slot_environmentalToBeDestroyed(
78 
81  virtual void slot_airTurbidityChanged(float);
82 
85  virtual void slot_ambientAirTemperatureChanged(float);
86 
89  virtual void slot_ambientAirPressureChanged(float);
90 
93  virtual void slot_airTemperatureAltitudeChanged(float);
94 
97  virtual void slot_airPressureAltitudeChanged(float);
98 
101  virtual void slot_airTemperatureAltitudeIsSeaLevelChanged(bool);
102 
105  virtual void slot_airPressureAltitudeIsSeaLevelChanged(bool);
106 
109  virtual void slot_seaLevelWaterConcentrationChanged(float);
110 
113  virtual void slot_lightningPresentChanged(bool, DtWeatherStateListener* wsl);
114 
116  virtual void slot_controlPointsChanged(DtWeatherStateListener* wsl);
117 
120  virtual void slot_precipitationIntensityChanged(float, DtWeatherStateListener* wsl);
121 
124  virtual void slot_precipitationTypeChanged(DtVrfWeatherPrecipitationType, DtWeatherStateListener* wsl);
125 
127  virtual void slot_timeOfDayChanged(float);
128 
130  virtual void slot_dateAndTimeOfDayChanged(time_t);
131 
134  virtual void slot_useGlobalTimeZoneChanged(bool);
135 
138  virtual void slot_timeOfDayAdvancementSpeedChanged(float);
139 
142  virtual void slot_fogHeightChanged(float);
143 
146  virtual void slot_elevationalConfigurationRemoved(float baseMSLAltitude);
147 
148  virtual void slot_localElevationalConfigurationRemoved(
151 
154  virtual void slot_elevationalConfigurationUpdatedOrAdded(
157 
160  virtual void slot_swellStateChanged(int);
161 
164  virtual void slot_swellStateDirectionChanged(float);
165 
168  virtual void slot_seaStateChanged(int);
169 
172  virtual void slot_seaStateDirectionChanged(float);
173 
176  virtual void slot_windDrivenSeaStateChanged(bool);
177 
180  virtual void slot_underwaterVisibilityChanged(float);
181 
184  virtual void slot_surfaceTransparencyChanged(float);
185 
188  virtual void slot_choppinessChanged(float);
189 
192  virtual void slot_surgeDepthChanged(float);
193 
196  virtual void slot_ambientWaterTemperatureChanged(float);
197 
200  virtual void slot_waterCurrentSpeedChanged(float);
201 
204  virtual void slot_waterCurrentDirectionChanged(float);
205 
208  virtual void slot_tidalOffsetChanged(float);
209 
212  virtual void slot_tidalDirectionChanged(bool);
213 
216  virtual void slot_thermoclineDepthChanged(int, float);
217 
220  virtual void slot_thermoclinePermeabilityChanged(int, float);
221 
224  virtual void slot_groundSnowAccumulationChanged(float value);
225 
228  virtual void slot_roadSnowAccumulationChanged(float value);
229 
232  virtual void slot_snowMinimumElevationChanged(float value);
233 
236  virtual void slot_groundRainAccumulationChanged(float value,
238 
241  virtual void slot_fogColorChanged(const DtVector&, DtWeatherStateListener* wsl);
242 
245  virtual void slot_forceRefresh();
246 
249  virtual void forceUpdateFromListener( DtWeatherStateListener* wsl );
250 
251  protected:
252 
255  virtual void forceUpdateFromListenerGlobal(DtWeatherStateListener* wsl);
256 
259  virtual void forceUpdateFromListenerLocal(DtWeatherStateListener* wsl);
260 
261  protected:
262 
264  DtSceneEnvironmentalsControllerObjectAgent* myWeatherControllerAgent;
265 
268  {
271  DtLocalEnvironmentalsControllerObjectAgent* localControllerAgent;
272  };
273 
274  typedef boost::unordered_map<DtUniqueID, boost::shared_ptr<WeatherListenerData> > WeatherListenerMap;
275 
277 
279  };
280 }
281 }
WeatherListenerMap myWeatherListenerMap
Definition: DtWeatherProcessor.h:276
DtVrfWeatherPrecipitationType
Definition: vrfWeatherStateEnums.h:13
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Weather and ToD state listener.
Definition: DtWeatherStateListener.h:36
DtSignalConnectionManager signals
Definition: DtWeatherProcessor.h:270
Definition: vrfElevationalConfigurationStateRecord.h:32
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
Contains makVrv::DtVirtualBaseClass class.
A DtWeatherProcessor processes information from DtWeatherStateListeners.
Definition: DtWeatherProcessor.h:49
DtLocalEnvironmentalsControllerObjectAgent * localControllerAgent
Definition: DtWeatherProcessor.h:271
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::unordered_map< DtUniqueID, boost::shared_ptr< WeatherListenerData > > WeatherListenerMap
Definition: DtWeatherProcessor.h:274
DtVrlinkConnection & myConnection
Definition: DtWeatherProcessor.h:263
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Base class to provide boost signal/slot management.
A structure to hold information about a weather state listener.
Definition: DtWeatherProcessor.h:267
DtWeatherStateListener * stateListener
Definition: DtWeatherProcessor.h:269
DtSignalConnectionManager mySignals
Definition: DtWeatherProcessor.h:278
Contains DLL export macros.
DtSceneEnvironmentalsControllerObjectAgent * myWeatherControllerAgent
Definition: DtWeatherProcessor.h:264

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)