VR-Forces 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) 2025 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 <unordered_map>
27 #include <boost/shared_ptr.hpp>
28 
29 namespace makVrv
30 {
31  class DtSceneEnvironmentalsControllerObjectAgent;
32 
33  namespace DT_PROTOCOL_NAMESPACE
34  {
35  class DtVrlinkEnvironmentalStateListenerInterface;
36  class DtWeatherStateListener;
37 
46  {
47 
48  public:
49 
52 
54  virtual ~DtWeatherProcessor();
55 
57  DtWeatherProcessor() = delete;
58 
60  DtWeatherProcessor(const DtWeatherProcessor &) = delete;
61 
63  DtWeatherProcessor &operator=(const DtWeatherProcessor &) = delete;
64 
65  protected:
66 
68  virtual void slot_environmentalDiscovered(
70 
72  virtual void slot_environmentalToBeDestroyed(
74 
77  virtual void slot_airTurbidityChanged(float);
78 
81  virtual void slot_ambientAirTemperatureChanged(float);
82 
85  virtual void slot_ambientAirPressureChanged(float);
86 
89  virtual void slot_airTemperatureAltitudeChanged(float);
90 
93  virtual void slot_airPressureAltitudeChanged(float);
94 
97  virtual void slot_airTemperatureAltitudeIsSeaLevelChanged(bool);
98 
101  virtual void slot_airPressureAltitudeIsSeaLevelChanged(bool);
102 
105  virtual void slot_seaLevelWaterConcentrationChanged(float);
106 
109  virtual void slot_lightningPresentChanged(bool, DtWeatherStateListener* wsl);
110 
113  virtual void slot_precipitationIntensityChanged(float, DtWeatherStateListener* wsl);
114 
117  virtual void slot_precipitationTypeChanged(DtVrfWeatherPrecipitationType, DtWeatherStateListener* wsl);
118 
120  virtual void slot_timeOfDayChanged(float);
121 
123  virtual void slot_dateAndTimeOfDayChanged(time_t);
124 
127  virtual void slot_useGlobalTimeZoneChanged(bool);
128 
131  virtual void slot_timeOfDayAdvancementSpeedChanged(float);
132 
135  virtual void slot_fogHeightChanged(float);
136 
139  virtual void slot_elevationalConfigurationRemoved(float baseMSLAltitude,
141 
144  virtual void slot_elevationalConfigurationUpdatedOrAdded(
147 
150  virtual void slot_swellStateChanged(int);
151 
154  virtual void slot_swellStateDirectionChanged(float);
155 
158  virtual void slot_seaStateChanged(int);
159 
162  virtual void slot_seaStateDirectionChanged(float);
163 
166  virtual void slot_windDrivenSeaStateChanged(bool);
167 
170  virtual void slot_underwaterVisibilityChanged(float);
171 
174  virtual void slot_surfaceTransparencyChanged(float);
175 
178  virtual void slot_choppinessChanged(float);
179 
182  virtual void slot_surgeDepthChanged(float);
183 
186  virtual void slot_ambientWaterTemperatureChanged(float);
187 
190  virtual void slot_waterCurrentSpeedChanged(float);
191 
194  virtual void slot_waterCurrentDirectionChanged(float);
195 
198  virtual void slot_tidalOffsetChanged(float);
199 
202  virtual void slot_tidalDirectionChanged(bool);
203 
206  virtual void slot_thermoclineDepthChanged(int, float);
207 
210  virtual void slot_thermoclinePermeabilityChanged(int, float);
211 
214  virtual void slot_groundSnowAccumulationChanged(float value);
215 
218  virtual void slot_roadSnowAccumulationChanged(float value);
219 
222  virtual void slot_snowMinimumElevationChanged(float value);
223 
226  virtual void slot_groundRainAccumulationChanged(float value,
228 
231  virtual void slot_fogColorChanged(const DtVector&, DtWeatherStateListener* wsl);
232 
235  virtual void slot_forceRefresh();
236 
239  virtual void forceUpdateFromListener( DtWeatherStateListener* wsl );
240 
241  protected:
242 
244  DtSceneEnvironmentalsControllerObjectAgent* myWeatherControllerAgent;
245 
248  {
251  };
252 
253  typedef std::unordered_map<DtUniqueID, std::shared_ptr<WeatherListenerData> > WeatherListenerMap;
254 
256 
258  };
259 }
260 }
WeatherListenerMap myWeatherListenerMap
Definition: DtWeatherProcessor.h:255
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
std::unordered_map< DtUniqueID, std::shared_ptr< WeatherListenerData > > WeatherListenerMap
Definition: DtWeatherProcessor.h:253
DtSignalConnectionManager signals
Definition: DtWeatherProcessor.h:250
Definition: vrfElevationalConfigurationStateRecord.h:32
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
Contains makVrv::DtVirtualBaseClass class.
A DtWeatherProcessor processes information from DtWeatherStateListeners. A DtWeatherStateListener is ...
Definition: DtWeatherProcessor.h:45
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtVrlinkConnection & myConnection
Definition: DtWeatherProcessor.h:243
Base class to provide boost signal/slot management.
A structure to hold information about a weather state listener.
Definition: DtWeatherProcessor.h:247
DtWeatherStateListener * stateListener
Definition: DtWeatherProcessor.h:249
DtSignalConnectionManager mySignals
Definition: DtWeatherProcessor.h:257
Contains DLL export macros.
DtSceneEnvironmentalsControllerObjectAgent * myWeatherControllerAgent
Definition: DtWeatherProcessor.h:244

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)