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) 2023 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 setSnowMinimumElevation(float elevation) override;
86 
88  virtual void setRoadSnowAccumulation(float accumulation) override;
89 
91  virtual void setGroundRainAccumulation(float accumulation) override;
92 
94  virtual void setGroundSnowAccumulation(float accumulation) override;
95 
97  virtual void setFogColor(const makArchives::DtEnvironmentRecord::DtColorRecord& color) override;
98 
100  virtual void setFogHeight(float meters) override;
101 
103  virtual void setAirTemperatureAltitude(float value) override;
104 
106  virtual void setAirPressureAltitude(float value) override;
107 
109  virtual void setSwellState(DtDouglasSwellState::Scale state) override;
110 
112  virtual void setSwellStateDirection(float value) override;
113 
115  virtual void setSeaState(DtDouglasSeaState::Scale state) override;
116 
118  virtual void setSeaStateDirection(float value) override;
119 
122  virtual void setWindDrivenSeaStateEnabled(bool value, bool force);
123 
125  virtual void setWindFetch(float value) override;
126 
128  virtual void setSeaChoppiness(float value) override;
129 
131  virtual void setUnderwaterVisibility(float distance) override;
132 
134  virtual void setSurfaceTransparency(float value) override;
135 
137  virtual void setSurgeDepth(float value) override;
138 
140  virtual void setAmbientWaterTemperature(float temperature) override;
141 
143  virtual void setWaterCurrentSpeed(float speed) override;
144 
146  virtual void setWaterCurrentDirection(float direction) override;
147 
149  virtual void setTidalOffset(float meters) override;
150 
153  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setBaseMSLAltitude(DtUniqueID layerId, float mslAltitudeInMeters) override;
154 
157  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindSpeed(DtUniqueID layerId, float speedInMetersPerSecond) override;
158 
161  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setWindDirection(DtUniqueID layerId, float offsetInRadiansFromTrueNorth) override;
162 
165  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setVisibilityDistance(DtUniqueID layerId, float visibilityInMeters) override;
166 
168  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setObscurant(DtUniqueID layerId, makArchives::VisibilityObscurant obscurantEnumerationValue) override;
169 
171  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudType(DtUniqueID layerId, const std::string& cloudTypeName) override;
172 
175  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setCloudDensity(DtUniqueID layerId, float cloudDensity) override;
176 
179  virtual makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord* setSkyCoverage(DtUniqueID layerId, float skyCoverage) override;
180 
181  protected:
184  virtual void updateOrAddLocalElevationLayer(makArchives::DtEnvironmentRecord::DtEnvironmentRecord::DtElevationalConfigurationRecord& rec);
185 
186  protected:
188  double myZoneWidth;
189  double myZoneLength;
190  double myZoneHeight;
192 
193  DtLocalEnvironmentalsControllerObjectAgent* myLocalWeatherAgent;
194 
195  };
196 
202  {
203  public:
206 
209 
212 
215 
216  public:
218  virtual DtLocalLayeredEnvironmentData* create(DtLocalEnvironmentalsControllerObjectAgent* globalWeatherAgent) const;
219  };
220 }
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:201
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:21
DtLocalEnvironmentalsControllerObjectAgent * myLocalWeatherAgent
Definition: DtLocalLayeredEnvironmentData.h:193
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:242
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
Scale
Definition: DtDouglasSeaScale.h:33
double myZoneWidth
Definition: DtLocalLayeredEnvironmentData.h:188
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:187
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Scale
Definition: DtDouglasSeaScale.h:114
Record of color settings.
Definition: DtEnvironmentRecord.h:41
double myZoneHeight
Definition: DtLocalLayeredEnvironmentData.h:190
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
PrecipitationType
Definition: DtEnvironmentInterface.h:44
double myZoneCornerRadius
Definition: DtLocalLayeredEnvironmentData.h:191
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:189
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)