VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLandSurfaceStateInterceptor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvVrl/vrvVrl.h>
12 
13 #ifndef DT_PROTOCOL_NAMESPACE
14 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
15 #endif
16 
17 #include <vrvCore/DtUniqueID.h>
18 
20 
22 
23 #include <vl/landSurfaceStateRepository.h>
24 
25 
26 
27 class DtVrlUuid;
28 class DtString;
29 
30 namespace makVrv
31 {
32  class DtEnvironmentStatusManager;
33 
34  namespace DT_PROTOCOL_NAMESPACE
35  {
36  class DtVrlinkConnection;
37 
55  {
56  public:
59 
62 
65 
68 
70  virtual void setGeoReference(const DtGeoReferenceVariant& val);
71 
73  virtual void setTemperature(DtFloat32 val);
74 
76  virtual void setPrecipitation(const DtPrecipitationStruct& val);
77 
79  virtual void setHumidity(DtFloat32 val);
80 
82  virtual void setBarometricPressure(DtFloat32 val);
83 
85  virtual void setSnow(const DtSnowStruct& val) override;
86 
88  virtual void setMoisture(const DtSurfaceMoistureEnum16& val) override;
89 
91  virtual void setIceCondition(const DtRoadIceConditionEnum16& val) override;
92 
94  virtual void setBlowingParticulateMatter(const DtBlowingParticulateMatterEnum16& val) override;
95 
97  virtual void setSnowMinimumAltitude(const DtFloat64& val) override;
98 
100  virtual void setSnowRoadAccumulation(const DtFloat64& val) override;
101 
103  virtual void setRainAccumulation(const DtFloat32 val) override;
104 
106  virtual void setIsLightningPresent(bool val) override;
107 
109  virtual void setVisualObscurantColor(int r, int g, int b, int a) override;
110 
112  virtual void setVisualObscurantColor(unsigned int color) override;
113 
115  virtual void setVisualObscurantHeight(DtFloat32 val) override;
116 
117  virtual void setReferenceTemperatureAltitude(DtFloat32 val) override;
118 
120  virtual void setReferencePressureAltitude(DtFloat32 val) override;
121 
122  protected:
124  virtual void initializeAll() override;
125 
127  virtual void updateEnvironmentStatusManagerBlowingParticulateMatter();
128 
129  public:
131  static DtLandSurfaceStateRepository* create();
132 
134  static float moistureToRainDepth(const DtSurfaceMoistureEnum16& val);
135 
137  virtual float decodeVrlPrecipitationIntensity(const DtFloat32 intensity) const;
138 
139  // This *should* return the enumerated type, but apparently some conflict between VRV and VRL
140  // forces us to do this and cast it in the .inl file to its proper type.
141  static int decodeVrlPrecipitationType(DtPrecipitationTypeEnum32 vrlPrecipType);
142 
143  // convert from VR-Link Blowing Particulate Matter enum to VRV type
144  static unsigned int decodeVrlBlowingParticulateMatterType(
145  DtBlowingParticulateMatterEnum16 vrlType);
146 
147  private:
149  //\throws DtCorrutedState this class is not copyable.
150  virtual DtStateRepository* clone(bool copy = false) const override;
151  };
152  }
153 }
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
Contains makVrv::DtEnvironmentStateInterceptorBase class.
Contains makVrv::DtVirtualBaseClass class.
float DtFloat32
Definition: vrvControlStructTypes.h:35
DtLandSurfaceStateInterceptor extends the VR-Link DtLandSurfaceStateRepository class by overriding al...
Definition: DtLandSurfaceStateInterceptor.h:52
double DtFloat64
Definition: vrvControlStructTypes.h:36
DtEnvironmentStateInterceptorBase is a common base for all of the state interceptors managing METOC e...
Definition: DtEnvironmentStateInterceptorBase.h:51
Contains makVrv::DtUniqueID type.
Contains DLL export macros.

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)