VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentRecord.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 
16 #include <vector>
17 #include <string>
18 
19 namespace makArchives
20 {
22  {
23  None = 0,
24  Haze,
25  Mist,
26  Fog,
27  Smoke,
29  Dust,
30  Sand
31  };
32 
37  {
38  public:
42  {
43  public:
45  DtColorRecord(float r=1.0f, float g=1.0f, float b=1.0f, float a=1.0f);
46 
48  DtColorRecord(const DtColorRecord& orig);
49 
51  DtColorRecord& operator =(DtColorRecord rhs);
52 
54  ~DtColorRecord();
55 
57  void swap(DtColorRecord& other);
58 
61  void setRed(float r);
62  float red() const;
64 
67  void setGreen(float g);
68  float green() const;
70 
73  void setBlue(float b);
74  float blue() const;
76 
79  void setAlpha(float a);
80  float alpha() const;
82 
83  protected:
84 
85  friend class boost::serialization::access;
86 
91  template<class Archive>
92  void serialize(Archive & ar, const unsigned int version)
93  {
94  ar & BOOST_SERIALIZATION_NVP(myRed);
95  ar & BOOST_SERIALIZATION_NVP(myGreen);
96  ar & BOOST_SERIALIZATION_NVP(myBlue);
97  ar & BOOST_SERIALIZATION_NVP(myAlpha);
98  }
99 
100  private:
101  static float clamp(float component);
102 
103  private:
104  float myRed;
105  float myGreen;
106  float myBlue;
107  float myAlpha;
108  };
109 
113  {
114  public:
116  DtThermoclineRecord(float depth=0.0f, float permeability=0.0);
117 
120 
122  DtThermoclineRecord& operator =(DtThermoclineRecord rhs);
123 
126 
128  void swap(DtThermoclineRecord& other);
129 
132  void setDepth(float meters);
133  float depth() const;
135 
138  void setPermeability(float normalizedValue);
139  float permeability() const;
141 
142  protected:
143 
144  friend class boost::serialization::access;
145 
150  template<class Archive>
151  void serialize(Archive & ar, const unsigned int version)
152  {
153  ar & BOOST_SERIALIZATION_NVP(myDepth);
154  ar & BOOST_SERIALIZATION_NVP(myPermeability);
155  }
156 
157  private:
158  float myDepth;
160  };
161 
166  {
167  public:
169  DtElevationalWindRecord(float mslAltitudeInMeters = 0.0f,
170  float speedInMetersPerSecond = 0.0,
171  float offsetInRadiansFromTrueNorth = 0.0);
172 
175 
178 
181 
183  void swap(DtElevationalWindRecord& other);
184 
188  void setWindSpeed(float speedInMetersPerSecond);
189  float windSpeed() const;
191 
195  void setWindDirection(float offsetInRadiansFromTrueNorth);
196  float windDirection() const;
198 
202  void setBaseMSLAltitude(float mslAltitudeInMeters);
203  float baseMSLAltitude() const;
205 
206  protected:
207 
208  friend class boost::serialization::access;
209 
214  template<class Archive>
215  void serialize(Archive & ar, const unsigned int version)
216  {
217  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
218  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
219  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
220  }
221 
222  private:
224  float myWindSpeed;
226  };
227 
237  {
238  public:
240  DtElevationalConfigurationRecord( float mslAltitudeInMeters = 0.0f,
241  float speedInMetersPerSecond = 0.0,
242  float offsetInRadiansFromTrueNorth = 0.0,
243  float visibilityDistanceInMeters = 20000,
244  VisibilityObscurant visibilityObscurant = VisibilityObscurant::Haze,
245  const std::string& cloudTypeName = "None",
246  float cloudDensity = 0.0,
247  float skyCoverageInOktas = 0.0);
248 
251 
254 
257 
259  void swap(DtElevationalConfigurationRecord& other);
260 
264  void setBaseMSLAltitude(float mslAltitudeInMeters);
265  float baseMSLAltitude() const;
267 
271  void setWindSpeed(float speedInMetersPerSecond);
272  float windSpeed() const;
274 
278  void setWindDirection(float offsetInRadiansFromTrueNorth);
279  float windDirection() const;
281 
285  void setVisibilityDistance(float visibilityInMeters);
286  float visibilityDistance() const;
288 
291  void setObscurant(VisibilityObscurant obscurantEnumerationValue);
292  VisibilityObscurant obscurant() const;
294 
297  void setCloudType(const std::string& cloudTypeEnumerationValue);
298  std::string cloudType() const;
300 
304  void setCloudDensity(float cloudDensity);
305  float cloudDensity() const;
307 
311  void setSkyCoverage(float skyCoverage);
312  float skyCoverage() const;
314 
317  const DtCloudLayerRecord& cloudLayerRecord() const;
318 
321  DtCloudLayerRecord& cloudLayerRecord();
322 
323  protected:
324 
325  friend class boost::serialization::access;
326 
331  template<class Archive>
332  void serialize(Archive & ar, const unsigned int version)
333  {
334  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
335  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
336  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
337  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
338  ar & BOOST_SERIALIZATION_NVP(myObscurant);
339 
340  if (version >= 1)
341  {
342  ar & BOOST_SERIALIZATION_NVP(myCloudLayer);
343 
344  // force the altitudes, of the elevational record and its child
345  // cloud layer record, to be the same
346  myCloudLayer.setPosition(0.0, 0.0, myBaseMSLAltitude);
347  }
348  }
349 
350  private:
352  float myWindSpeed;
354 
357 
359  };
360 
361  typedef std::vector<DtCloudLayerRecord> CloudLayerRecordList;
362  typedef std::vector<DtThermoclineRecord> ThermoclineRecordList;
363  typedef std::vector<DtElevationalWindRecord> ElevationalWindRecordList; // deprecated
364  typedef std::vector<DtElevationalConfigurationRecord> ElevationalConfigurationRecordList;
365  typedef std::map<std::string, std::string> OptionalParameterMap;
366 
369 
372 
374  virtual ~DtEnvironmentRecord();
375 
377  void swap(DtEnvironmentRecord& other);
378 
380  DtEnvironmentRecord& operator =(DtEnvironmentRecord rhs);
381 
384  void setEnvironmentName(const std::string& name);
385  const std::string& environmentName() const;
387 
396  void setIsLocalOnly(bool isLocalOnly);
397  bool isLocalOnly() const;
399 
402  void setAirTurbidity(float turbidity);
403  float airTurbidity() const;
405 
410  void setVisibleDistance(float distance);
411  float visibleDistance() const;
413 
416  void setPrecipitation(int type);
417  int precipitation() const;
419 
422  void setPrecipitationIntensity(float intensity);
423  float precipitationIntensity() const;
425 
429  CloudLayerRecordList& customCloudLayers();
430  const CloudLayerRecordList& customCloudLayers() const;
432 
437  void setCloudCoverType( DtCloudCoverType cloudCoverType );
438  DtCloudCoverType cloudCoverType() const;
440 
443  virtual void setLightningPresent(bool lightningPresent);
444  virtual bool lightningPresent() const;
446 
449  ElevationalConfigurationRecordList& elevationalConfigurations();
450  const ElevationalConfigurationRecordList& elevationalConfigurations() const;
452 
456  virtual void addElevationalConfigurationRecord(DtElevationalConfigurationRecord rec);
457 
460  virtual bool removeElevationalConfigurationRecord(unsigned int index);
461 
465  bool setElevationalConfigurationRecord(
466  unsigned int index, const DtElevationalConfigurationRecord& wRec);
467 
470  const DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index) const;
471 
474  DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index);
475 
481  bool setElevationalConfigurationBaseMSLAltitude(unsigned int index, float baseMSLAltitude);
482 
487  bool getElevationalConfigurationBaseMSLAltitude(unsigned int index, float& baseMSLAltitude) const;
488 
493  bool setElevationalWindSpeed(unsigned int index, float metersPerSecond);
494 
499  bool getElevationalWindSpeed(unsigned int index, float& windSpeed) const;
500 
505  bool setElevationalWindDirection(unsigned int index, float radiansFromNorth);
506 
511  bool getElevationalWindDirection(unsigned int index, float& windDirection) const;
512 
517  bool setElevationalVisibilityDistance(unsigned int index, float meters);
518 
523  bool getElevationalVisibilityDistance(unsigned int index, float& visibilityDistance) const;
524 
529  bool setElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant obscurant);
530 
535  bool getElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant& obscurant) const;
536 
541  bool setElevationalCloudType(unsigned int index, std::string cloudTypeName);
542 
548  bool getElevationalCloudType(unsigned int index, std::string& cloudTypeName) const;
549 
555  bool setElevationalCloudDensity(unsigned int index, float cloudDensity);
556 
562  bool getElevationalCloudDensity(unsigned int index, float& cloudDensity) const;
563 
568  bool setElevationalSkyCoverage(unsigned int index, float cloudCoverage);
569 
575  bool getElevationalSkyCoverage(unsigned int index, float& cloudCoverage) const;
576 
581  void setWindSpeed(float metersPerSecond);
582  float windSpeed() const;
584 
589  void setWindDirection(float radiansFromNorth);
590  float windDirection() const;
592 
595  void setAmbientAirTemperature(float kelvins);
596  float ambientAirTemperature() const;
598 
601  void setSeaState(int douglasScale);
602  int seaState() const;
604 
607  void setSeaStateDirection(float radiansFromNorth);
608  float seaStateDirection() const;
610 
613  void setWindDrivenSeaStateEnabled(bool enabled);
614  bool windDrivenSeaStateEnabled() const;
616 
619  void setSwellState(int douglasScale);
620  int swellState() const;
622 
625  void setSwellStateDirection(float radiansFromNorth);
626  float swellStateDirection() const;
628 
631  void setWindFetch(float meters);
632  float windFetch() const;
634 
637  void setSeaChoppiness(float chop);
638  float seaChoppiness() const;
640 
643  void setUnderwaterVisibilityEnabled(bool enabled);
644  bool underwaterVisibilityEnabled() const;
646 
649  void setUnderwaterVisibility(float meters);
650  float underwaterVisibility() const;
652 
655  void setSurfaceTransparency(float normalizedValue);
656  float surfaceTransparency() const;
658 
661  void setSurgeDepth(float meters);
662  float surgeDepth() const;
664 
667  void setDepthOffset(float meters);
668  float depthOffset() const;
670 
673  void setAmbientWaterTemperature(float kelvins);
674  float ambientWaterTemperature() const;
676 
679  void setWaterCurrentSpeed(float metersPerSecond);
680  float waterCurrentSpeed() const;
682 
685  void setWaterCurrentDirection(float radiansFromNorth);
686  float waterCurrentDirection() const;
688 
691  void setTidalOffset(float meters);
692  float tidalOffset() const;
694 
697  void setTidalDirection(bool inOut);
698  bool tidalDirection() const;
700 
703  void setFogHeight(float meters);
704  float fogHeight() const;
706 
709  void setFogColor(const DtColorRecord& color);
710  const DtColorRecord& fogColor() const;
712 
715  void setThermoclineRecord(
716  unsigned int index, const DtThermoclineRecord& tRec);
717  DtThermoclineRecord thermoclineRecord(unsigned int index) const;
718  void setThermoclineDepth(unsigned int index, float depth);
719  float thermoclineDepth(unsigned int index) const;
720  void setThermoclinePermeability(unsigned int index, float permeability);
721  float thermoclinePermeability(unsigned int index) const;
723 
726  void setGroundSnowAccumulation(float depth);
727  float groundSnowAccumulation() const;
729 
732  void setRoadSnowAccumulation(float depth);
733  float roadSnowAccumulation() const;
735 
738  void setSnowMinimumElevation(float elevation);
739  float snowMinimumElevation() const;
741 
745  void setSnowElevationTransition(float elevation);
746  float snowElevationTransition() const;
748 
751  void setGroundRainAccumulation(float depth);
752  float groundRainAccumulation() const;
754 
757  void setAmbientAirPressure(float pressure);
758  float ambientAirPressure() const;
760 
763  void setAirPressureAltitude(float altitude);
764  float airPressureAltitude() const;
766 
769  void setAirTemperatureAltitude(float altitude);
770  float airTemperatureAltitude() const;
772 
775  void setAirPressureAltitudeIsSeaLevel(bool seaLevel);
776  bool airPressureAltitudeIsSeaLevel() const;
778 
781  void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel);
782  bool airTemperatureAltitudeIsSeaLevel() const;
784 
787  void setSeaLevelWaterConcentration(float water);
788  float seaLevelWaterConcentration() const;
790 
793  virtual const std::string*
794  findOptionalParameter(const std::string& name) const;
795 
797  virtual void setOptionalParameter(
798  const std::string& name, const std::string& value);
799 
802  virtual void setOptionalParameters(const OptionalParameterMap&);
803 
805  virtual void removeOptionalParameter(const std::string& name);
806 
808  const OptionalParameterMap& optionalParameters() const;
810 
811  protected:
812 
816  virtual void sortElevationalWindRecordsByBaseMSLAltitude();
817 
822  virtual void sortElevationalConfigurationRecordsByBaseMSLAltitude();
823 
825  virtual void copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
826 
827  friend class boost::serialization::access;
828 
832  template<class Archive>
833  void serialize(Archive & ar, const unsigned int version)
834  {
835  ar & BOOST_SERIALIZATION_NVP(myAirTurbidity);
836 
837  if (version < 12)
838  {
839  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
840 
841  bool foundConfig = false;
842  for (auto& config : elevationalConfigurations())
843  {
844  // search for config at base MSL altitude 0.0
845  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
846  {
847  // found config
848  config.setVisibilityDistance(myVisibilityDistance);
849  foundConfig = true;
850  }
851  }
852 
853  if (!foundConfig)
854  {
855  // never found config for base MSL altitude 0.0, add one
856  DtElevationalConfigurationRecord newRec(0.0f, 0.0f, 0.0f, myVisibilityDistance);
857  addElevationalConfigurationRecord(newRec);
858  }
859  }
860  else
861  {
862  ar & BOOST_SERIALIZATION_NVP(myElevationalConfigurations);
863 
864  for (auto& config : elevationalConfigurations())
865  {
866  // search for config at base MSL altitude 0.0
867  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
868  {
869  // found config
870  myVisibilityDistance = config.visibilityDistance();
871  }
872  }
873  }
874 
875  if (version < 4)
876  {
877  ar & BOOST_SERIALIZATION_NVP(myPrecipitationEnabledFlag);
878  ar & BOOST_SERIALIZATION_NVP(myPrecipitationType);
879  if (myPrecipitationEnabledFlag && myPrecipitationType == "Rain")
880  {
881  myPrecipitation = 1;
882  }
883  else if (myPrecipitationEnabledFlag && myPrecipitationType == "Snow")
884  {
885  myPrecipitation = 2;
886  }
887  else
888  {
889  myPrecipitationType = "None";
890  myPrecipitation = 0;
891  }
892  }
893  ar & BOOST_SERIALIZATION_NVP(myPrecipitationIntensity);
894  ar & BOOST_SERIALIZATION_NVP(myCloudLayers);
895  if (version < 11)
896  {
897  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
898  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
899 
900  bool foundConfig = false;
901  for (auto& config : elevationalConfigurations())
902  {
903  // search for config at base MSL altitude 0.0
904  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
905  {
906  // found config
907  config.setWindSpeed(myWindSpeed);
908  config.setWindDirection(myWindDirection);
909  foundConfig = true;
910  }
911  }
912 
913  if (!foundConfig)
914  {
915  // never found config for base MSL altitude 0.0, add one
916  DtElevationalConfigurationRecord newRec(0.0f, myWindSpeed, myWindDirection);
917  addElevationalConfigurationRecord(newRec);
918  }
919  }
920  else if (version == 11)
921  {
922  ar & BOOST_SERIALIZATION_NVP(myWindConfigurations);
923  copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
924  }
925  if(version >= 1)
926  {
927  ar & BOOST_SERIALIZATION_NVP(myAmbientAirTemperature);
928  ar & BOOST_SERIALIZATION_NVP(mySeaState);
929  ar & BOOST_SERIALIZATION_NVP(mySeaChoppiness);
930  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibility);
931  ar & BOOST_SERIALIZATION_NVP(myAmbientWaterTemperature);
932  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentSpeed);
933  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentDirection);
934  ar & BOOST_SERIALIZATION_NVP(myTidalOffset);
935  ar & BOOST_SERIALIZATION_NVP(myTidalDirection);
936  }
937  if (version >= 2)
938  {
939  ar & BOOST_SERIALIZATION_NVP(myEnvironmentName);
940  if (version >= 14)
941  {
942  ar & BOOST_SERIALIZATION_NVP(myIsLocalOnly);
943  }
944  ar & BOOST_SERIALIZATION_NVP(myOptionalParameters);
945  }
946  if (version >= 3)
947  {
948  ar & BOOST_SERIALIZATION_NVP(mySeaStateDirection);
949  ar & BOOST_SERIALIZATION_NVP(myWindDrivenSeaStateEnabled);
950  ar & BOOST_SERIALIZATION_NVP(mySwellState);
951  ar & BOOST_SERIALIZATION_NVP(mySwellStateDirection);
952  ar & BOOST_SERIALIZATION_NVP(myWindFetch);
953  ar & BOOST_SERIALIZATION_NVP(mySurfaceTransparency);
954  ar & BOOST_SERIALIZATION_NVP(mySurgeDepth);
955  ar & BOOST_SERIALIZATION_NVP(myDepthOffset);
956  }
957  if (version >= 4)
958  {
959  ar & BOOST_SERIALIZATION_NVP(myFogHeight);
960  ar & BOOST_SERIALIZATION_NVP(myFogColor);
961  ar & BOOST_SERIALIZATION_NVP(myPrecipitation);
962  ar & BOOST_SERIALIZATION_NVP(myThermoclineRecordList);
963  }
964  if (version >= 5)
965  {
966  ar & BOOST_SERIALIZATION_NVP(myCloudCoverType);
967  if (version < 7)
968  {
969  ar & BOOST_SERIALIZATION_NVP(myUseCustomCloudCover);
970  }
971  }
972  if (version >= 6)
973  {
974  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibilityEnabled);
975  }
976  if (version >= 8)
977  {
978  ar & BOOST_SERIALIZATION_NVP(myGroundSnowAccumulation);
979  ar & BOOST_SERIALIZATION_NVP(myRoadSnowAccumulation);
980  ar & BOOST_SERIALIZATION_NVP(mySnowMinimumElevation);
981  ar & BOOST_SERIALIZATION_NVP(mySnowElevationTransition);
982  }
983  if (version >= 9)
984  {
985  ar & BOOST_SERIALIZATION_NVP(myGroundRainAccumulation);
986  }
987  if (version >= 10)
988  {
989  ar & BOOST_SERIALIZATION_NVP(myAirPressure);
990  }
991  if (version >= 12)
992  {
993  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitude);
994  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitude);
995  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitudeIsSeaLevel);
996  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitudeIsSeaLevel);
997  ar & BOOST_SERIALIZATION_NVP(mySeaLevelWaterConcentration);
998  }
999  if (version >= 13)
1000  {
1001  ar & BOOST_SERIALIZATION_NVP(myLightningPresent);
1002  }
1003  }
1004 
1005  std::string myEnvironmentName;
1007 
1014 
1015  // Old Wind Speed and Wind Direction - Needed to support versions < 11
1018 
1019  // Old Global Visibility - Needed to support versions < 12
1021 
1022  // Old Wind-Specific Elevational Configuration - Needed to support version 11
1024 
1025  // New Elevational (versions >= 12):
1026  // - Wind Speed and Wind Direction
1027  // - Visibility Distance and Obscurant
1029 
1031 
1043 
1049 
1052 
1054  // obsolete as of version 7 (it was never actually used)
1056 
1058 
1059  // obsolete as of version 4
1061  std::string myPrecipitationType;
1062 
1064 
1070 
1072 
1078  };
1079 
1080 }
1081 
1083 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtThermoclineRecord, 0)
1084 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalWindRecord, 0)
1085 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord, 1)
1086 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord, 14)
bool myAirPressureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1075
ElevationalWindRecordList myWindConfigurations
Definition: DtEnvironmentRecord.h:1023
VisibilityObscurant myObscurant
Definition: DtEnvironmentRecord.h:356
float myAirTurbidity
Definition: DtEnvironmentRecord.h:1008
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtEnvironmentRecord.h:92
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
float myDepthOffset
Definition: DtEnvironmentRecord.h:1042
bool myUnderwaterVisibilityEnabled
Definition: DtEnvironmentRecord.h:1063
float myWaterCurrentDirection
Definition: DtEnvironmentRecord.h:1046
DtColorRecord myFogColor
Definition: DtEnvironmentRecord.h:1051
bool myWindDrivenSeaStateEnabled
Definition: DtEnvironmentRecord.h:1034
std::vector< DtElevationalWindRecord > ElevationalWindRecordList
Definition: DtEnvironmentRecord.h:363
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:351
float mySurfaceTransparency
Definition: DtEnvironmentRecord.h:1040
float myRoadSnowAccumulation
Definition: DtEnvironmentRecord.h:1066
bool myTidalDirection
Definition: DtEnvironmentRecord.h:1048
std::map< std::string, std::string > OptionalParameterMap
Definition: DtEnvironmentRecord.h:365
float myAirPressureAltitude
Definition: DtEnvironmentRecord.h:1073
float mySeaStateDirection
Definition: DtEnvironmentRecord.h:1033
float mySnowMinimumElevation
Definition: DtEnvironmentRecord.h:1067
float myGroundRainAccumulation
Definition: DtEnvironmentRecord.h:1069
float myPermeability
Definition: DtEnvironmentRecord.h:159
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:223
DtCloudLayerRecord myCloudLayer
Definition: DtEnvironmentRecord.h:358
float mySnowElevationTransition
Definition: DtEnvironmentRecord.h:1068
float myWaterCurrentSpeed
Definition: DtEnvironmentRecord.h:1045
std::vector< DtThermoclineRecord > ThermoclineRecordList
Definition: DtEnvironmentRecord.h:362
std::string myPrecipitationType
Definition: DtEnvironmentRecord.h:1061
float myWindSpeed
Definition: DtEnvironmentRecord.h:352
float myGreen
Definition: DtEnvironmentRecord.h:105
Contains DLL export macros.
float myBlue
Definition: DtEnvironmentRecord.h:106
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
float myAirTemperatureAltitude
Definition: DtEnvironmentRecord.h:1074
float myAirPressure
Definition: DtEnvironmentRecord.h:1071
float myWindSpeed
Definition: DtEnvironmentRecord.h:1016
float myWindSpeed
Definition: DtEnvironmentRecord.h:224
int mySeaState
Definition: DtEnvironmentRecord.h:1032
ThermoclineRecordList myThermoclineRecordList
Definition: DtEnvironmentRecord.h:1053
float myAlpha
Definition: DtEnvironmentRecord.h:107
float myUnderwaterVisibility
Definition: DtEnvironmentRecord.h:1039
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:236
float mySeaChoppiness
Definition: DtEnvironmentRecord.h:1038
bool myAirTemperatureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1076
Record of thermocline settings.
Definition: DtEnvironmentRecord.h:112
bool myUseCustomCloudCover
Definition: DtEnvironmentRecord.h:1055
Contains makArchives::DtCloudLayerRecord class.
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:1020
bool myPrecipitationEnabledFlag
Definition: DtEnvironmentRecord.h:1060
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtEnvironmentRecord.h:215
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...
std::vector< DtCloudLayerRecord > CloudLayerRecordList
Definition: DtEnvironmentRecord.h:361
Record of a single cloud layer&#39;s settings.
Definition: DtCloudLayerRecord.h:17
float mySurgeDepth
Definition: DtEnvironmentRecord.h:1041
DtCloudCoverType
Definition: DtCloudCoverType.h:14
Record of color settings.
Definition: DtEnvironmentRecord.h:41
OptionalParameterMap myOptionalParameters
Definition: DtEnvironmentRecord.h:1057
float myTidalOffset
Definition: DtEnvironmentRecord.h:1047
float myPrecipitationIntensity
Definition: DtEnvironmentRecord.h:1010
float myRed
Definition: DtEnvironmentRecord.h:104
float myAmbientAirTemperature
Definition: DtEnvironmentRecord.h:1030
ElevationalConfigurationRecordList myElevationalConfigurations
Definition: DtEnvironmentRecord.h:1028
std::string myEnvironmentName
Definition: DtEnvironmentRecord.h:1005
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:36
float myWindDirection
Definition: DtEnvironmentRecord.h:225
DtCloudCoverType myCloudCoverType
Definition: DtEnvironmentRecord.h:1012
float myAmbientWaterTemperature
Definition: DtEnvironmentRecord.h:1044
int myPrecipitation
Definition: DtEnvironmentRecord.h:1009
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtEnvironmentRecord.h:151
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtEnvironmentRecord.h:833
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtEnvironmentRecord.h:332
bool myIsLocalOnly
Definition: DtEnvironmentRecord.h:1006
CloudLayerRecordList myCloudLayers
Definition: DtEnvironmentRecord.h:1011
bool myLightningPresent
Definition: DtEnvironmentRecord.h:1013
float myFogHeight
Definition: DtEnvironmentRecord.h:1050
float myDepth
Definition: DtEnvironmentRecord.h:158
float myGroundSnowAccumulation
Definition: DtEnvironmentRecord.h:1065
float myWindDirection
Definition: DtEnvironmentRecord.h:1017
std::vector< DtElevationalConfigurationRecord > ElevationalConfigurationRecordList
Definition: DtEnvironmentRecord.h:364
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:355
int mySwellState
Definition: DtEnvironmentRecord.h:1035
float mySeaLevelWaterConcentration
Definition: DtEnvironmentRecord.h:1077
float mySwellStateDirection
Definition: DtEnvironmentRecord.h:1036
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
Record for an elevational wind configuration.
Definition: DtEnvironmentRecord.h:165
float myWindDirection
Definition: DtEnvironmentRecord.h:353
float myWindFetch
Definition: DtEnvironmentRecord.h:1037

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)