VR-Forces 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  bool operator ==(const DtColorRecord& rhs) const;
55 
57  bool operator !=(const DtColorRecord& rhs) const;
58 
60  ~DtColorRecord();
61 
63  void swap(DtColorRecord& other);
64 
67  void setRed(float r);
68  float red() const;
70 
73  void setGreen(float g);
74  float green() const;
76 
79  void setBlue(float b);
80  float blue() const;
82 
85  void setAlpha(float a);
86  float alpha() const;
88 
89  protected:
90 
91  friend class boost::serialization::access;
92 
97  template<class Archive>
98  void serialize(Archive & ar, const unsigned int version)
99  {
100  ar & BOOST_SERIALIZATION_NVP(myRed);
101  ar & BOOST_SERIALIZATION_NVP(myGreen);
102  ar & BOOST_SERIALIZATION_NVP(myBlue);
103  ar & BOOST_SERIALIZATION_NVP(myAlpha);
104  }
105 
106  protected:
107  static float clamp(float component);
108 
109  protected:
110  float myRed;
111  float myGreen;
112  float myBlue;
113  float myAlpha;
114  };
115 
119  {
120  public:
122  DtThermoclineRecord(float depth=0.0f, float permeability=0.0);
123 
126 
128  DtThermoclineRecord& operator =(DtThermoclineRecord rhs);
129 
132 
134  void swap(DtThermoclineRecord& other);
135 
138  void setDepth(float meters);
139  float depth() const;
141 
144  void setPermeability(float normalizedValue);
145  float permeability() const;
147 
148  protected:
149 
150  friend class boost::serialization::access;
151 
156  template<class Archive>
157  void serialize(Archive & ar, const unsigned int version)
158  {
159  ar & BOOST_SERIALIZATION_NVP(myDepth);
160  ar & BOOST_SERIALIZATION_NVP(myPermeability);
161  }
162 
163  protected:
164  float myDepth;
166  };
167 
172  {
173  public:
175  DtElevationalWindRecord(float mslAltitudeInMeters = 0.0f,
176  float speedInMetersPerSecond = 0.0,
177  float offsetInRadiansFromTrueNorth = 0.0);
178 
181 
184 
187 
189  void swap(DtElevationalWindRecord& other);
190 
194  void setWindSpeed(float speedInMetersPerSecond);
195  float windSpeed() const;
197 
201  void setWindDirection(float offsetInRadiansFromTrueNorth);
202  float windDirection() const;
204 
208  void setBaseMSLAltitude(float mslAltitudeInMeters);
209  float baseMSLAltitude() const;
211 
212  protected:
213 
214  friend class boost::serialization::access;
215 
220  template<class Archive>
221  void serialize(Archive & ar, const unsigned int version)
222  {
223  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
224  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
225  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
226  }
227 
228  protected:
230  float myWindSpeed;
232  };
233 
243  {
244  public:
246  DtElevationalConfigurationRecord( float mslAltitudeInMeters = 0.0f,
247  float speedInMetersPerSecond = 0.0,
248  float offsetInRadiansFromTrueNorth = 0.0,
249  float visibilityDistanceInMeters = 20000,
250  VisibilityObscurant visibilityObscurant = VisibilityObscurant::Haze,
251  const std::string& cloudTypeName = "None",
252  float cloudDensity = 0.0,
253  float skyCoverageInOktas = 0.0);
254 
257 
260 
263 
265  void swap(DtElevationalConfigurationRecord& other);
266 
270  void setBaseMSLAltitude(float mslAltitudeInMeters);
271  float baseMSLAltitude() const;
273 
277  void setWindSpeed(float speedInMetersPerSecond);
278  float windSpeed() const;
280 
284  void setWindDirection(float offsetInRadiansFromTrueNorth);
285  float windDirection() const;
287 
291  void setVisibilityDistance(float visibilityInMeters);
292  float visibilityDistance() const;
294 
297  void setObscurant(VisibilityObscurant obscurantEnumerationValue);
298  VisibilityObscurant obscurant() const;
300 
303  void setCloudType(const std::string& cloudTypeEnumerationValue);
304  std::string cloudType() const;
306 
310  void setCloudDensity(float cloudDensity);
311  float cloudDensity() const;
313 
317  void setSkyCoverage(float skyCoverage);
318  float skyCoverage() const;
320 
323  const DtCloudLayerRecord& cloudLayerRecord() const;
324 
327  DtCloudLayerRecord& cloudLayerRecord();
328 
329  protected:
330 
331  friend class boost::serialization::access;
332 
337  template<class Archive>
338  void serialize(Archive & ar, const unsigned int version)
339  {
340  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
341  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
342  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
343  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
344  ar & BOOST_SERIALIZATION_NVP(myObscurant);
345 
346  if (version >= 1)
347  {
348  ar & BOOST_SERIALIZATION_NVP(myCloudLayer);
349 
350  // force the altitudes, of the elevational record and its child
351  // cloud layer record, to be the same
352  myCloudLayer.setPosition(0.0, 0.0, myBaseMSLAltitude);
353  }
354  }
355 
356  protected:
358  float myWindSpeed;
360 
363 
365  };
366 
367  typedef std::vector<DtCloudLayerRecord> CloudLayerRecordList;
368  typedef std::vector<DtThermoclineRecord> ThermoclineRecordList;
369  typedef std::vector<DtElevationalWindRecord> ElevationalWindRecordList; // deprecated
370  typedef std::vector<DtElevationalConfigurationRecord> ElevationalConfigurationRecordList;
371  typedef std::map<std::string, std::string> OptionalParameterMap;
372 
375 
378 
380  virtual ~DtEnvironmentRecord();
381 
383  void swap(DtEnvironmentRecord& other);
384 
386  DtEnvironmentRecord& operator =(DtEnvironmentRecord rhs);
387 
390  void setEnvironmentName(const std::string& name);
391  const std::string& environmentName() const;
393 
402  void setIsLocalOnly(bool isLocalOnly);
403  bool isLocalOnly() const;
405 
408  void setAirTurbidity(float turbidity);
409  float airTurbidity() const;
411 
416  void setVisibleDistance(float distance);
417  float visibleDistance() const;
419 
422  void setPrecipitation(int type);
423  int precipitation() const;
425 
428  void setPrecipitationIntensity(float intensity);
429  float precipitationIntensity() const;
431 
435  CloudLayerRecordList& customCloudLayers();
436  const CloudLayerRecordList& customCloudLayers() const;
438 
443  void setCloudCoverType( DtCloudCoverType cloudCoverType );
444  DtCloudCoverType cloudCoverType() const;
446 
449  virtual void setLightningPresent(bool lightningPresent);
450  virtual bool lightningPresent() const;
452 
455  ElevationalConfigurationRecordList& elevationalConfigurations();
456  const ElevationalConfigurationRecordList& elevationalConfigurations() const;
458 
462  virtual void addElevationalConfigurationRecord(DtElevationalConfigurationRecord rec);
463 
466  virtual bool removeElevationalConfigurationRecord(unsigned int index);
467 
471  bool setElevationalConfigurationRecord(
472  unsigned int index, const DtElevationalConfigurationRecord& wRec);
473 
476  const DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index) const;
477 
480  DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index);
481 
487  bool setElevationalConfigurationBaseMSLAltitude(unsigned int index, float baseMSLAltitude);
488 
493  bool getElevationalConfigurationBaseMSLAltitude(unsigned int index, float& baseMSLAltitude) const;
494 
499  bool setElevationalWindSpeed(unsigned int index, float metersPerSecond);
500 
505  bool getElevationalWindSpeed(unsigned int index, float& windSpeed) const;
506 
511  bool setElevationalWindDirection(unsigned int index, float radiansFromNorth);
512 
517  bool getElevationalWindDirection(unsigned int index, float& windDirection) const;
518 
523  bool setElevationalVisibilityDistance(unsigned int index, float meters);
524 
529  bool getElevationalVisibilityDistance(unsigned int index, float& visibilityDistance) const;
530 
535  bool setElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant obscurant);
536 
541  bool getElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant& obscurant) const;
542 
547  bool setElevationalCloudType(unsigned int index, std::string cloudTypeName);
548 
554  bool getElevationalCloudType(unsigned int index, std::string& cloudTypeName) const;
555 
561  bool setElevationalCloudDensity(unsigned int index, float cloudDensity);
562 
568  bool getElevationalCloudDensity(unsigned int index, float& cloudDensity) const;
569 
574  bool setElevationalSkyCoverage(unsigned int index, float cloudCoverage);
575 
581  bool getElevationalSkyCoverage(unsigned int index, float& cloudCoverage) const;
582 
587  void setWindSpeed(float metersPerSecond);
588  float windSpeed() const;
590 
595  void setWindDirection(float radiansFromNorth);
596  float windDirection() const;
598 
601  void setAmbientAirTemperature(float kelvins);
602  float ambientAirTemperature() const;
604 
607  void setSeaState(int douglasScale);
608  int seaState() const;
610 
613  void setSeaStateDirection(float radiansFromNorth);
614  float seaStateDirection() const;
616 
619  void setWindDrivenSeaStateEnabled(bool enabled);
620  bool windDrivenSeaStateEnabled() const;
622 
625  void setSwellState(int douglasScale);
626  int swellState() const;
628 
631  void setSwellStateDirection(float radiansFromNorth);
632  float swellStateDirection() const;
634 
637  void setWindFetch(float meters);
638  float windFetch() const;
640 
643  void setSeaChoppiness(float chop);
644  float seaChoppiness() const;
646 
649  void setUnderwaterVisibilityEnabled(bool enabled);
650  bool underwaterVisibilityEnabled() const;
652 
655  void setUnderwaterVisibility(float meters);
656  float underwaterVisibility() const;
658 
661  void setSurfaceTransparency(float normalizedValue);
662  float surfaceTransparency() const;
664 
667  void setSurgeDepth(float meters);
668  float surgeDepth() const;
670 
673  void setDepthOffset(float meters);
674  float depthOffset() const;
676 
679  void setAmbientWaterTemperature(float kelvins);
680  float ambientWaterTemperature() const;
682 
685  void setWaterCurrentSpeed(float metersPerSecond);
686  float waterCurrentSpeed() const;
688 
691  void setWaterCurrentDirection(float radiansFromNorth);
692  float waterCurrentDirection() const;
694 
697  void setTidalOffset(float meters);
698  float tidalOffset() const;
700 
703  void setTidalDirection(bool inOut);
704  bool tidalDirection() const;
706 
709  void setFogHeight(float meters);
710  float fogHeight() const;
712 
715  void setFogColor(const DtColorRecord& color);
716  const DtColorRecord& fogColor() const;
718 
721  void setThermoclineRecord(
722  unsigned int index, const DtThermoclineRecord& tRec);
723  DtThermoclineRecord thermoclineRecord(unsigned int index) const;
724  void setThermoclineDepth(unsigned int index, float depth);
725  float thermoclineDepth(unsigned int index) const;
726  void setThermoclinePermeability(unsigned int index, float permeability);
727  float thermoclinePermeability(unsigned int index) const;
729 
732  void setGroundSnowAccumulation(float depth);
733  float groundSnowAccumulation() const;
735 
738  void setRoadSnowAccumulation(float depth);
739  float roadSnowAccumulation() const;
741 
744  void setSnowMinimumElevation(float elevation);
745  float snowMinimumElevation() const;
747 
751  void setSnowElevationTransition(float elevation);
752  float snowElevationTransition() const;
754 
757  void setGroundRainAccumulation(float depth);
758  float groundRainAccumulation() const;
760 
763  void setAmbientAirPressure(float pressure);
764  float ambientAirPressure() const;
766 
769  void setAirPressureAltitude(float altitude);
770  float airPressureAltitude() const;
772 
775  void setAirTemperatureAltitude(float altitude);
776  float airTemperatureAltitude() const;
778 
781  void setAirPressureAltitudeIsSeaLevel(bool seaLevel);
782  bool airPressureAltitudeIsSeaLevel() const;
784 
787  void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel);
788  bool airTemperatureAltitudeIsSeaLevel() const;
790 
793  void setSeaLevelWaterConcentration(float water);
794  float seaLevelWaterConcentration() const;
796 
799  virtual const std::string*
800  findOptionalParameter(const std::string& name) const;
801 
803  virtual void setOptionalParameter(
804  const std::string& name, const std::string& value);
805 
808  virtual void setOptionalParameters(const OptionalParameterMap&);
809 
811  virtual void removeOptionalParameter(const std::string& name);
812 
814  const OptionalParameterMap& optionalParameters() const;
816 
817  protected:
818 
822  virtual void sortElevationalWindRecordsByBaseMSLAltitude();
823 
828  virtual void sortElevationalConfigurationRecordsByBaseMSLAltitude();
829 
831  virtual void copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
832 
833  friend class boost::serialization::access;
834 
838  template<class Archive>
839  void serialize(Archive & ar, const unsigned int version)
840  {
841  ar & BOOST_SERIALIZATION_NVP(myAirTurbidity);
842 
843  if (version < 12)
844  {
845  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
846 
847  bool foundConfig = false;
848  for (auto& config : elevationalConfigurations())
849  {
850  // search for config at base MSL altitude 0.0
851  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
852  {
853  // found config
854  config.setVisibilityDistance(myVisibilityDistance);
855  foundConfig = true;
856  }
857  }
858 
859  if (!foundConfig)
860  {
861  // never found config for base MSL altitude 0.0, add one
862  DtElevationalConfigurationRecord newRec(0.0f, 0.0f, 0.0f, myVisibilityDistance);
863  addElevationalConfigurationRecord(newRec);
864  }
865  }
866  else
867  {
868  ar & BOOST_SERIALIZATION_NVP(myElevationalConfigurations);
869 
870  for (auto& config : elevationalConfigurations())
871  {
872  // search for config at base MSL altitude 0.0
873  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
874  {
875  // found config
876  myVisibilityDistance = config.visibilityDistance();
877  }
878  }
879  }
880 
881  if (version < 4)
882  {
883  ar & BOOST_SERIALIZATION_NVP(myPrecipitationEnabledFlag);
884  ar & BOOST_SERIALIZATION_NVP(myPrecipitationType);
885  if (myPrecipitationEnabledFlag && myPrecipitationType == "Rain")
886  {
887  myPrecipitation = 1;
888  }
889  else if (myPrecipitationEnabledFlag && myPrecipitationType == "Snow")
890  {
891  myPrecipitation = 2;
892  }
893  else
894  {
895  myPrecipitationType = "None";
896  myPrecipitation = 0;
897  }
898  }
899  ar & BOOST_SERIALIZATION_NVP(myPrecipitationIntensity);
900  ar & BOOST_SERIALIZATION_NVP(myCloudLayers);
901  if (version < 11)
902  {
903  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
904  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
905 
906  bool foundConfig = false;
907  for (auto& config : elevationalConfigurations())
908  {
909  // search for config at base MSL altitude 0.0
910  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
911  {
912  // found config
913  config.setWindSpeed(myWindSpeed);
914  config.setWindDirection(myWindDirection);
915  foundConfig = true;
916  }
917  }
918 
919  if (!foundConfig)
920  {
921  // never found config for base MSL altitude 0.0, add one
922  DtElevationalConfigurationRecord newRec(0.0f, myWindSpeed, myWindDirection);
923  addElevationalConfigurationRecord(newRec);
924  }
925  }
926  else if (version == 11)
927  {
928  ar & BOOST_SERIALIZATION_NVP(myWindConfigurations);
929  copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
930  }
931  if(version >= 1)
932  {
933  ar & BOOST_SERIALIZATION_NVP(myAmbientAirTemperature);
934  ar & BOOST_SERIALIZATION_NVP(mySeaState);
935  ar & BOOST_SERIALIZATION_NVP(mySeaChoppiness);
936  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibility);
937  ar & BOOST_SERIALIZATION_NVP(myAmbientWaterTemperature);
938  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentSpeed);
939  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentDirection);
940  ar & BOOST_SERIALIZATION_NVP(myTidalOffset);
941  ar & BOOST_SERIALIZATION_NVP(myTidalDirection);
942  }
943  if (version >= 2)
944  {
945  ar & BOOST_SERIALIZATION_NVP(myEnvironmentName);
946  if (version >= 14)
947  {
948  ar & BOOST_SERIALIZATION_NVP(myIsLocalOnly);
949  }
950  ar & BOOST_SERIALIZATION_NVP(myOptionalParameters);
951  }
952  if (version >= 3)
953  {
954  ar & BOOST_SERIALIZATION_NVP(mySeaStateDirection);
955  ar & BOOST_SERIALIZATION_NVP(myWindDrivenSeaStateEnabled);
956  ar & BOOST_SERIALIZATION_NVP(mySwellState);
957  ar & BOOST_SERIALIZATION_NVP(mySwellStateDirection);
958  ar & BOOST_SERIALIZATION_NVP(myWindFetch);
959  ar & BOOST_SERIALIZATION_NVP(mySurfaceTransparency);
960  ar & BOOST_SERIALIZATION_NVP(mySurgeDepth);
961  ar & BOOST_SERIALIZATION_NVP(myDepthOffset);
962  }
963  if (version >= 4)
964  {
965  ar & BOOST_SERIALIZATION_NVP(myFogHeight);
966  ar & BOOST_SERIALIZATION_NVP(myFogColor);
967  ar & BOOST_SERIALIZATION_NVP(myPrecipitation);
968  ar & BOOST_SERIALIZATION_NVP(myThermoclineRecordList);
969  }
970  if (version >= 5)
971  {
972  ar & BOOST_SERIALIZATION_NVP(myCloudCoverType);
973  if (version < 7)
974  {
975  ar & BOOST_SERIALIZATION_NVP(myUseCustomCloudCover);
976  }
977  }
978  if (version >= 6)
979  {
980  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibilityEnabled);
981  }
982  if (version >= 8)
983  {
984  ar & BOOST_SERIALIZATION_NVP(myGroundSnowAccumulation);
985  ar & BOOST_SERIALIZATION_NVP(myRoadSnowAccumulation);
986  ar & BOOST_SERIALIZATION_NVP(mySnowMinimumElevation);
987  ar & BOOST_SERIALIZATION_NVP(mySnowElevationTransition);
988  }
989  if (version >= 9)
990  {
991  ar & BOOST_SERIALIZATION_NVP(myGroundRainAccumulation);
992  }
993  if (version >= 10)
994  {
995  ar & BOOST_SERIALIZATION_NVP(myAirPressure);
996  }
997  if (version >= 12)
998  {
999  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitude);
1000  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitude);
1001  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitudeIsSeaLevel);
1002  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitudeIsSeaLevel);
1003  ar & BOOST_SERIALIZATION_NVP(mySeaLevelWaterConcentration);
1004  }
1005  if (version >= 13)
1006  {
1007  ar & BOOST_SERIALIZATION_NVP(myLightningPresent);
1008  }
1009  }
1010 
1011  std::string myEnvironmentName;
1013 
1020 
1021  // Old Wind Speed and Wind Direction - Needed to support versions < 11
1024 
1025  // Old Global Visibility - Needed to support versions < 12
1027 
1028  // Old Wind-Specific Elevational Configuration - Needed to support version 11
1030 
1031  // New Elevational (versions >= 12):
1032  // - Wind Speed and Wind Direction
1033  // - Visibility Distance and Obscurant
1035 
1037 
1049 
1055 
1058 
1060  // obsolete as of version 7 (it was never actually used)
1062 
1064 
1065  // obsolete as of version 4
1067  std::string myPrecipitationType;
1068 
1070 
1076 
1078 
1084  };
1085 
1086 }
1087 
1089 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtThermoclineRecord, 0)
1090 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalWindRecord, 0)
1091 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord, 1)
1092 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord, 14)
bool myAirPressureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1081
ElevationalWindRecordList myWindConfigurations
Definition: DtEnvironmentRecord.h:1029
VisibilityObscurant myObscurant
Definition: DtEnvironmentRecord.h:362
float myAirTurbidity
Definition: DtEnvironmentRecord.h:1014
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:98
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
float myDepthOffset
Definition: DtEnvironmentRecord.h:1048
bool myUnderwaterVisibilityEnabled
Definition: DtEnvironmentRecord.h:1069
float myWaterCurrentDirection
Definition: DtEnvironmentRecord.h:1052
DtColorRecord myFogColor
Definition: DtEnvironmentRecord.h:1057
bool myWindDrivenSeaStateEnabled
Definition: DtEnvironmentRecord.h:1040
std::vector< DtElevationalWindRecord > ElevationalWindRecordList
Definition: DtEnvironmentRecord.h:369
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:357
float mySurfaceTransparency
Definition: DtEnvironmentRecord.h:1046
float myRoadSnowAccumulation
Definition: DtEnvironmentRecord.h:1072
bool myTidalDirection
Definition: DtEnvironmentRecord.h:1054
std::map< std::string, std::string > OptionalParameterMap
Definition: DtEnvironmentRecord.h:371
float myAirPressureAltitude
Definition: DtEnvironmentRecord.h:1079
float mySeaStateDirection
Definition: DtEnvironmentRecord.h:1039
float mySnowMinimumElevation
Definition: DtEnvironmentRecord.h:1073
float myGroundRainAccumulation
Definition: DtEnvironmentRecord.h:1075
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
float myPermeability
Definition: DtEnvironmentRecord.h:165
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:229
DtCloudLayerRecord myCloudLayer
Definition: DtEnvironmentRecord.h:364
float mySnowElevationTransition
Definition: DtEnvironmentRecord.h:1074
float myWaterCurrentSpeed
Definition: DtEnvironmentRecord.h:1051
std::vector< DtThermoclineRecord > ThermoclineRecordList
Definition: DtEnvironmentRecord.h:368
std::string myPrecipitationType
Definition: DtEnvironmentRecord.h:1067
float myWindSpeed
Definition: DtEnvironmentRecord.h:358
float myGreen
Definition: DtEnvironmentRecord.h:111
Contains DLL export macros.
float myBlue
Definition: DtEnvironmentRecord.h:112
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
float myAirTemperatureAltitude
Definition: DtEnvironmentRecord.h:1080
float myAirPressure
Definition: DtEnvironmentRecord.h:1077
float myWindSpeed
Definition: DtEnvironmentRecord.h:1022
float myWindSpeed
Definition: DtEnvironmentRecord.h:230
int mySeaState
Definition: DtEnvironmentRecord.h:1038
ThermoclineRecordList myThermoclineRecordList
Definition: DtEnvironmentRecord.h:1059
float myAlpha
Definition: DtEnvironmentRecord.h:113
float myUnderwaterVisibility
Definition: DtEnvironmentRecord.h:1045
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:242
float mySeaChoppiness
Definition: DtEnvironmentRecord.h:1044
bool myAirTemperatureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1082
Record of thermocline settings.
Definition: DtEnvironmentRecord.h:118
bool myUseCustomCloudCover
Definition: DtEnvironmentRecord.h:1061
Contains makArchives::DtCloudLayerRecord class.
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:1026
bool myPrecipitationEnabledFlag
Definition: DtEnvironmentRecord.h:1066
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:221
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:367
Record of a single cloud layer&#39;s settings.
Definition: DtCloudLayerRecord.h:17
float mySurgeDepth
Definition: DtEnvironmentRecord.h:1047
DtCloudCoverType
Definition: DtCloudCoverType.h:14
Record of color settings.
Definition: DtEnvironmentRecord.h:41
OptionalParameterMap myOptionalParameters
Definition: DtEnvironmentRecord.h:1063
float myTidalOffset
Definition: DtEnvironmentRecord.h:1053
float myPrecipitationIntensity
Definition: DtEnvironmentRecord.h:1016
float myRed
Definition: DtEnvironmentRecord.h:110
float myAmbientAirTemperature
Definition: DtEnvironmentRecord.h:1036
ElevationalConfigurationRecordList myElevationalConfigurations
Definition: DtEnvironmentRecord.h:1034
std::string myEnvironmentName
Definition: DtEnvironmentRecord.h:1011
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:36
float myWindDirection
Definition: DtEnvironmentRecord.h:231
DtCloudCoverType myCloudCoverType
Definition: DtEnvironmentRecord.h:1018
float myAmbientWaterTemperature
Definition: DtEnvironmentRecord.h:1050
int myPrecipitation
Definition: DtEnvironmentRecord.h:1015
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:157
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:839
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:338
bool myIsLocalOnly
Definition: DtEnvironmentRecord.h:1012
CloudLayerRecordList myCloudLayers
Definition: DtEnvironmentRecord.h:1017
bool myLightningPresent
Definition: DtEnvironmentRecord.h:1019
float myFogHeight
Definition: DtEnvironmentRecord.h:1056
float myDepth
Definition: DtEnvironmentRecord.h:164
float myGroundSnowAccumulation
Definition: DtEnvironmentRecord.h:1071
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
float myWindDirection
Definition: DtEnvironmentRecord.h:1023
std::vector< DtElevationalConfigurationRecord > ElevationalConfigurationRecordList
Definition: DtEnvironmentRecord.h:370
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:361
int mySwellState
Definition: DtEnvironmentRecord.h:1041
float mySeaLevelWaterConcentration
Definition: DtEnvironmentRecord.h:1083
float mySwellStateDirection
Definition: DtEnvironmentRecord.h:1042
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
Record for an elevational wind configuration.
Definition: DtEnvironmentRecord.h:171
float myWindDirection
Definition: DtEnvironmentRecord.h:359
float myWindFetch
Definition: DtEnvironmentRecord.h:1043

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)