VR-Forces Developer's Guide
 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) 2022 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 
122  virtual void setElevationalVisibilityDistanceRange(float minimum, float maximum) = 0;
123 
129  virtual void setWindDirection(float baseMSLAltitude, float degrees) = 0;
130 
132  virtual void addElevationalConfiguration(float baseMSLAltitude,
133  float windSpeed, int windDirection,
134  float visibilityDistance, DtEnvironmentInterface::VisibilityObscurant obscurant,
135  DtEnvironmentInterface::CloudType cloudType, float cloudDensity, int skyCoverage, bool isRemovable = true) = 0;
136 
138  virtual void removeElevationalConfiguration(float altitude) = 0;
139 
141  virtual void moveElevationalConfiguration(float oldAltitude, float newAltitude) = 0;
142 
144  virtual void removeAllElevationalConfigurations() = 0;
145 
149  virtual int getElevationalConfigurationTableIndexByBaseMSLAltitude(float altitude) const = 0;
150 
153  virtual void setElevationalConfigurationEditableStateByColumn(float altitude, int column, bool editable, bool force = false) = 0;
154 
156  virtual float currentHighestElevationalConfigurationBaseMSLAltitude() = 0;
157 
159  virtual int elevationalConfigurationCount() const = 0;
160 
164  virtual void setPrecipitationType(unsigned int type) = 0;
165 
168  virtual void setPrecipitationIntensity(double intensity) = 0;
169 
173  virtual void setPrecipitationIntensityUnits(DtDisplayUnitsConverter::VelocityUnits unit) = 0;
174 
182  virtual void setVisibleDistance(float baseMSLAltitude, double distance) = 0;
183 
188  virtual void setVisibleObscurant(float baseMSLAltitude, DtEnvironmentInterface::VisibilityObscurant obscurant) = 0;
189 
194  virtual void setCloudType(float baseMSLAltitude, DtEnvironmentInterface::CloudType cloudType) = 0;
195 
200  virtual void setCloudDensity(float baseMSLAltitude, float cloudDensity) = 0;
201 
206  virtual void setSkyCoverage(float baseMSLAltitude, int skyCoverage) = 0;
207 
210  virtual void setVisibilityObscurantNames(const DtUnicodeList& names) = 0;
211 
214  virtual DtUnicodeList visibilityObscurantNames() const = 0;
215 
218  virtual void setCloudTypeNames(const DtUnicodeList& names) = 0;
219 
222  virtual DtUnicodeList cloudTypeNames() const = 0;
223 
226  virtual void setSkyCoverageNames(const DtUnicodeList& names) = 0;
227 
230  virtual DtUnicodeList skyCoverageNames() const = 0;
231 
233  virtual void setLightningPresent(bool lightningPresent) = 0;
235 
240  virtual void setGroundSnowAccumulation(double depth) = 0;
241 
245  virtual void setGroundSnowAccumulationDecimals(int decimals) = 0;
246 
252  virtual void setGroundSnowAccumulationRange(double step, double max, double min = 0.0) = 0;
253 
257  virtual void setGroundSnowAccumulationUnits(const DtUnicode& units) = 0;
258 
264  virtual void setRoadSnowAccumulation(double depth) = 0;
265 
269  virtual void setRoadSnowAccumulationDecimals(int decimals) = 0;
270 
276  virtual void setRoadSnowAccumulationRange(double step, double max, double min = 0.0) = 0;
277 
281  virtual void setRoadSnowAccumulationUnits(const DtUnicode& units) = 0;
282 
287  virtual void setSnowMinimumElevation(double elevation) = 0;
288 
292  virtual void setSnowMinimumElevationDecimals(int decimals) = 0;
293 
299  virtual void setSnowMinimumElevationRange(double step, double max, double min = 0.0) = 0;
300 
304  virtual void setSnowMinimumElevationUnits(const DtUnicode& units) = 0;
305 
306 
311  virtual void setSnowElevationTransition(double elevation) = 0;
312 
316  virtual void setSnowElevationTransitionDecimals(int decimals) = 0;
317 
323  virtual void setSnowElevationTransitionRange(double step, double max, double min = 0.0) = 0;
324 
328  virtual void setSnowElevationTransitionUnits(const DtUnicode& units) = 0;
329 
330 
336  virtual void setGroundRainAccumulation(double depth) = 0;
337 
341  virtual void setGroundRainAccumulationDecimals(int decimals) = 0;
342 
348  virtual void setGroundRainAccumulationRange(double step, double max, double min = 0.0) = 0;
349 
353  virtual void setGroundRainAccumulationUnits(const DtUnicode& units) = 0;
354 
355 
359 
365  virtual void setFogHeight(double height) = 0;
366 
370  virtual void setFogHeightDecimals(int decimals) = 0;
371 
375  virtual void setFogHeightUnits(const DtUnicode& units) = 0;
376 
382  virtual void setFogHeightRange(
383  double step, double max, double min = 0.0) = 0;
384 
390  virtual void setFogColor(double red, double green, double blue) = 0;
391 
393 
397 
400  virtual void setSwellStateNames(const DtUnicodeList& names) = 0;
401 
404  virtual DtUnicodeList swellStateNames() const = 0;
405 
409  virtual void setSwellState(unsigned int index) = 0;
410 
413  virtual void setSwellState(const DtUnicode& name) = 0;
414 
417  virtual void setSwellStateDirection(double degrees) = 0;
418 
423  virtual void enableWindDrivenSeaState(bool enable) = 0;
424 
427  virtual void setSeaStateNames(const DtUnicodeList& names) = 0;
428 
431  virtual DtUnicodeList seaStateNames() const = 0;
432 
436  virtual void setSeaState(unsigned int index) = 0;
437 
440  virtual void setSeaState(const DtUnicode& name) = 0;
441 
444  virtual void setSeaStateDirection(double degrees) = 0;
445 
447 
451 
454  virtual void setSurfaceTransparency(double alpha) = 0;
455 
458  virtual void setUnderwaterVisibilityEnabled(bool enabled) = 0;
459 
465  virtual void setUnderwaterVisibility(double distance) = 0;
466 
470  virtual void setUnderwaterVisibilityDecimals(int decimals) = 0;
471 
475  virtual void setUnderwaterVisibilityUnits(const DtUnicode& units) = 0;
476 
482  virtual void setUnderwaterVisibilityRange(
483  double step, double max, double min = 0.0) = 0;
484 
487  virtual void setWaterChoppiness(double chop) = 0;
488 
494  virtual void setWindFetch(double distance) = 0;
495 
499  virtual void setWindFetchDecimals(int decimals) = 0;
500 
504  virtual void setWindFetchUnits(const DtUnicode& units) = 0;
505 
511  virtual void setWindFetchRange(
512  double step, double max, double min = 0.0) = 0;
513 
516  virtual void setSurgeDepth(double depth) = 0;
517 
521  virtual void setSurgeDepthDecimals(int decimals) = 0;
522 
526  virtual void setSurgeDepthUnits(const DtUnicode& units) = 0;
527 
533  virtual void setSurgeDepthRange(
534  double step, double max, double min = 0.0) = 0;
535 
538  virtual void setDepthOffset(double offset) = 0;
539 
543  virtual void setTidalCurrentSpeedDecimals(int decimals) = 0;
544 
548  virtual void setTidalCurrentSpeedUnits(const DtUnicode& units) = 0;
549 
555  virtual void setTidalCurrentSpeedRange(double step, double max,
556  double min = 0.0) = 0;
557 
561  virtual void setTidalCurrentSpeed( double speed ) = 0;
562 
566  virtual void setTidalCurrentDirectionDecimals(int decimals) = 0;
567 
571  virtual void setTidalCurrentDirectionUnits(const DtUnicode& units) = 0;
572 
578  virtual void setTidalCurrentDirectionRange(double step, double max,
579  double min = 0.0) = 0;
580 
582  virtual void setTidalCurrentDirection( double direction ) = 0;
583 
585 
588 
591  virtual void setListenToRemoteWeather(bool enable) = 0;
592 
594 
598 
599  boost::signalslib::signal<void (const DtUnicode&)> signal_selectEnvironmentConditions;
600  boost::signalslib::signal<void (const DtUnicode&)> signal_addEnvironmentConditions;
601  boost::signalslib::signal<void (const DtUnicode&)> signal_removeEnvironmentConditions;
602  boost::signalslib::signal<void (const DtUnicode&)> signal_saveEnvironmentConditions;
603  boost::signalslib::signal<void (const DtUnicode&)> signal_setDefaultEnvironmentConditions;
604 
605  boost::signalslib::signal<void ()> signal_addElevationalConfiguration;
606  boost::signalslib::signal<void (float)> signal_removeElevationalConfiguration;
607  boost::signalslib::signal<void(float, float)> signal_elevationalConfigurationAltitudeChanged;
608  boost::signalslib::signal<void(float, float, int, float, DtEnvironmentInterface::VisibilityObscurant, DtEnvironmentInterface::CloudType, float, int)> signal_elevationalConfigurationUpdated;
609 
610  boost::signalslib::signal<void (int)> signal_changePrecipitationType;
611  boost::signalslib::signal<void (double)> signal_changePrecipitationIntensity;
612 
613  boost::signalslib::signal<void (makArchives::DtCloudCoverType)> signal_cloudCoverChanged;
614  boost::signalslib::signal<void (bool)> signal_lightningPresentChanged;
615 
616  boost::signalslib::signal<void(double)> signal_changeGroundSnowAccumulation;
617  boost::signalslib::signal<void(double)> signal_changeRoadSnowAccumulation;
618  boost::signalslib::signal<void(double)> signal_changeSnowMinimumElevation;
619  boost::signalslib::signal<void(double)> signal_changeSnowElevationTransition;
620 
621  boost::signalslib::signal<void(double)> signal_changeWindSpeed;
622  boost::signalslib::signal<void(double)> signal_changeWindDirection;
623 
624  boost::signalslib::signal<void(double)> signal_changeGroundRainAccumulation;
625 
626  boost::signalslib::signal<void (double)> signal_changeFogHeight;
627  boost::signalslib::signal<void (double, double, double)> signal_changeFogColor;
628 
629  boost::signalslib::signal<void (unsigned int)> signal_changeSwellState;
630  boost::signalslib::signal<void (double)> signal_changeSwellStateDirection;
631 
632  boost::signalslib::signal<void (bool)> signal_enableWindDrivenSeaState;
633  boost::signalslib::signal<void (unsigned int)> signal_changeSeaState;
634  boost::signalslib::signal<void (double)> signal_changeSeaStateDirection;
635 
636  boost::signalslib::signal<void (double)> signal_changeSeaSurfaceTransparency;
637  boost::signalslib::signal<void (bool)> signal_changeUnderWaterVisibilityEnabled;
638  boost::signalslib::signal<void (double)> signal_changeUnderWaterVisibility;
639  boost::signalslib::signal<void (double)> signal_changeSeaChoppiness;
640  boost::signalslib::signal<void (double)> signal_changeWindFetch;
641  boost::signalslib::signal<void (double)> signal_changeSurgeDepth;
642  boost::signalslib::signal<void (double)> signal_changeDepthOffset;
643  boost::signalslib::signal<void (double)> signal_changeTidalCurrentSpeed;
644  boost::signalslib::signal<void (double)> signal_changeTidalCurrentDirection;
645 
646  boost::signalslib::signal<void (bool)> signal_changeRemoteSettings;
647  boost::signalslib::signal<void ()> signal_requestRemoteSettings;
648 
650  protected:
652  };
653 }
boost::signalslib::signal< void(const DtUnicode &)> signal_setDefaultEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:603
VelocityUnits
Enumeration of the different velocity units.
Definition: DtDisplayUnitsSettingsRecord.h:73
std::list< DtUnicode > DtUnicodeList
Definition: DtEnvironmentConditionsInterface.h:35
boost::signalslib::signal< void()> signal_addElevationalConfiguration
Definition: DtEnvironmentConditionsInterface.h:605
boost::signalslib::signal< void(double)> signal_changeGroundRainAccumulation
Definition: DtEnvironmentConditionsInterface.h:624
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
boost::signalslib::signal< void(double)> signal_changeSeaSurfaceTransparency
Definition: DtEnvironmentConditionsInterface.h:636
boost::signalslib::signal< void(const DtUnicode &)> signal_removeEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:601
boost::signalslib::signal< void(const DtUnicode &)> signal_saveEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:602
boost::signalslib::signal< void(double)> signal_changeSwellStateDirection
Definition: DtEnvironmentConditionsInterface.h:630
Definition: DtEnvironmentConditionsInterface.h:46
boost::signalslib::signal< void(float, float)> signal_elevationalConfigurationAltitudeChanged
Definition: DtEnvironmentConditionsInterface.h:607
Definition: DtEnvironmentConditionsInterface.h:41
boost::signalslib::signal< void(const DtUnicode &)> signal_selectEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:599
boost::signalslib::signal< void(double)> signal_changeSnowElevationTransition
Definition: DtEnvironmentConditionsInterface.h:619
boost::signalslib::signal< void(double)> signal_changePrecipitationIntensity
Definition: DtEnvironmentConditionsInterface.h:611
boost::signalslib::signal< void(double)> signal_changeTidalCurrentSpeed
Definition: DtEnvironmentConditionsInterface.h:643
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
boost::signalslib::signal< void(bool)> signal_enableWindDrivenSeaState
Definition: DtEnvironmentConditionsInterface.h:632
boost::signalslib::signal< void(double)> signal_changeSeaChoppiness
Definition: DtEnvironmentConditionsInterface.h:639
Contains DLL export macros.
boost::signalslib::signal< void(unsigned int)> signal_changeSwellState
Definition: DtEnvironmentConditionsInterface.h:629
VisibilityObscurant
Definition: DtEnvironmentRecord.h:30
boost::signalslib::signal< void(int)> signal_changePrecipitationType
Definition: DtEnvironmentConditionsInterface.h:610
Contains the DtDisplayUnitsSettingsManager class declaration.
boost::signalslib::signal< void()> signal_requestRemoteSettings
Definition: DtEnvironmentConditionsInterface.h:647
boost::signalslib::signal< void(double)> signal_changeDepthOffset
Definition: DtEnvironmentConditionsInterface.h:642
boost::signalslib::signal< void(double)> signal_changeUnderWaterVisibility
Definition: DtEnvironmentConditionsInterface.h:638
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...
Definition: DtEnvironmentConditionsInterface.h:44
boost::signalslib::signal< void(double)> signal_changeRoadSnowAccumulation
Definition: DtEnvironmentConditionsInterface.h:617
boost::signalslib::signal< void(double)> signal_changeSurgeDepth
Definition: DtEnvironmentConditionsInterface.h:641
boost::signalslib::signal< void(float, float, int, float, DtEnvironmentInterface::VisibilityObscurant, DtEnvironmentInterface::CloudType, float, int)> signal_elevationalConfigurationUpdated
Definition: DtEnvironmentConditionsInterface.h:608
Definition: DtEnvironmentConditionsInterface.h:42
boost::signalslib::signal< void(double)> signal_changeWindFetch
Definition: DtEnvironmentConditionsInterface.h:640
boost::signalslib::signal< void(double)> signal_changeFogHeight
Definition: DtEnvironmentConditionsInterface.h:626
boost::signalslib::signal< void(double)> signal_changeWindDirection
Definition: DtEnvironmentConditionsInterface.h:622
boost::signalslib::signal< void(double, double, double)> signal_changeFogColor
Definition: DtEnvironmentConditionsInterface.h:627
boost::signalslib::signal< void(double)> signal_changeSeaStateDirection
Definition: DtEnvironmentConditionsInterface.h:634
boost::signalslib::signal< void(bool)> signal_changeUnderWaterVisibilityEnabled
Definition: DtEnvironmentConditionsInterface.h:637
Definition: DtEnvironmentConditionsInterface.h:43
boost::signalslib::signal< void(bool)> signal_changeRemoteSettings
Definition: DtEnvironmentConditionsInterface.h:646
boost::signalslib::signal< void(double)> signal_changeSnowMinimumElevation
Definition: DtEnvironmentConditionsInterface.h:618
boost::signalslib::signal< void(double)> signal_changeGroundSnowAccumulation
Definition: DtEnvironmentConditionsInterface.h:616
Definition: DtEnvironmentConditionsInterface.h:48
boost::signalslib::signal< void(bool)> signal_lightningPresentChanged
Definition: DtEnvironmentConditionsInterface.h:614
DtDe & myDe
Definition: DtEnvironmentConditionsInterface.h:651
boost::signalslib::signal< void(float)> signal_removeElevationalConfiguration
Definition: DtEnvironmentConditionsInterface.h:606
An abstract interface for a weather condition settings widget.
Definition: DtEnvironmentConditionsInterface.h:30
boost::signalslib::signal< void(unsigned int)> signal_changeSeaState
Definition: DtEnvironmentConditionsInterface.h:633
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:76
boost::signalslib::signal< void(const DtUnicode &)> signal_addEnvironmentConditions
Definition: DtEnvironmentConditionsInterface.h:600
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:613
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_changeWindSpeed
Definition: DtEnvironmentConditionsInterface.h:621
boost::signalslib::signal< void(double)> signal_changeTidalCurrentDirection
Definition: DtEnvironmentConditionsInterface.h:644

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)