VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLayeredEnvironmentDataBase.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtEnvironment.h>
15 
18 
20 
21 #include <unordered_map>
22 
23 namespace makVrv
24 {
36  {
37  public:
40 
43 
46 
49 
50  public:
52  virtual void addElevationalConfiguration(DtUniqueID layerId);
53 
55  virtual float removeElevationalConfiguration(DtUniqueID layerId);
56 
59  virtual void setAirPressure(float pressure);
60  virtual float airPressure() const;
62 
65  virtual void setAirTemperature(float temp);
66  virtual float airTemperature() const;
68 
71  virtual void setPrecipitationType(DtEnvironment::PrecipitationType precipType);
72  virtual DtEnvironment::PrecipitationType precipitationType() const;
74 
77  virtual void setPrecipitationIntensity(float intensity);
78  virtual float precipitationIntensity() const;
80 
83  virtual void setSeaLevelWaterConcentration(float concentration);
84  virtual float seaLevelWaterConcentration() const;
86 
89  virtual void setLightningPresent(bool present);
90  virtual bool lightningPresent() const;
92 
95  virtual void setSnowMinimumElevation(float elevation);
96  virtual float snowMinimumElevation() const;
98 
101  virtual void setRoadSnowAccumulation(float accumulation);
102  virtual float roadSnowAccumulation() const;
104 
107  virtual void setGroundRainAccumulation(float accumulation);
108  virtual float groundRainAccumulation() const;
110 
113  virtual void setGroundSnowAccumulation(float accumulation);
114  virtual float groundSnowAccumulation() const;
116 
119  virtual void setFogColor(const makArchives::DtEnvironmentRecord::DtColorRecord& color);
120  virtual const makArchives::DtEnvironmentRecord::DtColorRecord& fogColor() const;
122 
125  virtual void setFogHeight(float meters);
126  virtual float fogHeight() const;
128 
131  virtual void setAirTemperatureAltitude(float value);
132  virtual float airTemperatureAltitude() const;
134 
137  virtual void setAirPressureAltitude(float value);
138  virtual float airPressureAltitude() const;
140 
143  virtual void setSwellState(DtDouglasSwellState::Scale state);
144  virtual DtDouglasSwellState::Scale swellState() const;
146 
149  virtual void setSwellStateDirection(float value);
150  virtual float swellStateDirection() const;
152 
155  virtual void setSeaState(DtDouglasSeaState::Scale state);
156  virtual DtDouglasSeaState::Scale seaState() const;
158 
161  virtual void setSeaStateDirection(float value);
162  virtual float seaStateDirection() const;
164 
168  virtual void setWindDrivenSeaStateEnabled(bool value);
169  virtual bool windDrivenSeaStateEnabled() const;
171 
174  virtual void setWindFetch(float value);
175  virtual float windFetch() const;
177 
180  virtual void setSeaChoppiness(float value);
181  virtual float seaChoppiness() const;
183 
186  virtual void setUnderwaterVisibility(float distance);
187  virtual float underwaterVisibility() const;
189 
192  virtual void setSurfaceTransparency(float value);
193  virtual float surfaceTransparency() const;
195 
198  virtual void setSurgeDepth(float value);
199  virtual float surgeDepth() const;
201 
204  virtual void setAmbientWaterTemperature(float temperature);
205  virtual float ambientWaterTemperature() const;
207 
210  virtual void setWaterCurrentSpeed(float speed);
211  virtual float waterCurrentSpeed() const;
212 
215  virtual void setWaterCurrentDirection(float direction);
216  virtual float waterCurrentDirection() const;
218 
221  virtual void setTidalOffset(float meters);
222  virtual float tidalOffset() const;
224 
227  virtual void setDateAndTimeOfDay(int year, int month, int day, int hour, int minutes, double seconds);
228  virtual void getDateAndTimeOfDay(int& year, int& month, int& day, int& hour, int& minutes, double& seconds) const;
230 
234  virtual void setUseGlobalTimeZone(bool useOrNot);
235  virtual bool useGlobalTimeZone() const;
237 
240  virtual void setTimeOfDayAdvancementSpeed(float speed);
241  virtual float timeOfDayAdvancementSpeed() const;
243 
247  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setBaseMSLAltitude(DtUniqueID layerId, float mslAltitudeInMeters);
248  virtual float baseMSLAltitude(DtUniqueID layerId) const;
250 
254  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindSpeed(DtUniqueID layerId, float speedInMetersPerSecond);
255  virtual float windSpeed(DtUniqueID layerId) const;
257 
262  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindDirection(DtUniqueID layerId, float offsetInRadiansFromTrueNorth);
263  virtual float windDirection(DtUniqueID layerId) const;
265 
269  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setVisibilityDistance(DtUniqueID layerId, float visibilityInMeters);
270  virtual float visibilityDistance(DtUniqueID layerId) const;
272 
277  virtual makArchives::VisibilityObscurant obscurant(DtUniqueID layerId) const;
279 
283  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudType(DtUniqueID layerId, const std::string& cloudTypeName);
284  virtual std::string cloudType(DtUniqueID layerId) const;
286 
291  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudDensity(DtUniqueID layerId, float cloudDensity);
292  virtual float cloudDensity(DtUniqueID layerId) const;
294 
299  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setSkyCoverage(DtUniqueID layerId, float skyCoverage);
300  virtual float skyCoverage(DtUniqueID layerId) const;
302 
306 
309  virtual const makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* findElevationRecord(DtUniqueID layerId) const;
310 
311  protected:
312 
314  std::unordered_map<DtUniqueID, makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord> myElevationRecords;
317  };
318 }
DtLayeredEnvironmentDataBase is a container class that can be used to maintain the global or a local ...
Definition: DtLayeredEnvironmentDataBase.h:35
The declaration of the makVrv::DtEnvironment class.
Record of application-wide date/time settings.
Definition: DtDateTimeRecord.h:19
bool myUseGlobalTimeZone
Definition: DtLayeredEnvironmentDataBase.h:316
Contains makArchives::DtDateTimeRecord class.
std::unordered_map< DtUniqueID, makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > myElevationRecords
Definition: DtLayeredEnvironmentDataBase.h:314
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:242
Scale
Definition: DtDouglasSeaScale.h:33
makArchives::DtEnvironmentRecord myEnvironmentRecord
Definition: DtLayeredEnvironmentDataBase.h:313
Contains makVrv::DtVirtualBaseClass class.
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...
The declaration of the makArchives::DtEnvironmentRecord class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Scale
Definition: DtDouglasSeaScale.h:114
Record of color settings.
Definition: DtEnvironmentRecord.h:41
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:36
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
PrecipitationType
Definition: DtEnvironmentInterface.h:44
makArchives::DtDateTimeRecord myDateAndTimeRecord
Definition: DtLayeredEnvironmentDataBase.h:315
Contains DLL export macros.

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)