VR-Forces 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, ambientAirTemperature, AmbientAirTemperature)
33  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, ambientAirPressure, AmbientAirPressure)
35  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, precipitationIntensity, PrecipitationIntensity)
36  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(DtVrfWeatherPrecipitationType, precipitationType, PrecipitationType)
37  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, priority, Priority)
38  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, underwaterVisibility, UnderwaterVisibility)
39  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, surfaceTransparency, SurfaceTransparency)
40  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, waterCurrentSpeed, WaterCurrentSpeed)
41  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, waterCurrentDirection, WaterCurrentDirection)
42  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, ambientWaterTemperature, AmbientWaterTemperature)
43  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowAccumulation, SnowAccumulation)
44  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, rainAccumulation, RainAccumulation)
45  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowMinimumAltitude, SnowMinimumAltitude)
46  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, snowRoadAccumulation, SnowRoadAccumulation)
47  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, tidalOffset, TidalOffset)
48  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, swellState, SwellState)
49  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, swellStateDirection, SwellStateDirection)
50  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(int, seaState, SeaState)
51  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, seaStateDirection, SeaStateDirection)
52  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, windDrivenSeaStateEnabled, WindDrivenSeaStateEnabled)
53  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, choppiness, Choppiness)
54  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, surgeDepth, SurgeDepth)
55  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, fogHeight, FogHeight)
56  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(unsigned int, flags, Flags)
57  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, lightningPresent, LightningPresent)
59  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, airTemperatureAltitude, AirTemperatureAltitude)
60  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, airPressureAltitude, AirPressureAltitude)
61  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, airTemperatureAltitudeIsSeaLevel, AirTemperatureAltitudeIsSeaLevel)
62  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(bool, airPressureAltitudeIsSeaLevel, AirPressureAltitudeIsSeaLevel)
63  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, seaLevelWaterConcentration, SeaLevelWaterConcentration)
64  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer1Depth, ThermoclineLayer1Depth)
65  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer1Permeability, ThermoclineLayer1Permeability)
66  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer2Depth, ThermoclineLayer2Depth)
67  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer2Permeability, ThermoclineLayer2Permeability)
68  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer3Depth, ThermoclineLayer3Depth)
69  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer3Permeability, ThermoclineLayer3Permeability)
70  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer4Depth, ThermoclineLayer4Depth)
71  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer4Permeability, ThermoclineLayer4Permeability)
72  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer5Depth, ThermoclineLayer5Depth)
73  UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(double, thermoclineLayer5Permeability, ThermoclineLayer5Permeability)
74 
77 
80  virtual const double visibility(double atAlt = 0.) const { throw DtUnimplementedMethod("visibility(atAltidude) is not implemented by this class."); };
81  virtual void setVisibility(const double&) { throw DtUnimplementedMethod("setVisibility(double) is not implemented by this class."); };
82  virtual void setVisibility(const double& atAlt, const double&) { throw DtUnimplementedMethod("setVisibility(const double& atAlt, const double& vis) is not implemented by this class."); };
83 
84  virtual const double windSpeed(double atAlt = 0.) const { throw DtUnimplementedMethod("windSpeed(atAltidude) is not implemented by this class."); };
85  virtual void setWindSpeed(const double&) { throw DtUnimplementedMethod("setWindSpeed(double) is not implemented by this class."); };
86  virtual void setWindSpeed(const double& atAlt, const double&) { throw DtUnimplementedMethod("setWindSpeed(const double& atAlt, const double& vis) is not implemented by this class."); };
87 
88  virtual const double windDirection(double atAlt = 0.) const { throw DtUnimplementedMethod("windDirection(atAltidude) is not implemented by this class."); };
89  virtual void setWindDirection(const double&) { throw DtUnimplementedMethod("setWindDirection(double) is not implemented by this class."); };
90  virtual void setWindDirection(const double& atAlt, const double&) { throw DtUnimplementedMethod("setWindDirection(const double& atAlt, const double& vis) is not implemented by this class."); };
91 
92  virtual const int obscurant(double atAlt = 0.) const { throw DtUnimplementedMethod("obscurant(atAltidude) is not implemented by this class."); };
93  virtual void setObscurant(double atAlt, const int&) { throw DtUnimplementedMethod("setObscurant(double, int) is not implemented by this class."); };
94 
95  virtual void addWindLevel(double altitude, double windSpeed, double windDirection,
96  double visibleDistance, int obscurant, int cloudType, double cloudDensity, double skyCoverage) { throw DtUnimplementedMethod("addWindLevel is not implemented by this class."); };
97  virtual void clearWindLevels() { throw DtUnimplementedMethod("clearWindLevels is not implemented by this class."); };
98 
100  virtual void removeWindLevel(double baseAltitude) { throw DtUnimplementedMethod("removeWindLevel is not implemented by this class."); };
101 
103  virtual bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const { throw DtUnimplementedMethod("windSpeedAndDirectionAtAltitude is not implemented by this class."); };
104  virtual void setWindSpeedAndDirectionAtAltitude(const double& altMSL, const double& windSpeed, const double& windDirection) { throw DtUnimplementedMethod("setWindSpeedAndDirectionAtAltitude is not implemented by this class."); };
105 
107  virtual bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const { throw DtUnimplementedMethod("visibilityAndObscurantAtAltitude is not implemented by this class."); };
108  virtual void setVisibilityAndObscurantAtAltitude(const double& altMSL, const double& distance, const int& obs) { throw DtUnimplementedMethod("setVisibilityAndObscurantAtAltitude is not implemented by this class."); };
109 
110  virtual void setWindLevels(const DtRwWindLevels&){ throw DtUnimplementedMethod("setWindLevels is not implemented by this class."); };
111  virtual const DtRwWindLevels& windLevels() const { throw DtUnimplementedMethod("windLevels is not implemented by this class."); };
113 
114  protected:
115  DtRwWindLevels myWindLevels;
116  };
117 
120  {
121  public:
123 
125 
126  const double ambientAirTemperature() const;
127  void setAmbientAirTemperature(const double&);
128 
129  const double ambientAirPressure() const;
130  void setAmbientAirPressure(const double&);
131 
132  const DtVrfWeatherCloudState cloudState() const;
133  void setCloudState(const DtVrfWeatherCloudState&);
134 
135  const double precipitationIntensity() const;
136  void setPrecipitationIntensity(const double&);
137 
138  const DtVrfWeatherPrecipitationType precipitationType() const;
139  void setPrecipitationType(const DtVrfWeatherPrecipitationType&);
140 
141  const double windSpeed(double atAlt = 0.) const;
142  void setWindSpeed(const double&);
143  void setWindSpeed(const double& atAlt, const double&);
144 
145  const double windDirection(double atAlt = 0.) const;
146  void setWindDirection(const double&);
147  void setWindDirection(const double& atAlt, const double&);
148 
149  const int priority() const;
150  void setPriority(const int&);
151 
152  const double visibility(double atAltitude) const;
153  void setVisibility(const double&);
154  void setVisibility(const double&, const double&);
155 
156  const int obscurant(double atAltitude) const;
157  void setObscurant(double baseAlt, const int&);
158 
159  const double underwaterVisibility() const;
160  void setUnderwaterVisibility(const double&);
161 
162  const double surfaceTransparency() const;
163  void setSurfaceTransparency(const double&);
164 
165  const double waterCurrentSpeed() const;
166  void setWaterCurrentSpeed(const double&);
167 
168  const double waterCurrentDirection() const;
169  void setWaterCurrentDirection(const double&);
170 
171  const double ambientWaterTemperature() const;
172  void setAmbientWaterTemperature(const double&);
173 
174  const double snowAccumulation() const;
175  void setSnowAccumulation(const double&);
176 
177  const double rainAccumulation() const;
178  void setRainAccumulation(const double&);
179 
180  const double snowMinimumAltitude() const;
181  void setSnowMinimumAltitude(const double&);
182 
183  const double snowRoadAccumulation() const;
184  void setSnowRoadAccumulation(const double&);
185 
186  const double tidalOffset() const;
187  void setTidalOffset(const double&);
188 
189  const int swellState() const;
190  void setSwellState(const int&);
191 
192  const double swellStateDirection() const;
193  void setSwellStateDirection(const double&);
194 
195  const int seaState() const;
196  void setSeaState(const int&);
197 
198  const double seaStateDirection() const;
199  void setSeaStateDirection(const double&);
200 
201  const bool windDrivenSeaStateEnabled() const;
202  void setWindDrivenSeaStateEnabled(const bool&);
203 
204  const double choppiness() const;
205  void setChoppiness(const double&);
206 
207  const double surgeDepth() const;
208  void setSurgeDepth(const double&);
209 
210  const double fogHeight() const;
211  void setFogHeight(const double&);
212 
213  const unsigned int flags() const;
214  void setFlags(const unsigned int&);
215 
216  const bool lightningPresent() const;
217  void setLightningPresent(const bool&);
218 
219  const DtVector fogColor() const;
220  void setFogColor(const DtVector&);
221 
222  const double thermoclineLayer1Depth() const;
223  void setThermoclineLayer1Depth(const double&);
224 
225  const double thermoclineLayer1Permeability() const;
226  void setThermoclineLayer1Permeability(const double&);
227 
228  const double thermoclineLayer2Depth() const;
229  void setThermoclineLayer2Depth(const double&);
230 
231  const double thermoclineLayer2Permeability() const;
232  void setThermoclineLayer2Permeability(const double&);
233 
234  const double thermoclineLayer3Depth() const;
235  void setThermoclineLayer3Depth(const double&);
236 
237  const double thermoclineLayer3Permeability() const;
238  void setThermoclineLayer3Permeability(const double&);
239 
240  const double thermoclineLayer4Depth() const;
241  void setThermoclineLayer4Depth(const double&);
242 
243  const double thermoclineLayer4Permeability() const;
244  void setThermoclineLayer4Permeability(const double&);
245 
246  const double thermoclineLayer5Depth() const;
247  void setThermoclineLayer5Depth(const double&);
248 
249  const double thermoclineLayer5Permeability() const;
250  void setThermoclineLayer5Permeability(const double&);
251 
252  const double airTemperatureAltitude() const;
253  void setAirTemperatureAltitude(const double&);
254 
255  const double airPressureAltitude() const;
256  void setAirPressureAltitude(const double&);
257 
258  const bool airTemperatureAltitudeIsSeaLevel() const;
259  void setAirTemperatureAltitudeIsSeaLevel(const bool&);
260 
261  const bool airPressureAltitudeIsSeaLevel() const;
262  void setAirPressureAltitudeIsSeaLevel(const bool&);
263 
264  const double seaLevelWaterConcentration() const;
265  void setSeaLevelWaterConcentration(const double&);
266 
269 
272  void addWindLevel(double altitude, double windSpeed, double windDirection, double visibleDistance, int obscurant, int cloudType, double cloudDensity, double skyCoverage);
273  void clearWindLevels();
274 
276  void removeWindLevel(double baseAltitude);
277 
279  bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const;
280  void setWindSpeedAndDirectionAtAltitude(const double& altMSL, const double& windSpeed, const double& windDirection);
281 
283  bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const;
284  void setVisibilityAndObscurantAtAltitude(const double& altMSL, const double& distance, const int& obs);
285 
286  void setWindLevels(const DtRwWindLevels&);
287  const DtRwWindLevels& windLevels() const;
289 
291  virtual void makeWritable();
292 
294  virtual void makeReadOnly();
295 
296  protected:
297  VRF::WriteThermoclineLayerRepository thermoclineLayer(int) const;
298 
300  VRF::WriteThermoclineLayerRepository getOrCreateThermoclineLayer(int);
301 
302  protected:
303  virtual void setupWindLevels();
304 
305  protected:
306  VRF::WriteWeatherStateRepository myWriteWeatherStateRepository;
308  };
309 
312  {
313  public:
316 
318  const double ambientAirTemperature() const;
319  const double ambientAirPressure() const;
320  const DtVrfWeatherCloudState cloudState() const;
321  const double precipitationIntensity() const;
322  const DtVrfWeatherPrecipitationType precipitationType() const;
323  const double windSpeed(double atAlt = 0.) const;
324  const double windDirection(double atAlt = 0.) const;
325  const int priority() const;
326  const double visibility(double atAltitude = 0.) const;
327  const int obscurant(double atAltitude) const;
328  const double underwaterVisibility() const;
329  const double surfaceTransparency() const;
330  const double waterCurrentSpeed() const;
331  const double waterCurrentDirection() const;
332  const double ambientWaterTemperature() const;
333  const double snowAccumulation() const;
334  const double rainAccumulation() const;
335  const double snowMinimumAltitude() const;
336  const double snowRoadAccumulation() const;
337  const double tidalOffset() const;
338  const int swellState() const;
339  const double swellStateDirection() const;
340  const int seaState() const;
341  const double seaStateDirection() const;
342  const bool windDrivenSeaStateEnabled() const;
343  const double choppiness() const;
344  const double surgeDepth() const;
345  const double fogHeight() const;
346  const DtVector fogColor() const;
347  const unsigned int flags() const;
348  const bool lightningPresent() const;
349  const double thermoclineLayer1Depth() const;
350  const double thermoclineLayer1Permeability() const;
351  const double thermoclineLayer2Depth() const;
352  const double thermoclineLayer2Permeability() const;
353  const double thermoclineLayer3Depth() const;
354  const double thermoclineLayer3Permeability() const;
355  const double thermoclineLayer4Depth() const;
356  const double thermoclineLayer4Permeability() const;
357  const double thermoclineLayer5Depth() const;
358  const double thermoclineLayer5Permeability() const;
359  const double airTemperatureAltitude() const;
360  const double airPressureAltitude() const;
361  const bool airTemperatureAltitudeIsSeaLevel() const;
362  const bool airPressureAltitudeIsSeaLevel() const;
363  const double seaLevelWaterConcentration() const;
364 
366  bool windSpeedAndDirectionAtAltitude(double altMSL, double& windSpeed, double& windDirection) const;
367 
369  bool visibilityAndObscurantAtAltitude(double altMSL, double& distance, int& obs) const;
370 
371  const DtRwWindLevels& windLevels() const;
372 
373  bool readComponentValid() const;
374  bool findReadComponent();
375 
376  protected:
377  VRF::ReadThermoclineLayerRepository thermoclineLayer(int) const;
378 
379  protected:
381  virtual void updateWindLevels();
382 
384  {
385  myWindLevels = data.windLevels();
386  }
387 
388  protected:
389  VRF::ReadWeatherStateRepository myReadWeatherStateRepository;
391  unsigned int myCallbackHandle;
392  };
393 
397  {
398  public:
400 
401  bool isDoubleBuffered() { return true; };
402  const DtFrameStateInterface* currentFrameState() const { return &myCurrentFrameState; }
403  virtual DtFrameStateInterface* nextFrameState() { return &myNextFrameState; };
404  virtual const DtFrameStateInterface* nextFrameState() const { return &myNextFrameState; };
405 
407  {
408  if (!myFoundComponent)
409  {
410  myFoundComponent = myCurrentFrameState.findReadComponent();
411  }
412 
413  if (myNextFrameState.isWritable())
414  {
415  myNextFrameState.advancedFrame();
416  myCurrentFrameState.advanceFrame(myNextFrameState);
417  }
418 
419  myCurrentFrameState.emitComponentUpdated();
420  }
421 
422  virtual void updateStateData(DtStateData* sd) override
423  {
424  myCurrentFrameState.updateStateData(sd);
425  myNextFrameState.updateStateData(sd);
426  }
427 
428  virtual void aboutToBeDeleted() override
429  {
431  myCurrentFrameState.aboutToBeDeleted();
432  myNextFrameState.aboutToBeDeleted();
433  }
434 
435  virtual bool forceAdvance() override;
436 
438  virtual void firstFrameAdvance() override;
439 
440  protected:
444  };
445 
449 }
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:95
Definition: stateDataTypes.h:23
virtual const int obscurant(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:92
DtWeatherStateComponentNextFrame myNextFrameState
Definition: weatherStateComponent.h:442
Definition: stateComponent.h:266
virtual void setWindSpeed(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:86
virtual void setObscurant(double atAlt, const int &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:93
virtual void setWindSpeed(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:85
virtual void setVisibility(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:82
virtual const double windSpeed(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:84
virtual void setWindDirection(const double &atAlt, const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:90
unsigned int myCallbackHandle
Definition: weatherStateComponent.h:391
virtual void setWindDirection(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:89
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:403
const DtRwWindLevels & windLevels() const
Accessors/mutators for wind level.
VRF::WriteWeatherStateRepository myWriteWeatherStateRepository
Definition: weatherStateComponent.h:306
DtStateData * myStateData
Definition: weatherStateComponent.h:390
virtual void aboutToBeDeleted() override
Definition: weatherStateComponent.h:428
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:339
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:228
virtual const double windDirection(double atAlt=0.) const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:88
virtual void removeWindLevel(double baseAltitude)
Must be exact match.
Definition: weatherStateComponent.h:100
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:379
3) Define the current frame class. This will be used for read access.
Definition: weatherStateComponent.h:311
DtWeatherStateComponentCurrentFrame myCurrentFrameState
Definition: weatherStateComponent.h:441
2) Define the next frame class. This will be used for write access.
Definition: weatherStateComponent.h:119
#define UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:53
virtual void aboutToBeDeleted()
DtStateData * myStateData
Definition: weatherStateComponent.h:307
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: weatherStateComponent.h:396
void updateDataStorage()
Implement to update data storage. Called from advanceFrame.
Definition: weatherStateComponent.h:406
VRF::ReadWeatherStateRepository myReadWeatherStateRepository
Definition: weatherStateComponent.h:389
DtVrfWeatherCloudState
Definition: vrfWeatherStateEnums.h:24
bool myFoundComponent
Definition: weatherStateComponent.h:443
virtual const DtFrameStateInterface * nextFrameState() const
Definition: weatherStateComponent.h:404
bool isDoubleBuffered()
Definition: weatherStateComponent.h:401
virtual const DtRwWindLevels & windLevels() const
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:111
virtual void setVisibility(const double &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:81
virtual bool windSpeedAndDirectionAtAltitude(double altMSL, double &windSpeed, double &windDirection) const
Given the altitude, return the wind speed and direction.
Definition: weatherStateComponent.h:103
DtStateComponentCreator< DtWeatherStateComponentImplementation > DtWeatherStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: weatherStateComponent.h:448
virtual void clearWindLevels()
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:97
virtual void setWindLevels(const DtRwWindLevels &)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:110
#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:107
virtual void updateStateData(DtStateData *sd) override
Implement to update data storage to the new state data.
Definition: weatherStateComponent.h:422
const DtFrameStateInterface * currentFrameState() const
Definition: weatherStateComponent.h:402
virtual void setVisibilityAndObscurantAtAltitude(const double &altMSL, const double &distance, const int &obs)
Accessors/mutators for wind level.
Definition: weatherStateComponent.h:108
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:104
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:291
void advanceFrame(const DtWeatherStateComponentNextFrame &data)
Definition: weatherStateComponent.h:383

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)