VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentConditionsLogic.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 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 
16 
18 #include <matrix/vlVector.h>
19 
20 namespace makArchives
21 {
22  class DtEnvironmentRecord;
23 }
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtEnvironmentConditionsInterface;
29  class DtEnvironmentInterface;
30  class DtPersistenceControlsInterface;
31 
32 
36  {
37  public:
39 
40  public:
43  DtEnvironmentInterface& environment,
45  DtPersistenceControlsInterface& persistanceIface);
46 
49 
50  virtual void connectToInterface();
51 
52  public:
56  static float convertBaseMSLAltitudeWidgetDisplayToNative(float displayAltitude);
57 
61  static float convertBaseMSLAltitudeNativeToWidgetDisplay(float nativeAltitude);
62 
67  static float convertWindSpeedWidgetDisplayToNative(DtDe& de, float displayWindSpeed);
68 
73  static float convertWindSpeedNativeToWidgetDisplay(DtDe& de, float nativeWindSpeed);
74 
78  static float convertWindDirectionWidgetDisplayToNative(float displayWindSpeed);
79 
84  static float convertWindDirectionNativeToWidgetDisplay(float nativeWindSpeed);
85 
90  static float convertVisibilityDistanceWidgetDisplayToNative(DtDe& de, float displayVisibilityDistance);
91 
96  static float convertVisibilityDistanceNativeToWidgetDisplay(DtDe& de, float nativeVisibilityDistance);
97 
101  static float convertSkyCoverageWidgetDisplayToNative(float displaySkyCoverage);
102 
107  static float convertSkyCoverageNativeToWidgetDisplay(float nativeSkyCoverage);
108 
111 
113  static void setNonVrvVisualizableElevationalConfigurationColumnsEditState(DtEnvironmentConditionsInterface* inter, float baseMSLAltitude, bool isEditable);
114 
115  protected:
116 
119 
121  virtual void on_import();
122 
125  virtual void on_export();
126 
129  virtual void importSettings(const std::string& file);
130 
133  virtual void exportSettings(const std::string& file);
134 
136  virtual void restoreDefaultSettings();
137 
139  virtual void restoreFactorySettings();
140 
142 
145 
147  virtual void sceneCreated();
148 
151  virtual void atmosphericParametersChanged();
152 
155  virtual void precipitationSettingsChanged();
156 
159  virtual void groundSnowAccumulationChanged();
160 
163  virtual void roadSnowAccumulationChanged();
164 
167  virtual void snowMinimumElevationChanged();
168 
171  virtual void snowElevationTransitionChanged();
172 
175  virtual void groundRainAccumulationChanged();
176 
180  virtual void fogHeightChanged(float altitude);
181 
185  virtual void fogColorChanged(const DtVector& color);
186 
190  virtual void elevationalConfigurationRemoved(float baseMSLAltitude);
191 
196  virtual void elevationalConfigurationMoved(float oldBaseMSLAltitude, float newBaseMSLAltitude);
197 
203  virtual void elevationalConfigurationAdded(DtEnvironmentInterface::DtElevationalConfigurationRecord rec);
204 
210  virtual void elevationalConfigurationUpdated(DtEnvironmentInterface::DtElevationalConfigurationRecord rec);
211 
215  virtual void seaStateChanged(DtDouglasSeaState::Scale state);
216 
220  virtual void seaStateDirectionChanged(float radians);
221 
225  virtual void windDrivenSeaStateChanged(bool enabled);
226 
230  virtual void swellStateChanged(DtDouglasSwellState::Scale state);
231 
235  virtual void swellStateDirectionChanged(float radians);
236 
240  virtual void windFetchChanged(float distance);
241 
245  virtual void seaChoppinessChanged(float chop);
246 
251  virtual void underwaterVisibilityEnabledChanged(bool enable);
252 
256  virtual void underwaterVisibilityChanged(double distance);
257 
261  virtual void waterSurfaceTransparencyChanged(double transparency);
262 
266  virtual void surgeDepthChanged(double depth);
267 
271  virtual void depthOffsetChanged(double offset);
272 
274  virtual void tidalCurrentSpeedChanged(double speed);
276  virtual void tidalCurrentDirectionChanged(double direction);
277 
279  virtual void displayUnitsChanged();
280 
282 
285 
289  virtual void onSelectEnvironmentConditions(const DtUnicode& name);
290 
294  virtual void onAddEnvironmentConditions(const DtUnicode& name);
295 
298  virtual void onRemoveEnvironmentConditions(const DtUnicode& name);
299 
302  virtual void onSaveEnvironmentConditions(const DtUnicode& name);
303 
306  virtual void onSetDefaultEnvironmentConditions(const DtUnicode& name);
308 
310 
312  virtual void onChangeWindDirection(double value);
313 
315  virtual void onChangeWindSpeed(double value);
316 
318  virtual void onAddElevationalConfiguration();
319 
322  virtual void onRemoveElevationalConfiguration(float altitude);
323 
326  virtual void onElevationalConfigurationAltitudeChanged(float newAltitude, float oldAltitude);
327 
333  virtual void onUpdateElevationalConfiguration(float baseMSLAltitude,
334  float windSpeed, float windDirection,
335  float visibilityDistance, DtEnvironmentInterface::VisibilityObscurant obscurant,
336  DtEnvironmentInterface::CloudType cloudType, float cloudDensity, int skyCoverage);
337 
341  virtual void onChangePrecipitationType(int type);
342 
346  virtual void onChangePrecipitationIntensity(double value);
347 
351  virtual void onChangeLightningPresent( bool lightningPresent );
353 
356  virtual void onChangeGroundSnowAccumulation(double depth);
357 
360  virtual void onChangeRoadSnowAccumulation(double depth);
361 
364  virtual void onChangeSnowMinimumElevation(double elevation);
365 
368  virtual void onChangeSnowElevationTransition(double elevation);
369 
372  virtual void onChangeGroundRainAccumulation(double depth);
373 
378  virtual void onChangeFogHeight(double height);
379 
385  virtual void onChangeFogColor(double red, double green, double blue);
387 
392  virtual void onChangeSwellState(int index);
393 
397  virtual void onChangeSwellStateDirection(double degree);
398 
402  virtual void onEnableWindDrivenSeaState(bool enabled);
403 
407  virtual void onChangeSeaState(int index);
408 
412  virtual void onChangeSeaStateDirection(double degree);
414 
419  virtual void onChangeSeaSurfaceTransparency(double alpha);
420 
424  virtual void onChangeUnderWaterVisibilityEnabled(bool enable);
425 
429  virtual void onChangeUnderWaterVisibility(double distance);
430 
434  virtual void onChangeSeaChoppiness(double chop);
435 
439  virtual void onChangeWindFetch(double distance);
440 
444  virtual void onChangeSurgeDepth(double distance);
445 
449  virtual void onChangeDepthOffset(double offset);
450 
452  virtual void onChangeTidalCurrentSpeed(double speed);
454  virtual void onChangeTidalCurrentDirection(double direction);
455 
457 
461  virtual void onChangeRemoteSettings(bool enable);
462 
464  virtual void onRequestRemoteSettings();
466 
468 
470  virtual void sendEnvironmentToGUI(bool initialSettings);
471 
473  virtual void sendRemoteWeatherToGUI();
474 
476  virtual void sendPersistenceToGUI();
477 
480  virtual void blockEnvironmentSignals(bool blocked);
481 
482  protected:
489  };
490 }
DtSignalConnectionManager mySignals
Definition: DtEnvironmentConditionsLogic.h:484
std::list< DtUnicode > DtUnicodeList
Definition: DtEnvironmentConditionsInterface.h:35
The declaration of the makVrv::DtEnvironmentInterface class.
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtEnvironmentInterface * myEnvironment
Definition: DtEnvironmentConditionsLogic.h:486
DtEnvironmentConditionsInterface & myInterface
Definition: DtEnvironmentConditionsLogic.h:487
The logic for displaying/editing the environment conditions.
Definition: DtEnvironmentConditionsLogic.h:35
Declaration for the makVrv::DtEnvironmentConditionsInterface class.
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
Record for an elevational configuration A record of this type consists of 1) a base MSL altitude...
Definition: DtEnvironmentRecord.h:236
Scale
Definition: DtDouglasSeaScale.h:33
DtPersistenceControlsInterface & myPersistenceInterface
Definition: DtEnvironmentConditionsLogic.h:488
DtSignalConnectionManager myEnvironmentSignals
Definition: DtEnvironmentConditionsLogic.h:485
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...
The DtEnvironmentInterface is an interface class providing abstraction for different managers of envi...
Definition: DtEnvironmentInterface.h:40
Scale
Definition: DtDouglasSeaScale.h:114
static const DtEnvironmentConditionsInterface::DtUnicodeList CloudTypeNames
Definition: DtEnvironmentConditionsLogic.h:38
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
An abstract interface for a weather condition settings widget.
Definition: DtEnvironmentConditionsInterface.h:30
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
voidpf uLong offset
Definition: ioapi.h:42
DtDe & myDe
Definition: DtEnvironmentConditionsLogic.h:483
CloudType
Cloud layer types.
Definition: DtCloudTypeMapper.h:35

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)