VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtSkyObject.h>
13 
15 
16 #include <string>
17 #include <vector>
18 
19 #include <matrix/vlVector.h>
20 
21 namespace makArchives
22 {
23  class DtCloudLayerRecord;
24  class DtEnvironmentRecord;
25 }
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtAgentManagerInterface;
31  class DtSettingsBackup;
32  class DtOceanLayer;
33  class DtCloudLayer;
34 
39  {
40  public:
41 
42  typedef enum
43  {
48  } PrecipitationType;
49 
52 
54  virtual ~DtEnvironmentInterface();
55 
57 // virtual void clear() = 0;
58 
62  virtual void getRecord(makArchives::DtEnvironmentRecord& record) = 0;
63 
65  virtual void setFromRecord(
66  const makArchives::DtEnvironmentRecord& record) = 0;
67 
69  virtual void saveEnvironment(const std::string& envName) = 0;
72 
74  virtual void removeEnvironment(const std::string& envName) = 0;
75 
77  virtual void renameEnvironment(
78  const std::string& oldName, const std::string& newName) = 0;
79 
81  virtual void getEnvironmentNames(std::vector<std::string>& names) = 0;
82 
84  virtual void setEnvironment(const std::string& envName) = 0;
85 
88  virtual void setDefaultEnvironmentName(const std::string& name) = 0;
89 
92  virtual std::string defaultEnvironmentName() const = 0;
93 
95  virtual void setCloudCover(makArchives::DtCloudCoverType cloudCover) = 0;
106  virtual makArchives::DtCloudCoverType cloudCover() const = 0;
108 
110  virtual void setAirTurbidity(float turbidity) = 0;
112  virtual float airTurbidity() const = 0;
114 
116  virtual void setVisibleDistance(float distance) = 0;
118  virtual float visibleDistance() const = 0;
120 
122  virtual void setPrecipitationType(PrecipitationType type) = 0;
124  virtual PrecipitationType precipitationType() const = 0;
126 
128  virtual void setPrecipitationIntensity(float intensity) = 0;
130  virtual float precipitationIntensity() const = 0;
132 
134  virtual void setWindSpeed(float speed) = 0;
136  virtual float windSpeed() const = 0;
138 
140  virtual void setWindDirection(float direction) = 0;
142  virtual float windDirection() const = 0;
144 
146  virtual void setAmbientAirTemperature(float temperature) = 0;
148  virtual float ambientAirTemperature() const = 0;
150 
152  virtual void setFogHeight(float height) = 0;
154  virtual float fogHeight() const = 0;
156 
158  virtual void setFogColor(const DtVector& color) = 0;
160  virtual DtVector fogColor() const = 0;
162 
164  virtual void setSeaState(int state) = 0;
166  virtual int seaState() const = 0;
168 
170  virtual void setSeaStateDirection(float dir) = 0;
172  virtual float seaStateDirection() const = 0;
174 
176  virtual void setWindDrivenSeaState(bool enabled) = 0;
178  virtual bool windDrivenSeaState() const = 0;
180 
182  virtual void setSwellState(int state) = 0;
184  virtual int swellState() const = 0;
186 
188  virtual void setSwellStateDirection(float dir) = 0;
190  virtual float swellStateDirection() const = 0;
192 
194  virtual void setWindFetch(float distance) = 0;
196  virtual float windFetch() const = 0;
198 
200  virtual void setSeaChoppiness(float chop) = 0;
202  virtual float seaChoppiness() const = 0;
204 
207  virtual void setUnderwaterVisibilityEnabled(bool enabled) = 0;
208  virtual bool underwaterVisibilityEnabled() const = 0;
210 
212  virtual void setUnderwaterVisibility(float distance) = 0;
214  virtual float underwaterVisibility() const = 0;
216 
218  virtual void setWaterSurfaceTransparency(float normalizedValue) = 0;
220  virtual float waterSurfaceTransparency() const = 0;
222 
224  virtual void setSurgeDepth(float meters) = 0;
226  virtual float surgeDepth() const = 0;
228 
230  virtual void setDepthOffset(float meters) = 0;
232  virtual float depthOffset() const = 0;
234 
236  virtual void setAmbientWaterTemperature(float temperature) = 0;
238  virtual float ambientWaterTemperature() const = 0;
240 
242  virtual void setWaterCurrentSpeed(float speed) = 0;
244  virtual float waterCurrentSpeed() const = 0;
246 
248  virtual void setWaterCurrentDirection(float direction) = 0;
251  virtual float waterCurrentDirection() const = 0;
253 
255  virtual void setTidalOffset(float meters) = 0;
257  virtual float tidalOffset() const = 0;
259 
261  virtual void setTidalDirection(bool inOut) = 0;
263  virtual bool tidalDirection() const = 0;
265 
267  virtual void setThermoclineDepth(unsigned int layer, float depth) = 0;
269  virtual float thermoclineDepth(unsigned int layer) const = 0;
271 
273  virtual void setThermoclinePermeability(
275  unsigned int layer, float permeability) = 0;
276  virtual float thermoclinePermeability(unsigned int layer) const = 0;
278 
280  virtual void setGroundSnowAccumulation(float depth) = 0;
282  virtual float groundSnowAccumulation() const = 0;
284 
286  virtual void setRoadSnowAccumulation(float depth) = 0;
288  virtual float roadSnowAccumulation() const = 0;
290 
292  virtual void setSnowMinimumElevation(float elevation) = 0;
294  virtual float snowMinimumElevation() const = 0;
296 
299  virtual void setSnowElevationTransition(float elevation) = 0;
300  virtual float snowElevationTransition() const = 0;
302 
304  virtual void setGroundRainAccumulation(float depth) = 0;
306  virtual float groundRainAccumulation() const = 0;
308 
309  //Called from CTOR to load the default settings.
310  virtual void loadDefaults(bool loadOnlyFactorySettings = false) = 0;
311 
312  // Restores to backup up environment from startup default
313  virtual void restore() = 0;
314 
315  //Called to save the current settings as the default settings.
316  virtual void saveAsDefaults() = 0;
317 
319  virtual void exportSettings(const std::string& filename) = 0;
321  virtual void importSettings(const std::string& filename) = 0;
323 
324  protected:
325 
328 
330  virtual void slot_coordinateSystemChanged() = 0;
331 
333  virtual void slot_oceanLayerAdded(const DtOceanLayer& layer) = 0;
334 
336  virtual void slot_oceanLayerToBeDeleted(const DtOceanLayer& layer) = 0;
337 
339  virtual void slot_oceanLayerSeaLevelChanged(
340  const DtOceanLayer& layer, double seaLevel) = 0;
341 
343  virtual void slot_oceanLayerLodRangeChanged(
344  const DtOceanLayer& layer, int range) = 0;
345 
347  virtual void slot_surgeDepthChanged(double depth) = 0;
348 
350  virtual void slot_depthOffsetChanged(double offset) = 0;
352 
353  };
354 }
Definition: DtSkyObject.h:78
Definition: DtSkyObject.h:81
Definition: surface.h:70
Contains makVrv::DtSkyObject class.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
The DtEnvironmentInterface is an interface class providing abstraction for different managers of envi...
Definition: DtEnvironmentInterface.h:38
DtCloudCoverType
Definition: DtCloudCoverType.h:14
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:24
The ocean layer is a type of terrain layer which contains information about an area that should be re...
Definition: DtOceanLayer.h:27
Definition: DtTacticalGraphicUtilities.h:57
Definition: DtSkyObject.h:77
voidpf uLong offset
Definition: ioapi.h:42
Definition: DtSkyObject.h:76

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)