VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentConditionsInterface.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>
13 
14 #include <string>
15 #include <list>
16 
18 
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtUnicode;
26 
27 
31  {
32  public:
33 
35  typedef std::list<DtUnicode> DtUnicodeList;
36 
39  {
40  BaseMSLAltitudeColumnIndex = 0,
49  };
50 
51  public:
52 
56 
59 
63 
66  virtual void setEnvironmentConditionsNames(const DtUnicodeList& names) = 0;
67 
70  virtual DtUnicodeList environmentConditionNames() const = 0;
71 
74  virtual void setDefaultConditionName(const DtUnicode& name) = 0;
75 
77 
81 
88  virtual void setWindSpeed(float baseMSLAltitude, float speed) = 0;
89 
92  virtual void setElevationalWindSpeedRange(double max) = 0;
93 
97  virtual void setElevationalWindSpeedDecimals(int decimals) = 0;
98 
102  virtual void setElevationalWindSpeedUnits(const DtUnicode& units) = 0;
103 
106  virtual void setElevationalConfigurationBaseMSLAltitudeUnits(const DtUnicode& units) = 0;
107 
111  virtual void setElevationalVisibilityDistanceDecimals(int decimals) = 0;
112 
116  virtual void setElevationalVisibilityDistanceUnits(const DtUnicode& units) = 0;
117 
123  virtual void setWindDirection(float baseMSLAltitude, float degrees) = 0;
124 
126  virtual void addElevationalConfiguration(float baseMSLAltitude,
127  float windSpeed, int windDirection,
128  float visibilityDistance, DtEnvironmentInterface::VisibilityObscurant obscurant,
129  DtEnvironmentInterface::CloudType cloudType, float cloudDensity, int skyCoverage, bool isRemovable = true) = 0;
130 
132  virtual void removeElevationalConfiguration(float altitude) = 0;
133 
135  virtual void moveElevationalConfiguration(float oldAltitude, float newAltitude) = 0;
136 
138  virtual void removeAllElevationalConfigurations() = 0;
139 
143  virtual int getElevationalConfigurationTableIndexByBaseMSLAltitude(float altitude) const = 0;
144 
147  virtual void setElevationalConfigurationEditableStateByColumn(float altitude, int column, bool editable, bool force = false) = 0;
148 
150  virtual float currentHighestElevationalConfigurationBaseMSLAltitude() = 0;
151 
153  virtual int elevationalConfigurationCount() const = 0;
154 
158  virtual void setPrecipitationType(unsigned int type) = 0;
159 
162  virtual void setPrecipitationIntensity(double intensity) = 0;
163 
167  virtual void setPrecipitationIntensityUnits(DtDisplayUnitsConverter::VelocityUnits unit) = 0;
168 
176  virtual void setVisibleDistance(float baseMSLAltitude, double distance) = 0;
177 
182  virtual void setVisibleObscurant(float baseMSLAltitude, DtEnvironmentInterface::VisibilityObscurant obscurant) = 0;
183 
188  virtual void setCloudType(float baseMSLAltitude, DtEnvironmentInterface::CloudType cloudType) = 0;
189 
194  virtual void setCloudDensity(float baseMSLAltitude, float cloudDensity) = 0;
195 
200  virtual void setSkyCoverage(float baseMSLAltitude, int skyCoverage) = 0;
201 
204  virtual void setVisibilityObscurantNames(const DtUnicodeList& names) = 0;
205 
208  virtual DtUnicodeList visibilityObscurantNames() const = 0;
209 
212  virtual void setCloudTypeNames(const DtUnicodeList& names) = 0;
213 
216  virtual DtUnicodeList cloudTypeNames() const = 0;
217 
220  virtual void setSkyCoverageNames(const DtUnicodeList& names) = 0;
221 
224  virtual DtUnicodeList skyCoverageNames() const = 0;
225 
227  virtual void setLightningPresent(bool lightningPresent) = 0;
229 
234  virtual void setGroundSnowAccumulation(double depth) = 0;
235 
239  virtual void setGroundSnowAccumulationDecimals(int decimals) = 0;
240 
246  virtual void setGroundSnowAccumulationRange(double step, double max, double min = 0.0) = 0;
247 
251  virtual void setGroundSnowAccumulationUnits(const DtUnicode& units) = 0;
252 
258  virtual void setRoadSnowAccumulation(double depth) = 0;
259 
263  virtual void setRoadSnowAccumulationDecimals(int decimals) = 0;
264 
270  virtual void setRoadSnowAccumulationRange(double step, double max, double min = 0.0) = 0;
271 
275  virtual void setRoadSnowAccumulationUnits(const DtUnicode& units) = 0;
276 
281  virtual void setSnowMinimumElevation(double elevation) = 0;
282 
286  virtual void setSnowMinimumElevationDecimals(int decimals) = 0;
287 
293  virtual void setSnowMinimumElevationRange(double step, double max, double min = 0.0) = 0;
294 
298  virtual void setSnowMinimumElevationUnits(const DtUnicode& units) = 0;
299 
300 
305  virtual void setSnowElevationTransition(double elevation) = 0;
306 
310  virtual void setSnowElevationTransitionDecimals(int decimals) = 0;
311 
317  virtual void setSnowElevationTransitionRange(double step, double max, double min = 0.0) = 0;
318 
322  virtual void setSnowElevationTransitionUnits(const DtUnicode& units) = 0;
323 
324 
330  virtual void setGroundRainAccumulation(double depth) = 0;
331 
335  virtual void setGroundRainAccumulationDecimals(int decimals) = 0;
336 
342  virtual void setGroundRainAccumulationRange(double step, double max, double min = 0.0) = 0;
343 
347  virtual void setGroundRainAccumulationUnits(const DtUnicode& units) = 0;
348 
349 
353 
359  virtual void setFogHeight(double height) = 0;
360 
364  virtual void setFogHeightDecimals(int decimals) = 0;
365 
369  virtual void setFogHeightUnits(const DtUnicode& units) = 0;
370 
376  virtual void setFogHeightRange(
377  double step, double max, double min = 0.0) = 0;
378 
384  virtual void setFogColor(double red, double green, double blue) = 0;
385 
387 
391 
394  virtual void setSwellStateNames(const DtUnicodeList& names) = 0;
395 
398  virtual DtUnicodeList swellStateNames() const = 0;
399 
403  virtual void setSwellState(unsigned int index) = 0;
404 
407  virtual void setSwellState(const DtUnicode& name) = 0;
408 
411  virtual void setSwellStateDirection(double degrees) = 0;
412 
417  virtual void enableWindDrivenSeaState(bool enable) = 0;
418 
421  virtual void setSeaStateNames(const DtUnicodeList& names) = 0;
422 
425  virtual DtUnicodeList seaStateNames() const = 0;
426 
430  virtual void setSeaState(unsigned int index) = 0;
431 
434  virtual void setSeaState(const DtUnicode& name) = 0;
435 
438  virtual void setSeaStateDirection(double degrees) = 0;
439 
441 
445 
448  virtual void setSurfaceTransparency(double alpha) = 0;
449 
452  virtual void setUnderwaterVisibilityEnabled(bool enabled) = 0;
453 
459  virtual void setUnderwaterVisibility(double distance) = 0;
460 
464  virtual void setUnderwaterVisibilityDecimals(int decimals) = 0;
465 
469  virtual void setUnderwaterVisibilityUnits(const DtUnicode& units) = 0;
470 
476  virtual void setUnderwaterVisibilityRange(
477  double step, double max, double min = 0.0) = 0;
478 
481  virtual void setWaterChoppiness(double chop) = 0;
482 
488  virtual void setWindFetch(double distance) = 0;
489 
493  virtual void setWindFetchDecimals(int decimals) = 0;
494 
498  virtual void setWindFetchUnits(const DtUnicode& units) = 0;
499 
505  virtual void setWindFetchRange(
506  double step, double max, double min = 0.0) = 0;
507 
510  virtual void setSurgeDepth(double depth) = 0;
511 
515  virtual void setSurgeDepthDecimals(int decimals) = 0;
516 
520  virtual void setSurgeDepthUnits(const DtUnicode& units) = 0;
521 
527  virtual void setSurgeDepthRange(
528  double step, double max, double min = 0.0) = 0;
529 
532  virtual void setDepthOffset(double offset) = 0;
533 
537  virtual void setTidalCurrentSpeedDecimals(int decimals) = 0;
538 
542  virtual void setTidalCurrentSpeedUnits(const DtUnicode& units) = 0;
543 
549  virtual void setTidalCurrentSpeedRange(double step, double max,
550  double min = 0.0) = 0;
551 
555  virtual void setTidalCurrentSpeed( double speed ) = 0;
556 
560  virtual void setTidalCurrentDirectionDecimals(int decimals) = 0;
561 
565  virtual void setTidalCurrentDirectionUnits(const DtUnicode& units) = 0;
566 
572  virtual void setTidalCurrentDirectionRange(double step, double max,
573  double min = 0.0) = 0;
574 
576  virtual void setTidalCurrentDirection( double direction ) = 0;
577 
579 
582 
585  virtual void setListenToRemoteWeather(bool enable) = 0;
586 
588 
592 
593  boost::signalslib::signal<void (const DtUnicode&)> signal_selectEnvironmentConditions;
594  boost::signalslib::signal<void (const DtUnicode&)> signal_addEnvironmentConditions;
595  boost::signalslib::signal<void (const DtUnicode&)> signal_removeEnvironmentConditions;
596  boost::signalslib::signal<void (const DtUnicode&)> signal_saveEnvironmentConditions;
597  boost::signalslib::signal<void (const DtUnicode&)> signal_setDefaultEnvironmentConditions;
598 
599  boost::signalslib::signal<void ()> signal_addElevationalConfiguration;
600  boost::signalslib::signal<void (float)> signal_removeElevationalConfiguration;
601  boost::signalslib::signal<void(float, float)> signal_elevationalConfigurationAltitudeChanged;
602  boost::signalslib::signal<void(float, float, int, float, DtEnvironmentInterface::VisibilityObscurant, DtEnvironmentInterface::CloudType, float, int)> signal_elevationalConfigurationUpdated;
603 
604  boost::signalslib::signal<void (int)> signal_changePrecipitationType;
605  boost::signalslib::signal<void (double)> signal_changePrecipitationIntensity;
606 
607  boost::signalslib::signal<void (makArchives::DtCloudCoverType)> signal_cloudCoverChanged;
608  boost::signalslib::signal<void (bool)> signal_lightningPresentChanged;
609 
610  boost::signalslib::signal<void(double)> signal_changeGroundSnowAccumulation;
611  boost::signalslib::signal<void(double)> signal_changeRoadSnowAccumulation;
612  boost::signalslib::signal<void(double)> signal_changeSnowMinimumElevation;
613  boost::signalslib::signal<void(double)> signal_changeSnowElevationTransition;
614 
615  boost::signalslib::signal<void(double)> signal_changeGroundRainAccumulation;
616 
617  boost::signalslib::signal<void (double)> signal_changeFogHeight;
618  boost::signalslib::signal<void (double, double, double)> signal_changeFogColor;
619 
620  boost::signalslib::signal<void (unsigned int)> signal_changeSwellState;
621  boost::signalslib::signal<void (double)> signal_changeSwellStateDirection;
622 
623  boost::signalslib::signal<void (bool)> signal_enableWindDrivenSeaState;
624  boost::signalslib::signal<void (unsigned int)> signal_changeSeaState;
625  boost::signalslib::signal<void (double)> signal_changeSeaStateDirection;
626 
627  boost::signalslib::signal<void (double)> signal_changeSeaSurfaceTransparency;
628  boost::signalslib::signal<void (bool)> signal_changeUnderWaterVisibilityEnabled;
629  boost::signalslib::signal<void (double)> signal_changeUnderWaterVisibility;
630  boost::signalslib::signal<void (double)> signal_changeSeaChoppiness;
631  boost::signalslib::signal<void (double)> signal_changeWindFetch;
632  boost::signalslib::signal<void (double)> signal_changeSurgeDepth;
633  boost::signalslib::signal<void (double)> signal_changeDepthOffset;
634  boost::signalslib::signal<void (double)> signal_changeTidalCurrentSpeed;
635  boost::signalslib::signal<void (double)> signal_changeTidalCurrentDirection;
636 
637  boost::signalslib::signal<void (bool)> signal_changeRemoteSettings;
638  boost::signalslib::signal<void ()> signal_requestRemoteSettings;
639 
641  protected:
643  };
644 }
boost::signalslib::signal< void(const DtUnicode &)> signal_setDefaultEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:597
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:72
std::list< DtUnicode > DtUnicodeList
Definition: DtEnvironmentConditionsInterface.h:35
boost::signalslib::signal< void()> signal_addElevationalConfiguration
Definition: DtEnvironmentConditionsInterface.h:599
boost::signalslib::signal< void(double)> signal_changeGroundRainAccumulation
Definition: DtEnvironmentConditionsInterface.h:615
The declaration of the makVrv::DtEnvironmentInterface class.
A unicode string.
Definition: DtUnicode.h:33
boost::signalslib::signal< void(double)> signal_changeSeaSurfaceTransparency
Definition: DtEnvironmentConditionsInterface.h:627
boost::signalslib::signal< void(const DtUnicode &)> signal_removeEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:595
boost::signalslib::signal< void(const DtUnicode &)> signal_saveEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:596
boost::signalslib::signal< void(double)> signal_changeSwellStateDirection
Definition: DtEnvironmentConditionsInterface.h:621
Definition: DtEnvironmentConditionsInterface.h:46
boost::signalslib::signal< void(float, float)> signal_elevationalConfigurationAltitudeChanged
Definition: DtEnvironmentConditionsInterface.h:601
Definition: DtEnvironmentConditionsInterface.h:41
boost::signalslib::signal< void(const DtUnicode &)> signal_selectEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:593
boost::signalslib::signal< void(double)> signal_changeSnowElevationTransition
Definition: DtEnvironmentConditionsInterface.h:613
boost::signalslib::signal< void(double)> signal_changePrecipitationIntensity
Definition: DtEnvironmentConditionsInterface.h:605
boost::signalslib::signal< void(double)> signal_changeTidalCurrentSpeed
Definition: DtEnvironmentConditionsInterface.h:634
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
boost::signalslib::signal< void(bool)> signal_enableWindDrivenSeaState
Definition: DtEnvironmentConditionsInterface.h:623
boost::signalslib::signal< void(double)> signal_changeSeaChoppiness
Definition: DtEnvironmentConditionsInterface.h:630
Contains DLL export macros.
boost::signalslib::signal< void(unsigned int)> signal_changeSwellState
Definition: DtEnvironmentConditionsInterface.h:620
VisibilityObscurant
Definition: DtEnvironmentRecord.h:21
boost::signalslib::signal< void(int)> signal_changePrecipitationType
Definition: DtEnvironmentConditionsInterface.h:604
Contains the DtDisplayUnitsSettingsManager class declaration.
boost::signalslib::signal< void()> signal_requestRemoteSettings
Definition: DtEnvironmentConditionsInterface.h:638
boost::signalslib::signal< void(double)> signal_changeDepthOffset
Definition: DtEnvironmentConditionsInterface.h:633
boost::signalslib::signal< void(double)> signal_changeUnderWaterVisibility
Definition: DtEnvironmentConditionsInterface.h:629
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
Definition: DtEnvironmentConditionsInterface.h:44
boost::signalslib::signal< void(double)> signal_changeRoadSnowAccumulation
Definition: DtEnvironmentConditionsInterface.h:611
boost::signalslib::signal< void(double)> signal_changeSurgeDepth
Definition: DtEnvironmentConditionsInterface.h:632
boost::signalslib::signal< void(float, float, int, float, DtEnvironmentInterface::VisibilityObscurant, DtEnvironmentInterface::CloudType, float, int)> signal_elevationalConfigurationUpdated
Definition: DtEnvironmentConditionsInterface.h:602
Definition: DtEnvironmentConditionsInterface.h:42
boost::signalslib::signal< void(double)> signal_changeWindFetch
Definition: DtEnvironmentConditionsInterface.h:631
boost::signalslib::signal< void(double)> signal_changeFogHeight
Definition: DtEnvironmentConditionsInterface.h:617
boost::signalslib::signal< void(double, double, double)> signal_changeFogColor
Definition: DtEnvironmentConditionsInterface.h:618
boost::signalslib::signal< void(double)> signal_changeSeaStateDirection
Definition: DtEnvironmentConditionsInterface.h:625
boost::signalslib::signal< void(bool)> signal_changeUnderWaterVisibilityEnabled
Definition: DtEnvironmentConditionsInterface.h:628
Definition: DtEnvironmentConditionsInterface.h:43
boost::signalslib::signal< void(bool)> signal_changeRemoteSettings
Definition: DtEnvironmentConditionsInterface.h:637
boost::signalslib::signal< void(double)> signal_changeSnowMinimumElevation
Definition: DtEnvironmentConditionsInterface.h:612
boost::signalslib::signal< void(double)> signal_changeGroundSnowAccumulation
Definition: DtEnvironmentConditionsInterface.h:610
Definition: DtEnvironmentConditionsInterface.h:48
boost::signalslib::signal< void(bool)> signal_lightningPresentChanged
Definition: DtEnvironmentConditionsInterface.h:608
DtDe & myDe
Definition: DtEnvironmentConditionsInterface.h:642
boost::signalslib::signal< void(float)> signal_removeElevationalConfiguration
Definition: DtEnvironmentConditionsInterface.h:600
An abstract interface for a weather condition settings widget.
Definition: DtEnvironmentConditionsInterface.h:30
boost::signalslib::signal< void(unsigned int)> signal_changeSeaState
Definition: DtEnvironmentConditionsInterface.h:624
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signalslib::signal< void(const DtUnicode &)> signal_addEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:594
Definition: DtEnvironmentConditionsInterface.h:47
Definition: DtEnvironmentConditionsInterface.h:45
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::signal< void(makArchives::DtCloudCoverType)> signal_cloudCoverChanged
Definition: DtEnvironmentConditionsInterface.h:607
CloudType
Cloud layer types.
Definition: DtCloudTypeMapper.h:35
AtmosphericConditionsTableColumnIndices
enumuration of the atmospheric column indices
Definition: DtEnvironmentConditionsInterface.h:38
boost::signalslib::signal< void(double)> signal_changeTidalCurrentDirection
Definition: DtEnvironmentConditionsInterface.h:635

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)