VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLocalLayeredEnvironmentData.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 
12 #include <vrvCore/vrvCore.h>
13 
16 
17 namespace makVrv
18 {
19  class DtLocalEnvironmentalsControllerObjectAgent;
20  class DtBaseConnection;
21 
31  {
32  public:
34  DtLocalLayeredEnvironmentData(DtLocalEnvironmentalsControllerObjectAgent* weatherAgent);
35 
38 
41 
44 
47 
48  public:
51  virtual void setLocalZoneOrigin(const DtVector& origin);
52  virtual const DtVector& localZoneOrigin() const;
54 
59  virtual void setLocalZoneShape(double width, double length, double height, double cornerRadius);
60  virtual void getLocalZoneShape(double& width, double& length, double& height, double& cornerRadius) const;
62 
64  virtual float removeElevationalConfiguration(DtUniqueID layerId) override;
65 
67  virtual void setAirPressure(float pressure) override;
68 
70  virtual void setAirTemperature(float temp) override;
71 
73  virtual void setPrecipitationType(DtEnvironment::PrecipitationType precipType) override;
74 
76  virtual void setPrecipitationIntensity(float intensity) override;
77 
79  virtual void setSeaLevelWaterConcentration(float concentration) override;
80 
82  virtual void setLightningPresent(bool present) override;
83 
85  virtual void setBlowingParticulateMatter(DtEnvironment::BlowingParticulateMatterType type) override;
86 
88  virtual void setSnowMinimumElevation(float elevation) override;
89 
91  virtual void setRoadSnowAccumulation(float accumulation) override;
92 
94  virtual void setGroundRainAccumulation(float accumulation) override;
95 
97  virtual void setGroundSnowAccumulation(float accumulation) override;
98 
100  virtual void setFogColor(const makArchives::DtEnvironmentRecord::DtColorRecord& color) override;
101 
103  virtual void setFogHeight(float meters) override;
104 
106  virtual void setAirTemperatureAltitude(float value) override;
107 
109  virtual void setAirPressureAltitude(float value) override;
110 
112  virtual void setSwellState(DtDouglasSwellState::Scale state) override;
113 
115  virtual void setSwellStateDirection(float value) override;
116 
118  virtual void setSeaState(DtDouglasSeaState::Scale state) override;
119 
121  virtual void setSeaStateDirection(float value) override;
122 
125  virtual void setWindDrivenSeaStateEnabled(bool value, bool force) override;
126 
128  virtual void setWindFetch(float value) override;
129 
131  virtual void setSeaChoppiness(float value) override;
132 
134  virtual void setUnderwaterVisibility(float distance) override;
135 
137  virtual void setSurfaceTransparency(float value) override;
138 
140  virtual void setSurgeDepth(float value) override;
141 
143  virtual void setAmbientWaterTemperature(float temperature) override;
144 
146  virtual void setWaterCurrentSpeed(float speed) override;
147 
149  virtual void setWaterCurrentDirection(float direction) override;
150 
152  virtual void setTidalOffset(float meters) override;
153 
156  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setBaseMSLAltitude(DtUniqueID layerId, float mslAltitudeInMeters) override;
157 
160  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindSpeed(DtUniqueID layerId, float speedInMetersPerSecond) override;
161 
164  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindDirection(DtUniqueID layerId, float offsetInRadiansFromTrueNorth) override;
165 
168  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setVisibilityDistance(DtUniqueID layerId, float visibilityInMeters) override;
169 
171  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setObscurant(DtUniqueID layerId, makArchives::VisibilityObscurant obscurantEnumerationValue) override;
172 
174  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudType(DtUniqueID layerId, const std::string& cloudTypeName) override;
175 
178  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudDensity(DtUniqueID layerId, float cloudDensity) override;
179 
182  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setSkyCoverage(DtUniqueID layerId, float skyCoverage) override;
183 
184  protected:
187  virtual void updateOrAddLocalElevationLayer(makArchives::DtEnvironmentRecord::DtEnvironmentRecord::DtElevationalConfigurationRecord& rec);
188 
189  protected:
190  DtVector myZoneOrigin;
191  double myZoneWidth;
192  double myZoneLength;
193  double myZoneHeight;
195 
196  DtLocalEnvironmentalsControllerObjectAgent* myLocalWeatherAgent;
197 
198  };
199 
205  {
206  public:
209 
212 
215 
218 
219  public:
221  virtual DtLocalLayeredEnvironmentData* create(DtLocalEnvironmentalsControllerObjectAgent* globalWeatherAgent) const;
222  };
223 }
DtLayeredEnvironmentDataBase is a container class that can be used to maintain the global or a local ...
Definition: DtLayeredEnvironmentDataBase.h:35
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtLocalLayeredEnvironmentDataCreator provides a mechanism for users to extend the DtLocalLayeredEnvir...
Definition: DtLocalLayeredEnvironmentData.h:204
voidpf uLong int origin
Definition: ioapi.h:42
DtLocalLayeredEnvironmentData extends DtLayeredEnvironmentDataBase by overriding its data &#39;mutator&#39; m...
Definition: DtLocalLayeredEnvironmentData.h:30
Contains makVrv::DtLayeredEnvironmentDataBase class.
VisibilityObscurant
Definition: DtEnvironmentRecord.h:30
BlowingParticulateMatterType
Definition: DtEnvironmentRecord.h:22
DtLocalEnvironmentalsControllerObjectAgent * myLocalWeatherAgent
Definition: DtLocalLayeredEnvironmentData.h:196
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:251
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
Scale
Definition: DtDouglasSeaScale.h:33
double myZoneWidth
Definition: DtLocalLayeredEnvironmentData.h:191
Contains makVrv::DtVirtualBaseClass class.
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...
DtVector myZoneOrigin
Definition: DtLocalLayeredEnvironmentData.h:190
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Scale
Definition: DtDouglasSeaScale.h:114
Record of color settings.
Definition: DtEnvironmentRecord.h:50
double myZoneHeight
Definition: DtLocalLayeredEnvironmentData.h:193
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
PrecipitationType
Definition: DtEnvironmentInterface.h:44
double myZoneCornerRadius
Definition: DtLocalLayeredEnvironmentData.h:194
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
double myZoneLength
Definition: DtLocalLayeredEnvironmentData.h:192
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)