VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
remoteEnvironmentController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c ) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include <vrfExtObjects/vrfWeatherStateEnums.h>
16 #include <vrfExtObjects/vrfEnvironmentalWeatherStateRecord.h>
17 #include <vrfExtObjects/vrfSimulationDateTimeStateRecord.h>
18 #include <vrfExtObjects/controlObjectRepository.h>
19 #include <vlutil/vlString.h>
20 
21 #include <map>
22 
24 class DtReflectedEnvironmentProcessList;
25 class DtReflectedEnvironmentProcess;
26 class DtEnvironmentProcessRepository;
27 class DtWeatherObjectRepository;
28 class DtVector;
30 class DtVrfSimulationDateTimeStateRecord;
31 
42 {
43 public:
46 
49 
57  virtual void init(DtVrfMessageInterface* msgIf,
58  DtReflectedEnvironmentProcessList* rel, int sessionId);
59 
63  bool reflectingCurrentWeatherState();
64 
66 
67  virtual void setAirTurbidity(double value, const DtString& weatherArea = "");
69  virtual double airTurbidity(const DtVector& geocentricLocation);
71 
73 
74  virtual void setAmbientAirTemperature(double value, const DtString& weatherArea = "");
76  virtual double ambientAirTemperature(const DtVector& geocentricLocation);
78 
80 
81  virtual void setCloudState(DtVrfWeatherCloudState, const DtString& weatherArea = "");
83  virtual DtVrfWeatherCloudState cloudState(const DtVector& geocentricLocation);
85 
87 
88  virtual void setPrecipitationIntensity(double value, const DtString& weatherArea = "");
90  virtual double precipitationIntensity(const DtVector& geocentricLocation);
92 
94 
95  virtual void setPrecipitationType(DtVrfWeatherPrecipitationType, const DtString& weatherArea = "");
97  virtual DtVrfWeatherPrecipitationType precipitationType(const DtVector& geocentricLocation);
99 
101 
102  virtual void setWindSpeed(double value, const DtString& weatherArea = "");
104  virtual double windSpeed(const DtVector& geocentricLocation);
106 
108 
109  virtual void setWindDirection(double value, const DtString& weatherArea = "");
111  virtual double windDirection(const DtVector& geocentricLocation);
113 
115 
116  virtual void setVisibility(double value, const DtString& weatherArea = "");
118  virtual double visibility(const DtVector& geocentricLocation);
120 
123 
124  virtual void setTimeOfDay(double secondsPastMidnight);
126  virtual double timeOfDay();
128 
131 
132  virtual void setDateAndTimeOfDay(double secondsPastUtc);
133  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
134 
136  virtual double dateAndTimeOfDay();
137  virtual void dateAndTimeOfDay(int& year, int& month, int& day, int& hours, int& minutes, int& seconds);
139 
141  virtual void setUseDayNightIlluminationModel(bool value);
142 
144 
145  virtual void setTimeOfDayAdvancementSpeed(double speed);
147  virtual double timeOfDayAdvancementSpeed();
149 
151 
152  virtual void setUnderwaterVisibility(double underwaterVisibility, const DtString& weatherArea = "");
153  virtual double underwaterVisibility(const DtVector& geocentricLocation);
155 
157 
158  virtual void setSurfaceTransparency(double transparency, const DtString& weatherArea = "");
159  virtual double surfaceTransparency(const DtVector& geocentricLocation);
161 
163 
164  virtual void setWaterCurrentSpeed(double waterCurrentSpeed, const DtString& weatherArea = "");
165  virtual double waterCurrentSpeed(const DtVector& geocentricLocation);
167 
169 
170  virtual void setWaterCurrentDirection(double waterCurrentDirection, const DtString& weatherArea = "");
171  virtual double waterCurrentDirection(const DtVector& geocentricLocation);
173 
175 
176  virtual void setAmbientWaterTemperature(double waterTemperature, const DtString& weatherArea = "");
177  virtual double ambientWaterTemperature(const DtVector& geocentricLocation);
179 
181 
182  virtual void setTidalOffset(double tidalOffset, const DtString& weatherArea = "");
183  virtual double tidalOffset(const DtVector& geocentricLocation);
185 
188 
189  virtual void setTidalDirection(bool tidalDirection, const DtString& weatherArea = "");
190  virtual bool tidalDirection(const DtVector& geocentricLocation);
192 
194 
195  virtual void setSwellState(unsigned int state, const DtString& weatherArea = "");
196  virtual unsigned int swellState(const DtVector& geocentricLocation);
198 
200 
201  virtual void setSwellStateDirection(double direction, const DtString& weatherArea = "");
202  virtual double swellStateDirection(const DtVector& geocentricLocation);
204 
207  virtual void setSeaState(unsigned int douglasScale, const DtString& weatherArea = "");
208  virtual unsigned int seaState(const DtVector& geocentricLocation);
210 
213  virtual void setSeaStateDirection(double radiansFromNorth, const DtString& weatherArea = "");
214  virtual double seaStateDirection(const DtVector& geocentricLocation);
216 
219  virtual void setWindDrivenSeaStateEnabled(bool enabled, const DtString& weatherArea = "");
220  virtual bool windDrivenSeaStateEnabled(const DtVector& geocentricLocation);
222 
224 
225  virtual void setChoppiness(double choppiness, const DtString& weatherArea = "");
226  virtual double choppiness(const DtVector& geocentricLocation);
228 
230 
231  virtual void setSurgeDepth(double depth, const DtString& weatherArea = "");
232  virtual double surgeDepth(const DtVector& geocentricLocation);
234 
237 
238  virtual void setThermoclineLayer1Depth(double depth, const DtString& weatherArea = "");
239  virtual double thermoclineLayer1Depth(const DtVector& geocentricLocation);
240  virtual void setThermoclineLayer1Permeability(double depth, const DtString& weatherArea = "");
241  virtual double thermoclineLayer1Permeability(const DtVector& geocentricLocation);
242  virtual void setThermoclineLayer2Depth(double depth, const DtString& weatherArea = "");
243  virtual double thermoclineLayer2Depth(const DtVector& geocentricLocation);
244  virtual void setThermoclineLayer2Permeability(double depth, const DtString& weatherArea = "");
245  virtual double thermoclineLayer2Permeability(const DtVector& geocentricLocation);
246  virtual void setThermoclineLayer3Depth(double depth, const DtString& weatherArea = "");
247  virtual double thermoclineLayer3Depth(const DtVector& geocentricLocation);
248  virtual void setThermoclineLayer3Permeability(double depth, const DtString& weatherArea = "");
249  virtual double thermoclineLayer3Permeability(const DtVector& geocentricLocation);
250  virtual void setThermoclineLayer4Depth(double depth, const DtString& weatherArea = "");
251  virtual double thermoclineLayer4Depth(const DtVector& geocentricLocation);
252  virtual void setThermoclineLayer4Permeability(double depth, const DtString& weatherArea = "");
253  virtual double thermoclineLayer4Permeability(const DtVector& geocentricLocation);
254  virtual void setThermoclineLayer5Depth(double depth, const DtString& weatherArea = "");
255  virtual double thermoclineLayer5Depth(const DtVector& geocentricLocation);
256  virtual void setThermoclineLayer5Permeability(double depth, const DtString& weatherArea = "");
257  virtual double thermoclineLayer5Permeability(const DtVector& geocentricLocation);
259 
261  static void environmentProcessAddedCallback(
262  DtReflectedEnvironmentProcess* obj, void* userData);
266  virtual void processEnvironmentProcessAdded(
267  DtReflectedEnvironmentProcess* obj);
268 
270  static void environmentProcessRemovedCallback(
271  DtReflectedEnvironmentProcess* obj, void* userData);
275  virtual void processEnvironmentProcessRemoved(
276  DtReflectedEnvironmentProcess* obj);
277 
279  virtual double dT() const;
280 
281 
282 protected:
283 
285  virtual DtVrfEnvironmentalWeatherStateRecord* weatherObjectFor(const DtVector& geocentricLocation) const;
286 
288  virtual bool inside(const DtVector&, const DtControlObjectRepository::DtCOVertexList&) const;
289 
290 protected:
294  virtual bool updateGlobalEnvironment();
295 
297  virtual bool updateWeatherEnvironment(DtEnvironmentProcessRepository*, DtVrfEnvironmentalWeatherStateRecord*);
298 
300  static void environmentProcessUpdatedCallback(DtReflectedEnvironmentProcess* e, void* usr);
301  virtual void processUpdatedCallback(DtReflectedEnvironmentProcess* e);
302 
303 protected:
304  DtReflectedEnvironmentProcessList* myReflectedEnvironmentProcessList;
306 
307  typedef std::map<DtControlObjectRepository*, DtVrfEnvironmentalWeatherStateRecord*> WeatherObjects;
309 
310  DtEnvironmentProcessRepository* myGlobalWeatherSR;
312  DtVrfSimulationDateTimeStateRecord* mySimulationDateTimeStateRecord;
313 
316 };
317 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)