VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLocalEnvironmentalsControllerObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtCloudLayer.h>
16 #include <vrvCore/DtUniqueID.h>
17 
18 #include <matrix/vlVector.h>
19 
20 namespace makVrv
21 {
42  {
43  public:
44 
47 
50 
53 
56 
59 
63  virtual DtCloudLayerId addLayerToCloudCover(const DtCloudLayer& layer, const std::string& coverName);
64 
69  virtual void setZoneOrigin(double x, double y, double z);
70 
79  virtual void setZoneShape(double width, double length, double height, double cornerRadius);
80 
83  virtual void setAirTurbidity(float turbidity);
84 
87  virtual void setAmbientAirTemperature(float temperature);
88 
90  virtual void setAmbientAirPressure(float pressure);
91 
93  virtual void setAirTemperatureAltitude(float altitude);
94 
96  virtual void setAirPressureAltitude(float altitude);
97 
99  virtual void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel);
100 
102  virtual void setAirPressureAltitudeIsSeaLevel(bool seaLevel);
103 
105  virtual void setSeaLevelWaterConcentration(float water);
106 
108  virtual void setLightningPresent(bool lightningPresent);
109 
112  virtual void setPrecipitationType(unsigned int type);
113 
116  virtual void setPrecipitationIntensity(float intensity);
117 
122  virtual void setTimeOfDay(int hour, int minutes, double seconds);
123 
131  virtual void setDateAndTimeOfDay(int year, int month, int day,
132  int hour, int minutes, double seconds);
133 
138  virtual void setUseGlobalTimeZone(bool value);
139 
142  virtual void setTimeOfDayAdvancementSpeed(float speed);
143 
146  virtual void setFogHeight(float value);
147 
150  virtual void setFogColor(const DtVector& color);
151 
156  virtual void setFogColor(float red, float green, float blue);
157 
162  virtual void setFogColor(int red, int green, int blue);
163 
166  virtual void removeElevationalConfiguration(float baseMSLAltitude);
167 
176  virtual void updateOrAddElevationalConfiguration(float baseMSLAltitude,
177  float windSpeed, float windDirection,
178  float visibilityDistance, unsigned int obscurant,
179  int cloudType, float cloudDensity, float skyCoverage);
180 
183  virtual void setSwellState(int state);
184 
187  virtual void setSwellStateDirection(float value);
188 
191  virtual void setSeaState(int state);
192 
195  virtual void setSeaStateDirection(float value);
196 
200  virtual void setWindDrivenSeaStateEnabled(bool value);
201 
204  virtual void setWindFetch(float value);
205 
208  virtual void setSeaChoppiness(float value);
209 
212  virtual void setUnderwaterVisibility(float distance);
213 
216  virtual void setSurfaceTransparency(float value);
217 
220  virtual void setSurgeDepth(float value);
221 
224  virtual void setAmbientWaterTemperature(float temperature);
225 
228  virtual void setWaterCurrentSpeed(float speed);
229 
232  virtual void setWaterCurrentDirection(float direction);
233 
236  virtual void setTidalOffset(float meters);
237 
240  virtual void setTidalDirection(bool inOut);
241 
245  virtual void setThermoclineDepth(unsigned int layer, float value);
246 
250  virtual void setThermoclinePermeability(unsigned int layer, float value);
251 
254  virtual void setGroundSnowAccumulation(float depth);
255 
258  virtual void setRoadSnowAccumulation(float depth);
259 
262  virtual void setSnowMinimumElevation(float elevation);
263 
267  virtual void setSnowElevationTransition(float elevation);
268 
271  virtual void setGroundRainAccumulation(float depth);
272 
273  protected:
274 
280  virtual void computeOriginBasis(DtVector& origin, DtVector& north, DtVector& east, DtVector& up);
281 
290  virtual void updateOrAddCloudForElevation(float baseMSLAltitude,
291  int cloudType, float cloudDensity, float skyCoverage,
292  float visibilityDistance);
293 
297  virtual void refreshCloudLayerThicknessIfNeeded();
298 
301  virtual void adjustWeatherAreaForClouds();
302 
305  virtual const float computeDensityFromVisibility(const float visibility) const;
306 
310  virtual const float computeCloudThickness(const float baseMSLAltitude) const;
311 
312  protected:
313 
315 
317  double myWidth;
318  double myLength;
319  double myHeight;
321 
324  {
326  , localPosition(0, 0, 0)
327  , baseMSLAltitude(0)
328  , cloudType(0)
329  , skyCoverage(0)
330  , visibilityDistance(0)
331  , boundsScale(1)
332  {
333  // intentional noop
334  }
335 
341  float skyCoverage;
343  float boundsScale;
344  };
345 
348  {
349  public:
350  bool operator()(
353  };
354 
356  typedef std::vector<CloudLayerData*> CloudLayerSet;
357 
359 
360  unsigned int myPrecipitationType;
362 
364 
367  float myOvercast;
368 
370 
372  };
373 }
374 
375 
376 
377 
double myHeight
Definition: DtLocalEnvironmentalsControllerObject.h:319
DtVector myFogColor
Definition: DtLocalEnvironmentalsControllerObject.h:365
double myLength
Definition: DtLocalEnvironmentalsControllerObject.h:318
int cloudType
Definition: DtLocalEnvironmentalsControllerObject.h:340
A structure used to store information about a cloud layer.
Definition: DtLocalEnvironmentalsControllerObject.h:323
unsigned int myPrecipitationType
Definition: DtLocalEnvironmentalsControllerObject.h:360
double myCornerRadius
Definition: DtLocalEnvironmentalsControllerObject.h:320
voidpf uLong int origin
Definition: ioapi.h:42
#define DtCloudLayerIdUndefined
Definition: DtCloudLayer.h:29
float visibilityDistance
Definition: DtLocalEnvironmentalsControllerObject.h:342
std::vector< CloudLayerData * > CloudLayerSet
This type defines a set of cloud layers.
Definition: DtLocalEnvironmentalsControllerObject.h:356
float myGroundRainAccumulation
Definition: DtLocalEnvironmentalsControllerObject.h:363
DtVector myOrigin
Definition: DtLocalEnvironmentalsControllerObject.h:316
CloudLayerData()
Definition: DtLocalEnvironmentalsControllerObject.h:325
bool myLightningEnabled
Definition: DtLocalEnvironmentalsControllerObject.h:369
float baseMSLAltitude
Definition: DtLocalEnvironmentalsControllerObject.h:339
DtVector localPosition
Definition: DtLocalEnvironmentalsControllerObject.h:338
A DtLocalEnvironmentalsControllerObject processes enviromental data for a localize weather area...
Definition: DtLocalEnvironmentalsControllerObject.h:41
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Representation of a single cloud layer.
Definition: DtCloudLayer.h:34
DtUniqueID myWeatherAreaId
Definition: DtLocalEnvironmentalsControllerObject.h:371
DtDe & myDe
Definition: DtLocalEnvironmentalsControllerObject.h:314
Contains vrvCore::DtCloudLayerRecord declaration.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Functor for comparing cloud layers by altitude.
Definition: DtLocalEnvironmentalsControllerObject.h:347
float myVisibilityDistance
Definition: DtLocalEnvironmentalsControllerObject.h:366
CloudLayerSet myCloudLayerSet
Definition: DtLocalEnvironmentalsControllerObject.h:358
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
Contains makVrv::DtUniqueID type.
float myOvercast
Definition: DtLocalEnvironmentalsControllerObject.h:367
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtCloudLayerId layerId
Definition: DtLocalEnvironmentalsControllerObject.h:336
float boundsScale
Definition: DtLocalEnvironmentalsControllerObject.h:343
float myPrecipitationIntensity
Definition: DtLocalEnvironmentalsControllerObject.h:361
float skyCoverage
Definition: DtLocalEnvironmentalsControllerObject.h:341
double myWidth
Definition: DtLocalEnvironmentalsControllerObject.h:317
DtCloudLayer cloudLayer
Definition: DtLocalEnvironmentalsControllerObject.h:337
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)