VR-Forces 5.0.3 Developer's Guide
 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) 2022 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_vertexChanged(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,
148 
151  virtual void slot_elevationalConfigurationUpdatedOrAdded(
154 
157  virtual void slot_swellStateChanged(int);
158 
161  virtual void slot_swellStateDirectionChanged(float);
162 
165  virtual void slot_seaStateChanged(int);
166 
169  virtual void slot_seaStateDirectionChanged(float);
170 
173  virtual void slot_windDrivenSeaStateChanged(bool);
174 
177  virtual void slot_underwaterVisibilityChanged(float);
178 
181  virtual void slot_surfaceTransparencyChanged(float);
182 
185  virtual void slot_choppinessChanged(float);
186 
189  virtual void slot_surgeDepthChanged(float);
190 
193  virtual void slot_ambientWaterTemperatureChanged(float);
194 
197  virtual void slot_waterCurrentSpeedChanged(float);
198 
201  virtual void slot_waterCurrentDirectionChanged(float);
202 
205  virtual void slot_tidalOffsetChanged(float);
206 
209  virtual void slot_tidalDirectionChanged(bool);
210 
213  virtual void slot_thermoclineDepthChanged(int, float);
214 
217  virtual void slot_thermoclinePermeabilityChanged(int, float);
218 
221  virtual void slot_groundSnowAccumulationChanged(float value);
222 
225  virtual void slot_roadSnowAccumulationChanged(float value);
226 
229  virtual void slot_snowMinimumElevationChanged(float value);
230 
233  virtual void slot_groundRainAccumulationChanged(float value,
235 
238  virtual void slot_fogColorChanged(const DtVector&, DtWeatherStateListener* wsl);
239 
242  virtual void slot_forceRefresh();
243 
246  virtual void forceUpdateFromListener( DtWeatherStateListener* wsl );
247 
248  protected:
249 
252  virtual void forceUpdateFromListenerGlobal(DtWeatherStateListener* wsl);
253 
256  virtual void forceUpdateFromListenerLocal(DtWeatherStateListener* wsl);
257 
258  protected:
259 
261  DtSceneEnvironmentalsControllerObjectAgent* myWeatherControllerAgent;
262 
265  {
268  DtLocalEnvironmentalsControllerObjectAgent* localControllerAgent;
269  };
270 
271  typedef boost::unordered_map<DtUniqueID, boost::shared_ptr<WeatherListenerData> > WeatherListenerMap;
272 
274 
276  };
277 }
278 }
WeatherListenerMap myWeatherListenerMap
Definition: DtWeatherProcessor.h:273
DtVrfWeatherPrecipitationType
Definition: vrfWeatherStateEnums.h:13
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Weather and ToD state listener.
Definition: DtWeatherStateListener.h:36
DtSignalConnectionManager signals
Definition: DtWeatherProcessor.h:267
Definition: vrfElevationalConfigurationStateRecord.h:32
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Contains makVrv::DtVirtualBaseClass class.
A DtWeatherProcessor processes information from DtWeatherStateListeners. A DtWeatherStateListener can...
Definition: DtWeatherProcessor.h:49
DtLocalEnvironmentalsControllerObjectAgent * localControllerAgent
Definition: DtWeatherProcessor.h:268
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:271
DtVrlinkConnection & myConnection
Definition: DtWeatherProcessor.h:260
Base class to provide boost signal/slot management.
A structure to hold information about a weather state listener.
Definition: DtWeatherProcessor.h:264
DtWeatherStateListener * stateListener
Definition: DtWeatherProcessor.h:266
DtSignalConnectionManager mySignals
Definition: DtWeatherProcessor.h:275
Contains DLL export macros.
DtSceneEnvironmentalsControllerObjectAgent * myWeatherControllerAgent
Definition: DtWeatherProcessor.h:261

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)