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) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
16 
17 #include <string>
18 #include <vector>
19 
20 namespace makArchives
21 {
23  {
24  None = 0,
25  Sand = 1,
26  Snow = 2,
27  Dust = 3,
28  };
29 
31  {
32  None = 0,
33  Haze,
34  Mist,
35  Fog,
36  Smoke,
38  Dust,
39  Sand
40  };
41 
46  {
47  public:
51  {
52  public:
54  DtColorRecord(float r=1.0f, float g=1.0f, float b=1.0f, float a=1.0f);
55 
57  DtColorRecord(const DtColorRecord& orig);
58 
60  DtColorRecord& operator =(DtColorRecord rhs);
61 
63  bool operator ==(const DtColorRecord& rhs) const;
64 
66  bool operator !=(const DtColorRecord& rhs) const;
67 
69  ~DtColorRecord();
70 
72  void swap(DtColorRecord& other);
73 
76  void setRed(float r);
77  float red() const;
79 
82  void setGreen(float g);
83  float green() const;
85 
88  void setBlue(float b);
89  float blue() const;
91 
94  void setAlpha(float a);
95  float alpha() const;
97 
98  protected:
99 
100  friend class boost::serialization::access;
101 
106  template<class Archive>
107  void serialize(Archive & ar, const unsigned int version)
108  {
109  ar & BOOST_SERIALIZATION_NVP(myRed);
110  ar & BOOST_SERIALIZATION_NVP(myGreen);
111  ar & BOOST_SERIALIZATION_NVP(myBlue);
112  ar & BOOST_SERIALIZATION_NVP(myAlpha);
113  }
114 
115  protected:
116  static float clamp(float component);
117 
118  protected:
119  float myRed;
120  float myGreen;
121  float myBlue;
122  float myAlpha;
123  };
124 
128  {
129  public:
131  DtThermoclineRecord(float depth=0.0f, float permeability=0.0);
132 
135 
137  DtThermoclineRecord& operator =(DtThermoclineRecord rhs);
138 
141 
143  void swap(DtThermoclineRecord& other);
144 
147  void setDepth(float meters);
148  float depth() const;
150 
153  void setPermeability(float normalizedValue);
154  float permeability() const;
156 
157  protected:
158 
159  friend class boost::serialization::access;
160 
165  template<class Archive>
166  void serialize(Archive & ar, const unsigned int version)
167  {
168  ar & BOOST_SERIALIZATION_NVP(myDepth);
169  ar & BOOST_SERIALIZATION_NVP(myPermeability);
170  }
171 
172  protected:
173  float myDepth;
175  };
176 
181  {
182  public:
184  DtElevationalWindRecord(float mslAltitudeInMeters = 0.0f,
185  float speedInMetersPerSecond = 0.0,
186  float offsetInRadiansFromTrueNorth = 0.0);
187 
190 
193 
196 
198  void swap(DtElevationalWindRecord& other);
199 
203  void setWindSpeed(float speedInMetersPerSecond);
204  float windSpeed() const;
206 
210  void setWindDirection(float offsetInRadiansFromTrueNorth);
211  float windDirection() const;
213 
217  void setBaseMSLAltitude(float mslAltitudeInMeters);
218  float baseMSLAltitude() const;
220 
221  protected:
222 
223  friend class boost::serialization::access;
224 
229  template<class Archive>
230  void serialize(Archive & ar, const unsigned int version)
231  {
232  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
233  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
234  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
235  }
236 
237  protected:
239  float myWindSpeed;
241  };
242 
252  {
253  public:
255  DtElevationalConfigurationRecord( float mslAltitudeInMeters = 0.0f,
256  float speedInMetersPerSecond = 0.0,
257  float offsetInRadiansFromTrueNorth = 0.0,
258  float visibilityDistanceInMeters = 20000,
259  VisibilityObscurant visibilityObscurant = VisibilityObscurant::Haze,
260  const std::string& cloudTypeName = "None",
261  float cloudDensity = 0.0,
262  float skyCoverageInOktas = 0.0);
263 
266 
269 
272 
274  void swap(DtElevationalConfigurationRecord& other);
275 
279  void setBaseMSLAltitude(float mslAltitudeInMeters);
280  float baseMSLAltitude() const;
282 
286  void setWindSpeed(float speedInMetersPerSecond);
287  float windSpeed() const;
289 
293  void setWindDirection(float offsetInRadiansFromTrueNorth);
294  float windDirection() const;
296 
300  void setVisibilityDistance(float visibilityInMeters);
301  float visibilityDistance() const;
303 
306  void setObscurant(VisibilityObscurant obscurantEnumerationValue);
307  VisibilityObscurant obscurant() const;
309 
312  void setCloudType(const std::string& cloudTypeEnumerationValue);
313  std::string cloudType() const;
315 
319  void setCloudDensity(float cloudDensity);
320  float cloudDensity() const;
322 
326  void setSkyCoverage(float skyCoverage);
327  float skyCoverage() const;
329 
332  const DtCloudLayerRecord& cloudLayerRecord() const;
333 
336  DtCloudLayerRecord& cloudLayerRecord();
337 
338  protected:
339 
340  friend class boost::serialization::access;
341 
346  template<class Archive>
347  void serialize(Archive & ar, const unsigned int version)
348  {
349  ar & BOOST_SERIALIZATION_NVP(myBaseMSLAltitude);
350  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
351  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
352  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
353  ar & BOOST_SERIALIZATION_NVP(myObscurant);
354 
355  if (version >= 1)
356  {
357  ar & BOOST_SERIALIZATION_NVP(myCloudLayer);
358 
359  // force the altitudes, of the elevational record and its child
360  // cloud layer record, to be the same
361  myCloudLayer.setPosition(0.0, 0.0, myBaseMSLAltitude);
362  }
363  }
364 
365  protected:
367  float myWindSpeed;
369 
372 
374  };
375 
376  typedef std::vector<DtCloudLayerRecord> CloudLayerRecordList;
377  typedef std::vector<DtThermoclineRecord> ThermoclineRecordList;
378  typedef std::vector<DtElevationalWindRecord> ElevationalWindRecordList; // deprecated
379  typedef std::vector<DtElevationalConfigurationRecord> ElevationalConfigurationRecordList;
380  typedef std::map<std::string, std::string> OptionalParameterMap;
381 
384 
387 
389  virtual ~DtEnvironmentRecord();
390 
392  void swap(DtEnvironmentRecord& other);
393 
395  DtEnvironmentRecord& operator =(DtEnvironmentRecord rhs);
396 
399  void setEnvironmentName(const std::string& name);
400  const std::string& environmentName() const;
402 
411  void setIsLocalOnly(bool isLocalOnly);
412  bool isLocalOnly() const;
414 
417  void setAirTurbidity(float turbidity);
418  float airTurbidity() const;
420 
425  void setVisibleDistance(float distance);
426  float visibleDistance() const;
428 
431  void setPrecipitation(int type);
432  int precipitation() const;
434 
437  void setPrecipitationIntensity(float intensity);
438  float precipitationIntensity() const;
440 
444  CloudLayerRecordList& customCloudLayers();
445  const CloudLayerRecordList& customCloudLayers() const;
447 
452  void setCloudCoverType( DtCloudCoverType cloudCoverType );
453  DtCloudCoverType cloudCoverType() const;
455 
458  virtual void setLightningPresent(bool lightningPresent);
459  virtual bool lightningPresent() const;
461 
464  virtual void setBlowingParticulateMatter(makArchives::BlowingParticulateMatterType type);
465  virtual makArchives::BlowingParticulateMatterType blowingParticulateMatter() const;
467 
470  ElevationalConfigurationRecordList& elevationalConfigurations();
471  const ElevationalConfigurationRecordList& elevationalConfigurations() const;
473 
477  virtual void addElevationalConfigurationRecord(DtElevationalConfigurationRecord rec);
478 
481  virtual bool removeElevationalConfigurationRecord(unsigned int index);
482 
486  bool setElevationalConfigurationRecord(
487  unsigned int index, const DtElevationalConfigurationRecord& wRec);
488 
491  const DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index) const;
492 
495  DtElevationalConfigurationRecord* getElevationalConfigurationRecord(unsigned int index);
496 
502  bool setElevationalConfigurationBaseMSLAltitude(unsigned int index, float baseMSLAltitude);
503 
508  bool getElevationalConfigurationBaseMSLAltitude(unsigned int index, float& baseMSLAltitude) const;
509 
514  bool setElevationalWindSpeed(unsigned int index, float metersPerSecond);
515 
520  bool getElevationalWindSpeed(unsigned int index, float& windSpeed) const;
521 
526  bool setElevationalWindDirection(unsigned int index, float radiansFromNorth);
527 
532  bool getElevationalWindDirection(unsigned int index, float& windDirection) const;
533 
538  bool setElevationalVisibilityDistance(unsigned int index, float meters);
539 
544  bool getElevationalVisibilityDistance(unsigned int index, float& visibilityDistance) const;
545 
550  bool setElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant obscurant);
551 
556  bool getElevationalVisibilityObscurant(unsigned int index, VisibilityObscurant& obscurant) const;
557 
562  bool setElevationalCloudType(unsigned int index, std::string cloudTypeName);
563 
569  bool getElevationalCloudType(unsigned int index, std::string& cloudTypeName) const;
570 
576  bool setElevationalCloudDensity(unsigned int index, float cloudDensity);
577 
583  bool getElevationalCloudDensity(unsigned int index, float& cloudDensity) const;
584 
589  bool setElevationalSkyCoverage(unsigned int index, float cloudCoverage);
590 
596  bool getElevationalSkyCoverage(unsigned int index, float& cloudCoverage) const;
597 
602  void setWindSpeed(float metersPerSecond);
603  float windSpeed() const;
605 
610  void setWindDirection(float radiansFromNorth);
611  float windDirection() const;
613 
616  void setAmbientAirTemperature(float kelvins);
617  float ambientAirTemperature() const;
619 
622  void setSeaState(int douglasScale);
623  int seaState() const;
625 
628  void setSeaStateDirection(float radiansFromNorth);
629  float seaStateDirection() const;
631 
634  void setWindDrivenSeaStateEnabled(bool enabled);
635  bool windDrivenSeaStateEnabled() const;
637 
640  void setSwellState(int douglasScale);
641  int swellState() const;
643 
646  void setSwellStateDirection(float radiansFromNorth);
647  float swellStateDirection() const;
649 
652  void setWindFetch(float meters);
653  float windFetch() const;
655 
658  void setSeaChoppiness(float chop);
659  float seaChoppiness() const;
661 
664  void setUnderwaterVisibilityEnabled(bool enabled);
665  bool underwaterVisibilityEnabled() const;
667 
670  void setUnderwaterVisibility(float meters);
671  float underwaterVisibility() const;
673 
676  void setSurfaceTransparency(float normalizedValue);
677  float surfaceTransparency() const;
679 
682  void setSurgeDepth(float meters);
683  float surgeDepth() const;
685 
688  void setDepthOffset(float meters);
689  float depthOffset() const;
691 
694  void setAmbientWaterTemperature(float kelvins);
695  float ambientWaterTemperature() const;
697 
700  void setWaterCurrentSpeed(float metersPerSecond);
701  float waterCurrentSpeed() const;
703 
706  void setWaterCurrentDirection(float radiansFromNorth);
707  float waterCurrentDirection() const;
709 
712  void setTidalOffset(float meters);
713  float tidalOffset() const;
715 
718  void setTidalDirection(bool inOut);
719  bool tidalDirection() const;
721 
724  void setFogHeight(float meters);
725  float fogHeight() const;
727 
730  void setFogColor(const DtColorRecord& color);
731  const DtColorRecord& fogColor() const;
733 
736  void setThermoclineRecord(
737  unsigned int index, const DtThermoclineRecord& tRec);
738  DtThermoclineRecord thermoclineRecord(unsigned int index) const;
739  void setThermoclineDepth(unsigned int index, float depth);
740  float thermoclineDepth(unsigned int index) const;
741  void setThermoclinePermeability(unsigned int index, float permeability);
742  float thermoclinePermeability(unsigned int index) const;
744 
747  void setGroundSnowAccumulation(float depth);
748  float groundSnowAccumulation() const;
750 
753  void setRoadSnowAccumulation(float depth);
754  float roadSnowAccumulation() const;
756 
759  void setSnowMinimumElevation(float elevation);
760  float snowMinimumElevation() const;
762 
766  void setSnowElevationTransition(float elevation);
767  float snowElevationTransition() const;
769 
772  void setGroundRainAccumulation(float depth);
773  float groundRainAccumulation() const;
775 
778  void setAmbientAirPressure(float pressure);
779  float ambientAirPressure() const;
781 
784  void setAirPressureAltitude(float altitude);
785  float airPressureAltitude() const;
787 
790  void setAirTemperatureAltitude(float altitude);
791  float airTemperatureAltitude() const;
793 
796  void setAirPressureAltitudeIsSeaLevel(bool seaLevel);
797  bool airPressureAltitudeIsSeaLevel() const;
799 
802  void setAirTemperatureAltitudeIsSeaLevel(bool seaLevel);
803  bool airTemperatureAltitudeIsSeaLevel() const;
805 
808  void setSeaLevelWaterConcentration(float water);
809  float seaLevelWaterConcentration() const;
811 
814  virtual const std::string*
815  findOptionalParameter(const std::string& name) const;
816 
818  virtual void setOptionalParameter(
819  const std::string& name, const std::string& value);
820 
823  virtual void setOptionalParameters(const OptionalParameterMap&);
824 
826  virtual void removeOptionalParameter(const std::string& name);
827 
829  const OptionalParameterMap& optionalParameters() const;
831 
832  protected:
833 
837  virtual void sortElevationalWindRecordsByBaseMSLAltitude();
838 
843  virtual void sortElevationalConfigurationRecordsByBaseMSLAltitude();
844 
846  virtual void copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
847 
848  friend class boost::serialization::access;
849 
853  template<class Archive>
854  void serialize(Archive & ar, const unsigned int version)
855  {
856  ar & BOOST_SERIALIZATION_NVP(myAirTurbidity);
857 
858  if (version < 12)
859  {
860  ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
861 
862  bool foundConfig = false;
863  for (auto& config : elevationalConfigurations())
864  {
865  // search for config at base MSL altitude 0.0
866  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
867  {
868  // found config
869  config.setVisibilityDistance(myVisibilityDistance);
870  foundConfig = true;
871  }
872  }
873 
874  if (!foundConfig)
875  {
876  // never found config for base MSL altitude 0.0, add one
877  DtElevationalConfigurationRecord newRec(0.0f, 0.0f, 0.0f, myVisibilityDistance);
878  addElevationalConfigurationRecord(newRec);
879  }
880  }
881  else
882  {
883  ar & BOOST_SERIALIZATION_NVP(myElevationalConfigurations);
884 
885  for (auto& config : elevationalConfigurations())
886  {
887  // search for config at base MSL altitude 0.0
888  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
889  {
890  // found config
891  myVisibilityDistance = config.visibilityDistance();
892  }
893  }
894  }
895 
896  if (version < 4)
897  {
898  ar & BOOST_SERIALIZATION_NVP(myPrecipitationEnabledFlag);
899  ar & BOOST_SERIALIZATION_NVP(myPrecipitationType);
900  if (myPrecipitationEnabledFlag && myPrecipitationType == "Rain")
901  {
902  myPrecipitation = 1;
903  }
904  else if (myPrecipitationEnabledFlag && myPrecipitationType == "Snow")
905  {
906  myPrecipitation = 2;
907  }
908  else
909  {
910  myPrecipitationType = "None";
911  myPrecipitation = 0;
912  }
913  }
914  ar & BOOST_SERIALIZATION_NVP(myPrecipitationIntensity);
915  ar & BOOST_SERIALIZATION_NVP(myCloudLayers);
916  if (version < 11)
917  {
918  ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
919  ar & BOOST_SERIALIZATION_NVP(myWindDirection);
920 
921  bool foundConfig = false;
922  for (auto& config : elevationalConfigurations())
923  {
924  // search for config at base MSL altitude 0.0
925  if (config.baseMSLAltitude() < 0.0001f && config.baseMSLAltitude() > -0.0001f)
926  {
927  // found config
928  config.setWindSpeed(myWindSpeed);
929  config.setWindDirection(myWindDirection);
930  foundConfig = true;
931  }
932  }
933 
934  if (!foundConfig)
935  {
936  // never found config for base MSL altitude 0.0, add one
937  DtElevationalConfigurationRecord newRec(0.0f, myWindSpeed, myWindDirection);
938  addElevationalConfigurationRecord(newRec);
939  }
940  }
941  else if (version == 11)
942  {
943  ar & BOOST_SERIALIZATION_NVP(myWindConfigurations);
944  copyOldWindSpecificElevationalConfigurationsToNewElevationalConfigurations();
945  }
946  if(version >= 1)
947  {
948  ar & BOOST_SERIALIZATION_NVP(myAmbientAirTemperature);
949  ar & BOOST_SERIALIZATION_NVP(mySeaState);
950  ar & BOOST_SERIALIZATION_NVP(mySeaChoppiness);
951  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibility);
952  ar & BOOST_SERIALIZATION_NVP(myAmbientWaterTemperature);
953  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentSpeed);
954  ar & BOOST_SERIALIZATION_NVP(myWaterCurrentDirection);
955  ar & BOOST_SERIALIZATION_NVP(myTidalOffset);
956  ar & BOOST_SERIALIZATION_NVP(myTidalDirection);
957  }
958  if (version >= 2)
959  {
960  ar & BOOST_SERIALIZATION_NVP(myEnvironmentName);
961  if (version >= 14)
962  {
963  ar & BOOST_SERIALIZATION_NVP(myIsLocalOnly);
964  }
965  ar & BOOST_SERIALIZATION_NVP(myOptionalParameters);
966  }
967  if (version >= 3)
968  {
969  ar & BOOST_SERIALIZATION_NVP(mySeaStateDirection);
970  ar & BOOST_SERIALIZATION_NVP(myWindDrivenSeaStateEnabled);
971  ar & BOOST_SERIALIZATION_NVP(mySwellState);
972  ar & BOOST_SERIALIZATION_NVP(mySwellStateDirection);
973  ar & BOOST_SERIALIZATION_NVP(myWindFetch);
974  ar & BOOST_SERIALIZATION_NVP(mySurfaceTransparency);
975  ar & BOOST_SERIALIZATION_NVP(mySurgeDepth);
976  ar & BOOST_SERIALIZATION_NVP(myDepthOffset);
977  }
978  if (version >= 4)
979  {
980  ar & BOOST_SERIALIZATION_NVP(myFogHeight);
981  ar & BOOST_SERIALIZATION_NVP(myFogColor);
982  ar & BOOST_SERIALIZATION_NVP(myPrecipitation);
983  ar & BOOST_SERIALIZATION_NVP(myThermoclineRecordList);
984  }
985  if (version >= 5)
986  {
987  ar & BOOST_SERIALIZATION_NVP(myCloudCoverType);
988  if (version < 7)
989  {
990  ar & BOOST_SERIALIZATION_NVP(myUseCustomCloudCover);
991  }
992  }
993  if (version >= 6)
994  {
995  ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibilityEnabled);
996  }
997  if (version >= 8)
998  {
999  ar & BOOST_SERIALIZATION_NVP(myGroundSnowAccumulation);
1000  ar & BOOST_SERIALIZATION_NVP(myRoadSnowAccumulation);
1001  ar & BOOST_SERIALIZATION_NVP(mySnowMinimumElevation);
1002  ar & BOOST_SERIALIZATION_NVP(mySnowElevationTransition);
1003  }
1004  if (version >= 9)
1005  {
1006  ar & BOOST_SERIALIZATION_NVP(myGroundRainAccumulation);
1007  }
1008  if (version >= 10)
1009  {
1010  ar & BOOST_SERIALIZATION_NVP(myAirPressure);
1011  }
1012  if (version >= 12)
1013  {
1014  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitude);
1015  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitude);
1016  ar & BOOST_SERIALIZATION_NVP(myAirPressureAltitudeIsSeaLevel);
1017  ar & BOOST_SERIALIZATION_NVP(myAirTemperatureAltitudeIsSeaLevel);
1018  ar & BOOST_SERIALIZATION_NVP(mySeaLevelWaterConcentration);
1019  }
1020  if (version >= 13)
1021  {
1022  ar & BOOST_SERIALIZATION_NVP(myLightningPresent);
1023  }
1024 
1025  if (version >= 15)
1026  {
1027  ar& BOOST_SERIALIZATION_NVP(myBlowingParticulateMatter);
1028  }
1029  }
1030 
1031  std::string myEnvironmentName;
1033 
1040 
1042 
1043  // Old Wind Speed and Wind Direction - Needed to support versions < 11
1046 
1047  // Old Global Visibility - Needed to support versions < 12
1049 
1050  // Old Wind-Specific Elevational Configuration - Needed to support version 11
1052 
1053  // New Elevational (versions >= 12):
1054  // - Wind Speed and Wind Direction
1055  // - Visibility Distance and Obscurant
1057 
1059 
1071 
1077 
1080 
1082  // obsolete as of version 7 (it was never actually used)
1084 
1086 
1087  // obsolete as of version 4
1089  std::string myPrecipitationType;
1090 
1092 
1098 
1100 
1106  };
1107 
1108 }
1109 
1111 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtThermoclineRecord, 0)
1112 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalWindRecord, 0)
1113 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord, 1)
1114 BOOST_CLASS_VERSION(makArchives::DtEnvironmentRecord, 15)
bool myAirPressureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1103
ElevationalWindRecordList myWindConfigurations
Definition: DtEnvironmentRecord.h:1051
VisibilityObscurant myObscurant
Definition: DtEnvironmentRecord.h:371
float myAirTurbidity
Definition: DtEnvironmentRecord.h:1034
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:107
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
float myDepthOffset
Definition: DtEnvironmentRecord.h:1070
bool myUnderwaterVisibilityEnabled
Definition: DtEnvironmentRecord.h:1091
float myWaterCurrentDirection
Definition: DtEnvironmentRecord.h:1074
DtColorRecord myFogColor
Definition: DtEnvironmentRecord.h:1079
bool myWindDrivenSeaStateEnabled
Definition: DtEnvironmentRecord.h:1062
std::vector< DtElevationalWindRecord > ElevationalWindRecordList
Definition: DtEnvironmentRecord.h:378
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:366
float mySurfaceTransparency
Definition: DtEnvironmentRecord.h:1068
float myRoadSnowAccumulation
Definition: DtEnvironmentRecord.h:1094
bool myTidalDirection
Definition: DtEnvironmentRecord.h:1076
std::map< std::string, std::string > OptionalParameterMap
Definition: DtEnvironmentRecord.h:380
float myAirPressureAltitude
Definition: DtEnvironmentRecord.h:1101
float mySeaStateDirection
Definition: DtEnvironmentRecord.h:1061
float mySnowMinimumElevation
Definition: DtEnvironmentRecord.h:1095
float myGroundRainAccumulation
Definition: DtEnvironmentRecord.h:1097
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
float myPermeability
Definition: DtEnvironmentRecord.h:174
float myBaseMSLAltitude
Definition: DtEnvironmentRecord.h:238
DtCloudLayerRecord myCloudLayer
Definition: DtEnvironmentRecord.h:373
float mySnowElevationTransition
Definition: DtEnvironmentRecord.h:1096
float myWaterCurrentSpeed
Definition: DtEnvironmentRecord.h:1073
std::vector< DtThermoclineRecord > ThermoclineRecordList
Definition: DtEnvironmentRecord.h:377
std::string myPrecipitationType
Definition: DtEnvironmentRecord.h:1089
float myWindSpeed
Definition: DtEnvironmentRecord.h:367
float myGreen
Definition: DtEnvironmentRecord.h:120
Contains DLL export macros.
float myBlue
Definition: DtEnvironmentRecord.h:121
VisibilityObscurant
Definition: DtEnvironmentRecord.h:30
float myAirTemperatureAltitude
Definition: DtEnvironmentRecord.h:1102
float myAirPressure
Definition: DtEnvironmentRecord.h:1099
float myWindSpeed
Definition: DtEnvironmentRecord.h:1044
BlowingParticulateMatterType
Definition: DtEnvironmentRecord.h:22
float myWindSpeed
Definition: DtEnvironmentRecord.h:239
int mySeaState
Definition: DtEnvironmentRecord.h:1060
ThermoclineRecordList myThermoclineRecordList
Definition: DtEnvironmentRecord.h:1081
float myAlpha
Definition: DtEnvironmentRecord.h:122
float myUnderwaterVisibility
Definition: DtEnvironmentRecord.h:1067
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:251
float mySeaChoppiness
Definition: DtEnvironmentRecord.h:1066
bool myAirTemperatureAltitudeIsSeaLevel
Definition: DtEnvironmentRecord.h:1104
Record of thermocline settings.
Definition: DtEnvironmentRecord.h:127
bool myUseCustomCloudCover
Definition: DtEnvironmentRecord.h:1083
Contains makArchives::DtCloudLayerRecord class.
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:1048
bool myPrecipitationEnabledFlag
Definition: DtEnvironmentRecord.h:1088
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:230
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:376
Record of a single cloud layer&#39;s settings.
Definition: DtCloudLayerRecord.h:17
float mySurgeDepth
Definition: DtEnvironmentRecord.h:1069
DtCloudCoverType
Definition: DtCloudCoverType.h:14
Record of color settings.
Definition: DtEnvironmentRecord.h:50
OptionalParameterMap myOptionalParameters
Definition: DtEnvironmentRecord.h:1085
float myTidalOffset
Definition: DtEnvironmentRecord.h:1075
float myPrecipitationIntensity
Definition: DtEnvironmentRecord.h:1036
float myRed
Definition: DtEnvironmentRecord.h:119
float myAmbientAirTemperature
Definition: DtEnvironmentRecord.h:1058
ElevationalConfigurationRecordList myElevationalConfigurations
Definition: DtEnvironmentRecord.h:1056
std::string myEnvironmentName
Definition: DtEnvironmentRecord.h:1031
Record of environment/weather settings Includes precipitation, air, and clouds.
Definition: DtEnvironmentRecord.h:45
float myWindDirection
Definition: DtEnvironmentRecord.h:240
DtCloudCoverType myCloudCoverType
Definition: DtEnvironmentRecord.h:1038
float myAmbientWaterTemperature
Definition: DtEnvironmentRecord.h:1072
int myPrecipitation
Definition: DtEnvironmentRecord.h:1035
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:166
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:854
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:347
bool myIsLocalOnly
Definition: DtEnvironmentRecord.h:1032
CloudLayerRecordList myCloudLayers
Definition: DtEnvironmentRecord.h:1037
bool myLightningPresent
Definition: DtEnvironmentRecord.h:1039
float myFogHeight
Definition: DtEnvironmentRecord.h:1078
float myDepth
Definition: DtEnvironmentRecord.h:173
float myGroundSnowAccumulation
Definition: DtEnvironmentRecord.h:1093
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
float myWindDirection
Definition: DtEnvironmentRecord.h:1045
std::vector< DtElevationalConfigurationRecord > ElevationalConfigurationRecordList
Definition: DtEnvironmentRecord.h:379
float myVisibilityDistance
Definition: DtEnvironmentRecord.h:370
int mySwellState
Definition: DtEnvironmentRecord.h:1063
float mySeaLevelWaterConcentration
Definition: DtEnvironmentRecord.h:1105
float mySwellStateDirection
Definition: DtEnvironmentRecord.h:1064
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
Record for an elevational wind configuration.
Definition: DtEnvironmentRecord.h:180
float myWindDirection
Definition: DtEnvironmentRecord.h:368
BlowingParticulateMatterType myBlowingParticulateMatter
Definition: DtEnvironmentRecord.h:1041
float myWindFetch
Definition: DtEnvironmentRecord.h:1065

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)