VR-Forces 4.10 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) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtSkyObject.h>
13 
15 
17 
18 #include <string>
19 #include <vector>
20 
21 #include <matrix/vlVector.h>
22 
23 namespace makArchives
24 {
25  class DtCloudLayerRecord;
26 }
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtAgentManagerInterface;
32  class DtSettingsBackup;
33  class DtOceanLayer;
34  class DtCloudLayer;
35 
40  {
41  public:
42 
43  typedef enum
44  {
51  } PrecipitationType;
52 
55 
57 
59  const static float theMaximumVisibilityDistance;
60 
63 
65  virtual ~DtEnvironmentInterface();
66 
70  virtual void getRecord(makArchives::DtEnvironmentRecord& record) = 0;
71 
73  virtual void setFromRecord(
74  const makArchives::DtEnvironmentRecord& record) = 0;
75 
77  virtual void saveEnvironment(const std::string& envName) = 0;
80 
82  virtual void removeEnvironment(const std::string& envName) = 0;
83 
85  virtual void renameEnvironment(
86  const std::string& oldName, const std::string& newName) = 0;
87 
92  virtual void getEnvironmentNames(std::vector<std::string>& names,
93  bool includeLocalOnlyEnvironment = false) = 0;
94 
96  virtual void setEnvironment(const std::string& envName) = 0;
97 
100  virtual void setDefaultEnvironmentName(const std::string& name) = 0;
101 
104  virtual std::string defaultEnvironmentName() const = 0;
105 
107  virtual void setLightningPresent(bool lightningPresent) = 0;
109  virtual bool lightningPresent() const = 0;
111 
113  virtual void setAirTurbidity(float turbidity) = 0;
115  virtual float airTurbidity() const = 0;
117 
119  virtual void setVisibleDistance(float distance) = 0;
124  virtual float visibleDistance() const = 0;
126 
128  virtual void setWindSpeed(float windSpeed) = 0;
133  virtual float windSpeed() const = 0;
135 
137  virtual void setWindDirection(float direction) = 0;
142  virtual float windDirection() const = 0;
144 
146  virtual void setPrecipitationType(PrecipitationType type) = 0;
148  virtual PrecipitationType precipitationType() const = 0;
150 
152  virtual void setPrecipitationIntensity(float intensity) = 0;
154  virtual float precipitationIntensity() const = 0;
156 
167  virtual void updateOrAddElevationalConfiguration(const DtElevationalConfigurationRecord& record) = 0;
168 
176  virtual bool getElevationalConfiguration(float baseMSLAltitude,
178 
186  virtual void removeElevationalConfiguration(float baseMSLAltitude) = 0;
187 
198  virtual void moveElevationalConfiguration(
199  float oldBaseMSLAltitude, float newBaseMSLAltitude) = 0;
200 
205  virtual void setWindSpeedAtMSLAltitude(float mslAltitude, float windSpeed) = 0;
206 
212  virtual float windSpeedAtMSLAltitude(float mslAltitude) const = 0;
213 
219  virtual void setWindDirectionAtMSLAltitude(float mslAltitude, float windDirection) = 0;
220 
226  virtual float windDirectionAtMSLAltitude(float mslAltitude) const = 0;
227 
233  virtual void setVisibilityDistanceAtMSLAltitude(float mslAltitude, float visibilityDistance) = 0;
234 
240  virtual float visibilityDistanceAtMSLAltitude(float mslAltitude) const = 0;
241 
247  virtual void setObscurantAtMSLAltitude(float mslAltitude, VisibilityObscurant obscurant) = 0;
248 
254  virtual VisibilityObscurant obscurantAtMSLAltitude(float mslAltitude) const = 0;
255 
261  virtual void setCloudTypeAtMSLAltitude(float mslAltitude, CloudType cloudType) = 0;
262 
268  virtual CloudType cloudTypeAtMSLAltitude(float mslAltitude) const = 0;
269 
274  virtual void setSkyCoverageAtMSLAltitude(float mslAltitude, float skyCoverage) = 0;
275 
280  virtual float skyCoverageAtMSLAltitude(float mslAltitude) const = 0;
281 
283  virtual void setAmbientAirTemperature(float temperature) = 0;
285  virtual float ambientAirTemperature() const = 0;
287 
289  virtual void setAmbientAirPressure(float pressure) = 0;
291  virtual float ambientAirPressure() const = 0;
293 
296  virtual void setAirPressureAltitude(float altitude) = 0;
297  virtual float airPressureAltitude() const = 0;
299 
302  virtual void setAirTemperatureAltitude(float altitude) = 0;
303  virtual float airTemperatureAltitude() const = 0;
305 
308  virtual void setAirPressureAltitudeIsSeaLevel(bool seaLevel) = 0;
309  virtual bool airPressureAltitudeIsSeaLevel() const = 0;
311 
314  virtual void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel) = 0;
315  virtual bool airTemperatureAltitudeIsSeaLevel() const = 0;
317 
320  virtual void setSeaLevelWaterConcentration(float water) = 0;
321  virtual float seaLevelWaterConcentration() const = 0;
323 
325  virtual void setFogHeight(float height) = 0;
327  virtual float fogHeight() const = 0;
329 
331  virtual void setFogColor(const DtVector& color) = 0;
333  virtual DtVector fogColor() const = 0;
335 
337  virtual void setGroundFogColor(const DtVector& color) = 0;
339  virtual DtVector groundFogColor() const = 0;
341 
343  virtual void setSeaState(int state) = 0;
345  virtual int seaState() const = 0;
347 
349  virtual void setSeaStateDirection(float dir) = 0;
351  virtual float seaStateDirection() const = 0;
353 
355  virtual void setWindDrivenSeaState(bool enabled) = 0;
357  virtual bool windDrivenSeaState() const = 0;
359 
361  virtual void setSwellState(int state) = 0;
363  virtual int swellState() const = 0;
365 
367  virtual void setSwellStateDirection(float dir) = 0;
369  virtual float swellStateDirection() const = 0;
371 
373  virtual void setWindFetch(float distance) = 0;
375  virtual float windFetch() const = 0;
377 
379  virtual void setSeaChoppiness(float chop) = 0;
381  virtual float seaChoppiness() const = 0;
383 
386  virtual void setUnderwaterVisibilityEnabled(bool enabled) = 0;
387  virtual bool underwaterVisibilityEnabled() const = 0;
389 
391  virtual void setUnderwaterVisibility(float distance) = 0;
393  virtual float underwaterVisibility() const = 0;
395 
397  virtual void setWaterSurfaceTransparency(float normalizedValue) = 0;
399  virtual float waterSurfaceTransparency() const = 0;
401 
403  virtual void setSurgeDepth(float meters) = 0;
405  virtual float surgeDepth() const = 0;
407 
409  virtual void setDepthOffset(float meters) = 0;
411  virtual float depthOffset() const = 0;
413 
415  virtual void setAmbientWaterTemperature(float temperature) = 0;
417  virtual float ambientWaterTemperature() const = 0;
419 
421  virtual void setWaterCurrentSpeed(float speed) = 0;
423  virtual float waterCurrentSpeed() const = 0;
425 
427  virtual void setWaterCurrentDirection(float direction) = 0;
430  virtual float waterCurrentDirection() const = 0;
432 
434  virtual void setTidalOffset(float meters) = 0;
436  virtual float tidalOffset() const = 0;
438 
440  virtual void setTidalDirection(bool inOut) = 0;
442  virtual bool tidalDirection() const = 0;
444 
446  virtual void setThermoclineDepth(unsigned int layer, float depth) = 0;
448  virtual float thermoclineDepth(unsigned int layer) const = 0;
450 
452  virtual void setThermoclinePermeability(
454  unsigned int layer, float permeability) = 0;
455  virtual float thermoclinePermeability(unsigned int layer) const = 0;
457 
459  virtual void setGroundSnowAccumulation(float depth) = 0;
461  virtual float groundSnowAccumulation() const = 0;
463 
465  virtual void setRoadSnowAccumulation(float depth) = 0;
467  virtual float roadSnowAccumulation() const = 0;
469 
471  virtual void setSnowMinimumElevation(float elevation) = 0;
473  virtual float snowMinimumElevation() const = 0;
475 
479  virtual void setSnowElevationTransition(float elevation) = 0;
480  virtual float snowElevationTransition() const = 0;
482 
484  virtual void setGroundRainAccumulation(float depth) = 0;
486  virtual float groundRainAccumulation() const = 0;
488 
489  //Called from CTOR to load the default settings.
490  virtual void loadDefaults(bool loadOnlyFactorySettings = false) = 0;
491 
492  // Restores to backup up environment from startup default
493  virtual void restore() = 0;
494 
495  //Called to save the current settings as the default settings.
496  virtual void saveAsDefaults() = 0;
497 
499  virtual void exportSettings(const std::string& filename) = 0;
501  virtual void importSettings(const std::string& filename) = 0;
503 
504  protected:
505 
508 
510  virtual void slot_coordinateSystemChanged() = 0;
511 
513  virtual void slot_oceanLayerAdded(const DtOceanLayer& layer) = 0;
514 
516  virtual void slot_oceanLayerToBeDeleted(const DtOceanLayer& layer) = 0;
517 
519  virtual void slot_oceanLayerSeaLevelChanged(
520  const DtOceanLayer& layer, double seaLevel) = 0;
521 
523  virtual void slot_oceanLayerLodRangeChanged(
524  const DtOceanLayer& layer, int range) = 0;
525 
527  virtual void slot_surgeDepthChanged(double depth) = 0;
528 
530  virtual void slot_depthOffsetChanged(double offset) = 0;
532 
533  };
534 }
makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord DtElevationalConfigurationRecord
Definition: DtEnvironmentInterface.h:54
Definition: DtSkyObject.h:78
Definition: DtSkyObject.h:81
makArchives::VisibilityObscurant VisibilityObscurant
Definition: DtEnvironmentInterface.h:53
Definition: surface.h:70
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
Contains makVrv::DtSkyObject class.
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:236
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:39
The declaration of the makArchives::DtEnvironmentRecord class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:36
Definition: DtSkyObject.h:80
The declaration of the makVrv::DtCloudTypeMapper class.
DtCloudTypeMapper::CloudType CloudType
Definition: DtEnvironmentInterface.h:56
PrecipitationType
Definition: DtEnvironmentInterface.h:43
The ocean layer is a type of terrain layer which contains information about an area that should be re...
Definition: DtOceanLayer.h:25
static const float theMaximumVisibilityDistance
Maximum Visibility Distance.
Definition: DtEnvironmentInterface.h:59
Definition: DtSkyObject.h:82
Definition: DtSkyObject.h:77
voidpf uLong offset
Definition: ioapi.h:42
Definition: DtSkyObject.h:76
CloudType
Cloud layer types.
Definition: DtCloudTypeMapper.h:35

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)