VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
19 #include <vlutil/vlString.h>
20 #include <vrfutil/rwUUID.h>
21 #include <matrix/vlVector.h>
22 
23 #include <map>
24 
32 
43 {
44 public:
47 
50 
58  virtual void init(DtVrfMessageInterface* msgIf,
59  DtReflectedEnvironmentProcessList* rel, int sessionId);
60 
63  virtual void reinitialize(DtReflectedEnvironmentProcessList* rel);
64 
68  bool reflectingCurrentWeatherState();
69 
71  DtEnvironmentProcessRepository* globalEnvironment() const
72  {
73  return myGlobalWeatherSR;
74  }
75 
77 
78  virtual void setAirTurbidity(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
80  virtual double airTurbidity(const DtVector& geocentricLocation);
82 
84 
85  virtual void setAmbientAirTemperature(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
87  virtual double ambientAirTemperature(const DtVector& geocentricLocation);
89 
91 
92  virtual void setCloudState(DtVrfWeatherCloudState, const DtUUID& weatherArea = DtUUID::nullUUID());
94  virtual DtVrfWeatherCloudState cloudState(const DtVector& geocentricLocation);
96 
98 
99  virtual void setPrecipitationIntensity(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
101  virtual double precipitationIntensity(const DtVector& geocentricLocation);
103 
105 
106  virtual void setPrecipitationType(DtVrfWeatherPrecipitationType, const DtUUID& weatherArea = DtUUID::nullUUID());
108  virtual DtVrfWeatherPrecipitationType precipitationType(const DtVector& geocentricLocation);
110 
112 
113  virtual void setWindSpeed(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
115  virtual double windSpeed(const DtVector& geocentricLocation);
117 
119 
120  virtual void setWindDirection(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
122  virtual double windDirection(const DtVector& geocentricLocation);
124 
126 
127  virtual void setVisibility(double value, const DtUUID& weatherArea = DtUUID::nullUUID());
129  virtual double visibility(const DtVector& geocentricLocation);
131 
134 
135  virtual void setTimeOfDay(double secondsPastMidnight);
137  virtual double timeOfDay();
139 
142 
143  virtual void setDateAndTimeOfDay(double secondsPastUtc);
144  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
145 
147  virtual double dateAndTimeOfDay();
148  virtual void dateAndTimeOfDay(int& year, int& month, int& day, int& hours, int& minutes, int& seconds);
150 
152  virtual void setUseDayNightIlluminationModel(bool value);
153 
155 
156  virtual void setTimeOfDayAdvancementSpeed(double speed);
158  virtual double timeOfDayAdvancementSpeed();
160 
162 
163  virtual void setUnderwaterVisibility(double underwaterVisibility, const DtUUID& weatherArea = DtUUID::nullUUID());
164  virtual double underwaterVisibility(const DtVector& geocentricLocation);
166 
168 
169  virtual void setSurfaceTransparency(double transparency, const DtUUID& weatherArea = DtUUID::nullUUID());
170  virtual double surfaceTransparency(const DtVector& geocentricLocation);
172 
174 
175  virtual void setWaterCurrentSpeed(double waterCurrentSpeed, const DtUUID& weatherArea = DtUUID::nullUUID());
176  virtual double waterCurrentSpeed(const DtVector& geocentricLocation);
178 
180 
181  virtual void setWaterCurrentDirection(double waterCurrentDirection, const DtUUID& weatherArea = DtUUID::nullUUID());
182  virtual double waterCurrentDirection(const DtVector& geocentricLocation);
184 
186 
187  virtual void setAmbientWaterTemperature(double waterTemperature, const DtUUID& weatherArea = DtUUID::nullUUID());
188  virtual double ambientWaterTemperature(const DtVector& geocentricLocation);
190 
192 
193  virtual void setTidalOffset(double tidalOffset, const DtUUID& weatherArea = DtUUID::nullUUID());
194  virtual double tidalOffset(const DtVector& geocentricLocation);
196 
199 
200  virtual void setTidalDirection(bool tidalDirection, const DtUUID& weatherArea = DtUUID::nullUUID());
201  virtual bool tidalDirection(const DtVector& geocentricLocation);
203 
205 
206  virtual void setSwellState(unsigned int state, const DtUUID& weatherArea = DtUUID::nullUUID());
207  virtual unsigned int swellState(const DtVector& geocentricLocation);
209 
211 
212  virtual void setSwellStateDirection(double direction, const DtUUID& weatherArea = DtUUID::nullUUID());
213  virtual double swellStateDirection(const DtVector& geocentricLocation);
215 
218  virtual void setSeaState(unsigned int douglasScale, const DtUUID& weatherArea = DtUUID::nullUUID());
219  virtual unsigned int seaState(const DtVector& geocentricLocation);
221 
224  virtual void setSeaStateDirection(double radiansFromNorth, const DtUUID& weatherArea = DtUUID::nullUUID());
225  virtual double seaStateDirection(const DtVector& geocentricLocation);
227 
230  virtual void setWindDrivenSeaStateEnabled(bool enabled, const DtUUID& weatherArea = DtUUID::nullUUID());
231  virtual bool windDrivenSeaStateEnabled(const DtVector& geocentricLocation);
233 
235 
236  virtual void setChoppiness(double choppiness, const DtUUID& weatherArea = DtUUID::nullUUID());
237  virtual double choppiness(const DtVector& geocentricLocation);
239 
241 
242  virtual void setSurgeDepth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
243  virtual double surgeDepth(const DtVector& geocentricLocation);
245 
248  virtual void setFogColor(const DtVector&, const DtUUID& weatherArea = DtUUID::nullUUID());
249  virtual DtVector fogColor(const DtVector& geocentricLocation);
250 
251  virtual void setFogHeight(double, const DtUUID& weatherArea = DtUUID::nullUUID());
252  virtual double fogHeight(const DtVector& geocentricLocation);
254 
257 
258  virtual void setThermoclineLayer1Depth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
259  virtual double thermoclineLayer1Depth(const DtVector& geocentricLocation);
260  virtual void setThermoclineLayer1Permeability(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
261  virtual double thermoclineLayer1Permeability(const DtVector& geocentricLocation);
262  virtual void setThermoclineLayer2Depth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
263  virtual double thermoclineLayer2Depth(const DtVector& geocentricLocation);
264  virtual void setThermoclineLayer2Permeability(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
265  virtual double thermoclineLayer2Permeability(const DtVector& geocentricLocation);
266  virtual void setThermoclineLayer3Depth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
267  virtual double thermoclineLayer3Depth(const DtVector& geocentricLocation);
268  virtual void setThermoclineLayer3Permeability(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
269  virtual double thermoclineLayer3Permeability(const DtVector& geocentricLocation);
270  virtual void setThermoclineLayer4Depth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
271  virtual double thermoclineLayer4Depth(const DtVector& geocentricLocation);
272  virtual void setThermoclineLayer4Permeability(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
273  virtual double thermoclineLayer4Permeability(const DtVector& geocentricLocation);
274  virtual void setThermoclineLayer5Depth(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
275  virtual double thermoclineLayer5Depth(const DtVector& geocentricLocation);
276  virtual void setThermoclineLayer5Permeability(double depth, const DtUUID& weatherArea = DtUUID::nullUUID());
277  virtual double thermoclineLayer5Permeability(const DtVector& geocentricLocation);
279 
281  static void environmentProcessAddedCallback(
282  DtReflectedEnvironmentProcess* obj, void* userData);
286  virtual void processEnvironmentProcessAdded(
288 
290  static void environmentProcessRemovedCallback(
291  DtReflectedEnvironmentProcess* obj, void* userData);
295  virtual void processEnvironmentProcessRemoved(
297 
299  virtual double dT() const;
300 
301 
302 protected:
303 
305  virtual DtVrfEnvironmentalWeatherStateRecord* weatherObjectFor(const DtVector& geocentricLocation) const;
306 
308  virtual bool inside(const DtVector&, const DtControlObjectRepository::DtCOVertexList&) const;
309 
310 protected:
314  virtual bool updateGlobalEnvironment();
315 
317  virtual bool updateWeatherEnvironment(DtEnvironmentProcessRepository*, DtVrfEnvironmentalWeatherStateRecord*);
318 
320  static void environmentProcessUpdatedCallback(DtReflectedEnvironmentProcess* e, void* usr);
321  virtual void processUpdatedCallback(DtReflectedEnvironmentProcess* e);
322 
323 protected:
326 
327  typedef std::map<DtControlObjectRepository*, DtVrfEnvironmentalWeatherStateRecord*> WeatherObjects;
329 
333 
336 };
337 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)