VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environmentalStateManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vlutil/vlString.h>
14 #include <vrfExtObjects/vrfWeatherStateEnums.h>
16 #include <matrix/vlVector.h>
17 
18 #include <set>
19 
20 class DtSimManager;
21 class DtVrfObject;
22 class DtObjectType;
26 class DtChord;
27 class DtSimMessage;
28 
36 {
37 private:
39 
42  orig);
45 
46 public:
47 
50 
52  virtual ~DtEnvironmentalStateManager();
53 
54  virtual bool init();
55 
56  virtual void tick();
57 
58  virtual DtSimManager* simManager();
59 
62  virtual bool globalEnvironmentSimulatedLocally() const;
63 
68  virtual bool startEnvironmentSimulationLocally();
69 
71  virtual DtVrfObject* weatherObjectFor(const DtString& = "") const;
72 
75  virtual DtVrfObject* weatherObjectFor(const DtVector& localPosition) const;
76 
78  virtual DtVrfObject* weatherObjectFor(const DtChord& localChord) const;
79 
82  virtual std::vector<DtVrfObject*> weatherObjectsFor(const DtChord& localChord) const;
83 
86 
87  virtual void setAirTurbidity(double factor, const DtString& weatherArea = "");
88  virtual double airTurbidity(const DtString& weatherArea) const;
89  virtual double airTurbidity(const DtVector&) const;
91 
93 
94  virtual void setAmbientAirTemperature(double temp, const DtString& weatherArea = "");
95  virtual double ambientAirTemperature(const DtString& weatherArea) const;
96  virtual double ambientAirTemperature(const DtVector&) const;
98 
100 
101  virtual void setCloudState(DtVrfWeatherCloudState current, const DtString& weatherArea = "");
102  virtual DtVrfWeatherCloudState cloudState(const DtString& weatherArea) const;
103  virtual DtVrfWeatherCloudState cloudState(const DtVector&) const;
105 
107 
108  virtual void setPrecipitationIntensity(double factor, const DtString& weatherArea = "");
109  virtual double precipitationIntensity(const DtString& weatherArea) const;
110  virtual double precipitationIntensity(const DtVector&) const;
112 
114 
115  virtual void setPrecipitationType(DtVrfWeatherPrecipitationType current, const DtString& weatherArea = "");
116  virtual DtVrfWeatherPrecipitationType precipitationType(const DtString& weatherArea) const;
117  virtual DtVrfWeatherPrecipitationType precipitationType(const DtVector&) const;
119 
121 
122  virtual void setWindSpeed(double value, const DtString& weatherArea = "");
123  virtual double windSpeed(const DtString& weatherArea) const;
124  virtual double windSpeed(const DtVector&) const;
126 
128 
129  virtual void setWindDirection(double value, const DtString& weatherArea = "");
130  virtual double windDirection(const DtString& weatherArea) const;
131  virtual double windDirection(const DtVector&) const;
133 
135 
136  virtual void setVisibility(double value, const DtString& weatherArea = "");
137  virtual double visibility(const DtString& weatherArea) const;
138  virtual double visibility(const DtVector&) const;
139 
142  virtual double visibility(const DtChord&) const;
144 
149 
150  virtual double illumination(const DtVector& localPosition) const;
152 
155  virtual void setWeatherState(const DtChangeWeatherCommand& command);
156 
159  virtual void setUseDayNightIlluminationModel(const DtChangeTimeOfDayCommand& command);
160  virtual void setDateAndTimeOfDay(double secondsPastMidnight);
161  virtual void setDateAndTimeOfDay(const DtChangeTimeOfDayCommand& command);
162  virtual double timeOfDay() const;
163  virtual double dateAndTimeOfDay() const;
164 
166  virtual void setTimeOfDayAdvancementSpeed(double speed);
167  virtual void setTimeOfDayAdvancementSpeed(const DtChangeTimeOfDayCommand& command);
168  virtual double timeOfDayAdvancementSpeed() const;
169 
171 
172  virtual void setPriority(int p, const DtString& weatherArea = "");
173  virtual int priority(const DtString& weatherArea) const;
174  virtual int priority(const DtVector&) const;
176 
178 
179  virtual void setUnderwaterVisibility(double underwaterVisibility, const DtString& weatherArea = "");
180  virtual double underwaterVisibility(const DtString& weatherArea) const;
181  virtual double underwaterVisibility(const DtVector&) const;
183 
185 
186  virtual void setSurfaceTransparency(double transparency, const DtString& weatherArea = "");
187  virtual double surfaceTransparency(const DtString& weatherArea) const;
188  virtual double surfaceTransparency(const DtVector&) const;
190 
192 
193  virtual void setWaterCurrentSpeed(double waterCurrentSpeed, const DtString& weatherArea = "");
194  virtual double waterCurrentSpeed(const DtString& weatherArea) const;
195  virtual double waterCurrentSpeed(const DtVector&) const;
197 
199 
200  virtual void setWaterCurrentDirection(double waterCurrentDirection, const DtString& weatherArea = "");
201  virtual double waterCurrentDirection(const DtString& weatherArea) const;
202  virtual double waterCurrentDirection(const DtVector&) const;
204 
206 
207  virtual void setAmbientWaterTemperature(double waterTemperature, const DtString& weatherArea = "");
208  virtual double ambientWaterTemperature(const DtString& weatherArea) const;
209  virtual double ambientWaterTemperature(const DtVector&) const;
211 
213 
214  virtual void setTidalOffset(double tidalOffset, const DtString& weatherArea = "");
215  virtual double tidalOffset(const DtString& weatherArea) const;
216  virtual double tidalOffset(const DtVector&) const;
218 
222  virtual void setUseDayNightIlluminationModel(bool);
223  virtual bool useDayNightIlluminationModel() const;
225 
228 
229  virtual void setTidalDirection(bool tidalDirection, const DtString& weatherArea = "");
230  virtual bool tidalDirection(const DtString& weatherArea) const;
231  virtual bool tidalDirection(const DtVector&) const;
233 
235 
236  virtual void setSwellState(unsigned int state, const DtString& weatherArea = "");
237  virtual unsigned int swellState(const DtString& weatherArea) const;
238  virtual unsigned int swellState(const DtVector&) const;
240 
242 
243  virtual void setSwellStateDirection(double direction, const DtString& weatherArea = "");
244  virtual double swellStateDirection(const DtString& weatherArea) const;
245  virtual double swellStateDirection(const DtVector&) const;
247 
249 
250  virtual void setSeaState(unsigned int state, const DtString& weatherArea = "");
251  virtual unsigned int seaState(const DtString& weatherArea) const;
252  virtual unsigned int seaState(const DtVector&) const;
254 
256 
257  virtual void setSeaStateDirection(double direction, const DtString& weatherArea = "");
258  virtual double seaStateDirection(const DtString& weatherArea) const;
259  virtual double seaStateDirection(const DtVector&) const;
261 
263 
264  virtual void setWindDrivenSeaStateEnabled(bool b, const DtString& weatherArea = "");
265  virtual bool windDrivenSeaStateEnabled(const DtString& weatherArea) const;
266  virtual bool windDrivenSeaStateEnabled(const DtVector&) const;
268 
270 
271  virtual void setChoppiness(double choppiness, const DtString& weatherArea = "");
272  virtual double choppiness(const DtString& weatherArea) const;
273  virtual double choppiness(const DtVector&) const;
275 
277 
278  virtual void setSurgeDepth(double depth, const DtString& weatherArea = "");
279  virtual double surgeDepth(const DtString& weatherArea) const;
280  virtual double surgeDepth(const DtVector&) const;
282 
285  virtual DtObjectType globalEnvironmentObjectType() const;
286 
289 
290  virtual void setThermoclineLayer1Depth(double depth, const DtString& weatherArea = "");
291  virtual double thermoclineLayer1Depth(const DtString& weatherArea) const;
292  virtual double thermoclineLayer1Depth(const DtVector&) const;
293  virtual void setThermoclineLayer1Permeability(double depth, const DtString& weatherArea = "");
294  virtual double thermoclineLayer1Permeability(const DtString& weatherArea) const;
295  virtual double thermoclineLayer1Permeability(const DtVector&) const;
296  virtual void setThermoclineLayer2Depth(double depth, const DtString& weatherArea = "");
297  virtual double thermoclineLayer2Depth(const DtString& weatherArea) const;
298  virtual double thermoclineLayer2Depth(const DtVector&) const;
299  virtual void setThermoclineLayer2Permeability(double depth, const DtString& weatherArea = "");
300  virtual double thermoclineLayer2Permeability(const DtString& weatherArea) const;
301  virtual double thermoclineLayer2Permeability(const DtVector&) const;
302  virtual void setThermoclineLayer3Depth(double depth, const DtString& weatherArea = "");
303  virtual double thermoclineLayer3Depth(const DtString& weatherArea) const;
304  virtual double thermoclineLayer3Depth(const DtVector&) const;
305  virtual void setThermoclineLayer3Permeability(double depth, const DtString& weatherArea = "");
306  virtual double thermoclineLayer3Permeability(const DtString& weatherArea) const;
307  virtual double thermoclineLayer3Permeability(const DtVector&) const;
308  virtual void setThermoclineLayer4Depth(double depth, const DtString& weatherArea = "");
309  virtual double thermoclineLayer4Depth(const DtString& weatherArea) const;
310  virtual double thermoclineLayer4Depth(const DtVector&) const;
311  virtual void setThermoclineLayer4Permeability(double depth, const DtString& weatherArea = "");
312  virtual double thermoclineLayer4Permeability(const DtString& weatherArea) const;
313  virtual double thermoclineLayer4Permeability(const DtVector&) const;
314  virtual void setThermoclineLayer5Depth(double depth, const DtString& weatherArea = "");
315  virtual double thermoclineLayer5Depth(const DtString& weatherArea) const;
316  virtual double thermoclineLayer5Depth(const DtVector&) const;
317  virtual void setThermoclineLayer5Permeability(double depth, const DtString& weatherArea = "");
318  virtual double thermoclineLayer5Permeability(const DtString& weatherArea) const;
319  virtual double thermoclineLayer5Permeability(const DtVector&) const;
321 
322 protected:
323  static void objectAddedCallback(DtVrfObject* object, void* usr);
324  virtual void processObjectAdded(DtVrfObject* object);
325 
326  static void objectRemovedCallback(DtVrfObject* object, void* usr);
327  virtual void processObjectRemoved(DtVrfObject* object);
328 
332  virtual void createGlobalEnvironmentObject();
333 
335  virtual DtEnvironmentalStateSetter* createLocalEnvironmentalStateSetter();
337  virtual DtEnvironmentalStateSetter* createRemoteEnvironmentalStateSetter();
338 
339  static void changeWeatherPrioritiesCallback(DtSimMessage* msg, void* usr);
340  virtual void processChangeWeatherPriorities(DtSimMessage* msg);
341 
342 protected:
344 
346  std::set<DtVrfObject*> myWeatherObjects;
347 
350 
352 
356 };
357 
358 

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)