VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weatherStateComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 #include <matrix/vlVector.h>
12 #include <vrfutil/rwWindLevels.h>
13 #include <vrfOM/sets/writeWeatherStateRepository.hpp>
14 #include <vrfOM/sets/readWeatherStateRepository.hpp>
15 #include <vrfOM/sets/readThermoclineLayerRepository.hpp>
16 
17 namespace makVrf
18 {
22  {
23  public:
25 
27  : DtFrameStateInterface(storage)
28  , myWindLevels("wind-levels")
29  {
30  }
31 
32  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, airTurbidity, AirTurbidity)
33  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, ambientAirTemperature, AmbientAirTemperature)
34  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, ambientAirPressure, AmbientAirPressure)
36  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, precipitationIntensity, PrecipitationIntensity)
37  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(DtVrfWeatherPrecipitationType, precipitationType, PrecipitationType)
38  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, priority, Priority)
39  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, underwaterVisibility, UnderwaterVisibility)
40  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, surfaceTransparency, SurfaceTransparency)
41  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, waterCurrentSpeed, WaterCurrentSpeed)
42  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, waterCurrentDirection, WaterCurrentDirection)
43  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, ambientWaterTemperature, AmbientWaterTemperature)
44  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowAccumulation, SnowAccumulation)
45  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, rainAccumulation, RainAccumulation)
46  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowMinimumAltitude, SnowMinimumAltitude)
47  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowRoadAccumulation, SnowRoadAccumulation)
48  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, tidalOffset, TidalOffset)
49  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, tidalDirection, TidalDirection)
50  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, swellState, SwellState)
51  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, swellStateDirection, SwellStateDirection)
52  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, seaState, SeaState)
53  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, seaStateDirection, SeaStateDirection)
54  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, windDrivenSeaStateEnabled, WindDrivenSeaStateEnabled)
55  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, choppiness, Choppiness)
56  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, surgeDepth, SurgeDepth)
57  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, fogHeight, FogHeight)
58  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(unsigned int, flags, Flags)
59  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, lightningPresent, LightningPresent)
61  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, airTemperatureAltitude, AirTemperatureAltitude)
62  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, airPressureAltitude, AirPressureAltitude)
63  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, airTemperatureAltitudeIsSeaLevel, AirTemperatureAltitudeIsSeaLevel)
64  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, airPressureAltitudeIsSeaLevel, AirPressureAltitudeIsSeaLevel)
65  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, seaLevelWaterConcentration, SeaLevelWaterConcentration)
66  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer1Depth, ThermoclineLayer1Depth)
67  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer1Permeability, ThermoclineLayer1Permeability)
68  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer2Depth, ThermoclineLayer2Depth)
69  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer2Permeability, ThermoclineLayer2Permeability)
70  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer3Depth, ThermoclineLayer3Depth)
71  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer3Permeability, ThermoclineLayer3Permeability)
72  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer4Depth, ThermoclineLayer4Depth)
73  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer4Permeability, ThermoclineLayer4Permeability)
74  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer5Depth, ThermoclineLayer5Depth)
75  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer5Permeability, ThermoclineLayer5Permeability)
76 
79 
82  virtual const double visibility(double atAlt = 0.) const { throw DtUnimplementedMethod("visibility(atAltidude) is not implemented by this class."); };
83  virtual void setVisibility(const double&) { throw DtUnimplementedMethod("setVisibility(double) is not implemented by this class."); };
84  virtual void setVisibility(const double& atAlt, const double&) { throw DtUnimplementedMethod("setVisibility(const double& atAlt, const double& vis) is not implemented by this class."); };
85 
86  virtual const double windSpeed(double atAlt = 0.) const { throw DtUnimplementedMethod("windSpeed(atAltidude) is not implemented by this class."); };
87  virtual void setWindSpeed(const double&) { throw DtUnimplementedMethod("setWindSpeed(double) is not implemented by this class."); };
88  virtual void setWindSpeed(const double& atAlt, const double&) { throw DtUnimplementedMethod("setWindSpeed(const double& atAlt, const double& vis) is not implemented by this class."); };
89 
90  virtual const double windDirection(double atAlt = 0.) const { throw DtUnimplementedMethod("windDirection(atAltidude) is not implemented by this class."); };
91  virtual void setWindDirection(const double&) { throw DtUnimplementedMethod("setWindDirection(double) is not implemented by this class."); };
92  virtual void setWindDirection(const double& atAlt, const double&) { throw DtUnimplementedMethod("setWindDirection(const double& atAlt, const double& vis) is not implemented by this class."); };
93 
94  virtual const int obscurant(double atAlt = 0.) const { throw DtUnimplementedMethod("obscurant(atAltidude) is not implemented by this class."); };
95  virtual void setObscurant(double atAlt, const int&) { throw DtUnimplementedMethod("setObscurant(double, int) is not implemented by this class."); };
96 
97  virtual void addWindLevel(double altitude, double windSpeed, double windDirection,
98  double visibleDistance, int obscurant, int cloudType, double cloudDensity, double skyCoverage) { throw DtUnimplementedMethod("addWindLevel is not implemented by this class."); };
99  virtual void clearWindLevels() { throw DtUnimplementedMethod("clearWindLevels is not implemented by this class."); };
100 
102  virtual void removeWindLevel(double baseAltitude) { throw DtUnimplementedMethod("removeWindLevel is not implemented by this class."); };
103 
105  virtual bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const { throw DtUnimplementedMethod("windSpeedAndDirectionAtAltitude is not implemented by this class."); };
106  virtual void setWindSpeedAndDirectionAtAltitude(const double& altMSL, const double& windSpeed, const double& windDirection) { throw DtUnimplementedMethod("setWindSpeedAndDirectionAtAltitude is not implemented by this class."); };
107 
109  virtual bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const { throw DtUnimplementedMethod("visibilityAndObscurantAtAltitude is not implemented by this class."); };
110  virtual void setVisibilityAndObscurantAtAltitude(const double& altMSL, const double& distance, const int& obs) { throw DtUnimplementedMethod("setVisibilityAndObscurantAtAltitude is not implemented by this class."); };
111 
112  virtual void setWindLevels(const DtRwWindLevels&){ throw DtUnimplementedMethod("setWindLevels is not implemented by this class."); };
113  virtual const DtRwWindLevels& windLevels() const { throw DtUnimplementedMethod("windLevels is not implemented by this class."); };
115 
116  protected:
117  DtRwWindLevels myWindLevels;
118  };
119 
122  {
123  public:
125 
127  const double airTurbidity() const;
128  void setAirTurbidity(const double&);
129 
130  const double ambientAirTemperature() const;
131  void setAmbientAirTemperature(const double&);
132 
133  const double ambientAirPressure() const;
134  void setAmbientAirPressure(const double&);
135 
136  const DtVrfWeatherCloudState cloudState() const;
137  void setCloudState(const DtVrfWeatherCloudState&);
138 
139  const double precipitationIntensity() const;
140  void setPrecipitationIntensity(const double&);
141 
142  const DtVrfWeatherPrecipitationType precipitationType() const;
143  void setPrecipitationType(const DtVrfWeatherPrecipitationType&);
144 
145  const double windSpeed(double atAlt = 0.) const;
146  void setWindSpeed(const double&);
147  void setWindSpeed(const double& atAlt, const double&);
148 
149  const double windDirection(double atAlt = 0.) const;
150  void setWindDirection(const double&);
151  void setWindDirection(const double& atAlt, const double&);
152 
153  const int priority() const;
154  void setPriority(const int&);
155 
156  const double visibility(double atAltitude) const;
157  void setVisibility(const double&);
158  void setVisibility(const double&, const double&);
159 
160  const int obscurant(double atAltitude) const;
161  void setObscurant(double baseAlt, const int&);
162 
163  const double underwaterVisibility() const;
164  void setUnderwaterVisibility(const double&);
165 
166  const double surfaceTransparency() const;
167  void setSurfaceTransparency(const double&);
168 
169  const double waterCurrentSpeed() const;
170  void setWaterCurrentSpeed(const double&);
171 
172  const double waterCurrentDirection() const;
173  void setWaterCurrentDirection(const double&);
174 
175  const double ambientWaterTemperature() const;
176  void setAmbientWaterTemperature(const double&);
177 
178  const double snowAccumulation() const;
179  void setSnowAccumulation(const double&);
180 
181  const double rainAccumulation() const;
182  void setRainAccumulation(const double&);
183 
184  const double snowMinimumAltitude() const;
185  void setSnowMinimumAltitude(const double&);
186 
187  const double snowRoadAccumulation() const;
188  void setSnowRoadAccumulation(const double&);
189 
190  const double tidalOffset() const;
191  void setTidalOffset(const double&);
192 
193  const bool tidalDirection() const;
194  void setTidalDirection(const bool&);
195 
196  const int swellState() const;
197  void setSwellState(const int&);
198 
199  const double swellStateDirection() const;
200  void setSwellStateDirection(const double&);
201 
202  const int seaState() const;
203  void setSeaState(const int&);
204 
205  const double seaStateDirection() const;
206  void setSeaStateDirection(const double&);
207 
208  const bool windDrivenSeaStateEnabled() const;
209  void setWindDrivenSeaStateEnabled(const bool&);
210 
211  const double choppiness() const;
212  void setChoppiness(const double&);
213 
214  const double surgeDepth() const;
215  void setSurgeDepth(const double&);
216 
217  const double fogHeight() const;
218  void setFogHeight(const double&);
219 
220  const unsigned int flags() const;
221  void setFlags(const unsigned int&);
222 
223  const bool lightningPresent() const;
224  void setLightningPresent(const bool&);
225 
226  const DtVector fogColor() const;
227  void setFogColor(const DtVector&);
228 
229  const double thermoclineLayer1Depth() const;
230  void setThermoclineLayer1Depth(const double&);
231 
232  const double thermoclineLayer1Permeability() const;
233  void setThermoclineLayer1Permeability(const double&);
234 
235  const double thermoclineLayer2Depth() const;
236  void setThermoclineLayer2Depth(const double&);
237 
238  const double thermoclineLayer2Permeability() const;
239  void setThermoclineLayer2Permeability(const double&);
240 
241  const double thermoclineLayer3Depth() const;
242  void setThermoclineLayer3Depth(const double&);
243 
244  const double thermoclineLayer3Permeability() const;
245  void setThermoclineLayer3Permeability(const double&);
246 
247  const double thermoclineLayer4Depth() const;
248  void setThermoclineLayer4Depth(const double&);
249 
250  const double thermoclineLayer4Permeability() const;
251  void setThermoclineLayer4Permeability(const double&);
252 
253  const double thermoclineLayer5Depth() const;
254  void setThermoclineLayer5Depth(const double&);
255 
256  const double thermoclineLayer5Permeability() const;
257  void setThermoclineLayer5Permeability(const double&);
258 
259  const double airTemperatureAltitude() const;
260  void setAirTemperatureAltitude(const double&);
261 
262  const double airPressureAltitude() const;
263  void setAirPressureAltitude(const double&);
264 
265  const bool airTemperatureAltitudeIsSeaLevel() const;
266  void setAirTemperatureAltitudeIsSeaLevel(const bool&);
267 
268  const bool airPressureAltitudeIsSeaLevel() const;
269  void setAirPressureAltitudeIsSeaLevel(const bool&);
270 
271  const double seaLevelWaterConcentration() const;
272  void setSeaLevelWaterConcentration(const double&);
273 
276 
279  void addWindLevel(double altitude, double windSpeed, double windDirection, double visibleDistance, int obscurant, int cloudType, double cloudDensity, double skyCoverage);
280  void clearWindLevels();
281 
283  void removeWindLevel(double baseAltitude);
284 
286  bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const;
287  void setWindSpeedAndDirectionAtAltitude(const double& altMSL, const double& windSpeed, const double& windDirection);
288 
290  bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const;
291  void setVisibilityAndObscurantAtAltitude(const double& altMSL, const double& distance, const int& obs);
292 
293  void setWindLevels(const DtRwWindLevels&);
294  const DtRwWindLevels& windLevels() const;
296 
298  virtual void makeWritable();
299 
301  virtual void makeReadOnly();
302 
303  void advancedFrame() { myFirstWeatherSet = false; };
304 
305  protected:
306  VRF::WriteThermoclineLayerRepository thermoclineLayer(int) const;
307 
309  VRF::WriteThermoclineLayerRepository getOrCreateThermoclineLayer(int);
310 
311  protected:
312  virtual void setupWindLevels();
313 
314  protected:
315  VRF::WriteWeatherStateRepository myWriteWeatherStateRepository;
318  };
319 
322  {
323  public:
326 
328  const double airTurbidity() const;
329  const double ambientAirTemperature() const;
330  const double ambientAirPressure() const;
331  const DtVrfWeatherCloudState cloudState() const;
332  const double precipitationIntensity() const;
333  const DtVrfWeatherPrecipitationType precipitationType() const;
334  const double windSpeed(double atAlt = 0.) const;
335  const double windDirection(double atAlt = 0.) const;
336  const int priority() const;
337  const double visibility(double atAltitude = 0.) const;
338  const int obscurant(double atAltitude) const;
339  const double underwaterVisibility() const;
340  const double surfaceTransparency() const;
341  const double waterCurrentSpeed() const;
342  const double waterCurrentDirection() const;
343  const double ambientWaterTemperature() const;
344  const double snowAccumulation() const;
345  const double rainAccumulation() const;
346  const double snowMinimumAltitude() const;
347  const double snowRoadAccumulation() const;
348  const double tidalOffset() const;
349  const bool tidalDirection() const;
350  const int swellState() const;
351  const double swellStateDirection() const;
352  const int seaState() const;
353  const double seaStateDirection() const;
354  const bool windDrivenSeaStateEnabled() const;
355  const double choppiness() const;
356  const double surgeDepth() const;
357  const double fogHeight() const;
358  const DtVector fogColor() const;
359  const unsigned int flags() const;
360  const bool lightningPresent() const;
361  const double thermoclineLayer1Depth() const;
362  const double thermoclineLayer1Permeability() const;
363  const double thermoclineLayer2Depth() const;
364  const double thermoclineLayer2Permeability() const;
365  const double thermoclineLayer3Depth() const;
366  const double thermoclineLayer3Permeability() const;
367  const double thermoclineLayer4Depth() const;
368  const double thermoclineLayer4Permeability() const;
369  const double thermoclineLayer5Depth() const;
370  const double thermoclineLayer5Permeability() const;
371  const double airTemperatureAltitude() const;
372  const double airPressureAltitude() const;
373  const bool airTemperatureAltitudeIsSeaLevel() const;
374  const bool airPressureAltitudeIsSeaLevel() const;
375  const double seaLevelWaterConcentration() const;
376 
378  bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const;
379 
381  bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const;
382 
383  const DtRwWindLevels& windLevels() const;
384 
385  bool readComponentValid() const;
386  bool findReadComponent();
387 
388  protected:
389  VRF::ReadThermoclineLayerRepository thermoclineLayer(int) const;
390 
391  protected:
393  virtual void updateWindLevels();
394 
396  {
397  myWindLevels = data.windLevels();
398  }
399 
400  protected:
401  VRF::ReadWeatherStateRepository myReadWeatherStateRepository;
403  unsigned int myCallbackHandle;
404  };
405 
409  {
410  public:
412 
413  bool isDoubleBuffered() { return true; };
414  const DtFrameStateInterface* currentFrameState() const { return &myCurrentFrameState; }
415  virtual DtFrameStateInterface* nextFrameState() { return &myNextFrameState; };
416  virtual const DtFrameStateInterface* nextFrameState() const { return &myNextFrameState; };
417 
419  {
420  if (!myFoundComponent)
421  {
422  myFoundComponent = myCurrentFrameState.findReadComponent();
423  }
424 
425  if (myNextFrameState.isWritable())
426  {
427  myNextFrameState.advancedFrame();
428  myCurrentFrameState.advanceFrame(myNextFrameState);
429  }
430 
431  myCurrentFrameState.emitComponentUpdated();
432  }
433 
434  virtual void updateStateData(DtStateData* sd) override
435  {
436  myCurrentFrameState.updateStateData(sd);
437  myNextFrameState.updateStateData(sd);
438  }
439 
440  virtual void aboutToBeDeleted() override
441  {
443  myCurrentFrameState.aboutToBeDeleted();
444  myNextFrameState.aboutToBeDeleted();
445  }
446 
447  virtual bool forceAdvance() override;
448 
450  virtual void firstFrameAdvance() override;
451 
452  protected:
456  };
457 
461 }
DtVrfWeatherPrecipitationType
Definition: vrfWeatherStateEnums.h:13
virtual void addWindLevel(double altitude, double windSpeed, double windDirection, double visibleDistance, int obscurant, int cloudType, double cloudDensity, double skyCoverage)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:97
Definition: stateDataTypes.h:23
virtual const int obscurant(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:94
DtWeatherStateComponentNextFrame myNextFrameState
Definition: weatherStateComponent.h:454
Definition: stateComponent.h:257
virtual void setWindSpeed(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:88
virtual void setObscurant(double atAlt, const int &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:95
virtual void setWindSpeed(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:87
void advancedFrame()
Definition: weatherStateComponent.h:303
virtual void setVisibility(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:84
virtual const double windSpeed(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:86
virtual void setWindDirection(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:92
unsigned int myCallbackHandle
Definition: weatherStateComponent.h:403
virtual void setWindDirection(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:91
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: weatherStateComponent.h:21
virtual DtFrameStateInterface * nextFrameState()
Definition: weatherStateComponent.h:415
const DtRwWindLevels & windLevels() const
Accessors/mutators for wind level.
VRF::WriteWeatherStateRepository myWriteWeatherStateRepository
Definition: weatherStateComponent.h:315
DtStateData * myStateData
Definition: weatherStateComponent.h:402
virtual void aboutToBeDeleted() override
Definition: weatherStateComponent.h:440
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
#define DEFINE_STATE_COMPONENT_TYPE(CreatedComponent)
Definition: stateComponent.h:219
virtual const double windDirection(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:90
virtual void removeWindLevel(double baseAltitude)
Must be exact match.
Definition: weatherStateComponent.h:102
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:370
bool myFirstWeatherSet
Definition: weatherStateComponent.h:317
3) Define the current frame class. This will be used for read access.
Definition: weatherStateComponent.h:321
DtWeatherStateComponentCurrentFrame myCurrentFrameState
Definition: weatherStateComponent.h:453
2) Define the next frame class. This will be used for write access.
Definition: weatherStateComponent.h:121
#define UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:53
virtual void aboutToBeDeleted()
DtStateData * myStateData
Definition: weatherStateComponent.h:316
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: weatherStateComponent.h:408
void updateDataStorage()
Implement to update data storage. Called from advanceFrame.
Definition: weatherStateComponent.h:418
VRF::ReadWeatherStateRepository myReadWeatherStateRepository
Definition: weatherStateComponent.h:401
DtVrfWeatherCloudState
Definition: vrfWeatherStateEnums.h:24
bool myFoundComponent
Definition: weatherStateComponent.h:455
virtual const DtFrameStateInterface * nextFrameState() const
Definition: weatherStateComponent.h:416
bool isDoubleBuffered()
Definition: weatherStateComponent.h:413
virtual const DtRwWindLevels & windLevels() const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:113
virtual void setVisibility(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:83
virtual bool windSpeedAndDirectionAtAltitude(double altMSL, double &windSpeed, double &windDirection) const
Given the altitude, return the wind speed and direction.
Definition: weatherStateComponent.h:105
DtStateComponentCreator< DtWeatherStateComponentImplementation > DtWeatherStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: weatherStateComponent.h:460
virtual void clearWindLevels()
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:99
virtual void setWindLevels(const DtRwWindLevels &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:112
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
virtual bool visibilityAndObscurantAtAltitude(double altMSL, double &distance, int &obs) const
Given the altitude, return the visibility and obscurant.
Definition: weatherStateComponent.h:109
virtual void updateStateData(DtStateData *sd) override
Implement to update data storage to the new state data.
Definition: weatherStateComponent.h:434
const DtFrameStateInterface * currentFrameState() const
Definition: weatherStateComponent.h:414
virtual void setVisibilityAndObscurantAtAltitude(const double &altMSL, const double &distance, const int &obs)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:110
Contains the DtStateComponent class declaration.
Definition: rwWindLevels.h:17
virtual void setWindSpeedAndDirectionAtAltitude(const double &altMSL, const double &windSpeed, const double &windDirection)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:106
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:282
void advanceFrame(const DtWeatherStateComponentNextFrame &data)
Definition: weatherStateComponent.h:395

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)