20 #include <matrix/vlVector.h>
25 class DtSkyObjectSignaler;
40 const DtVector& location =
DtVector(0, 0, 0),
float orientation = 0.,
float cornerRadius = 0.,
41 const DtVector& bounds =
DtVector(0, 0, 0),
double density = 0.0,
bool infinite =
false,
42 bool relative =
false,
43 bool fadeAtAltitude =
true,
bool altitudeIsHAT =
true)
46 , myLocation(location)
47 , myOrientation(orientation)
48 , myCornerRadius(cornerRadius)
51 , myInfinite(infinite)
52 , myRelative(relative)
54 , myFadeAtAltitude(fadeAtAltitude)
55 , myAltitudeIsHAT(altitudeIsHAT)
108 virtual void setLocation(
const DtVector& location );
111 virtual void setDateAndTime(
unsigned short year,
unsigned char month,
112 unsigned char day,
unsigned char hour,
unsigned char minutes,
113 double seconds,
bool observeDaylightSavings);
118 virtual void setCloudLayerDeckType(
DtCloudLayerId layerId,
int deckType) = 0;
119 virtual void setCloudLayerCornerRadius(
DtCloudLayerId layerId,
float corner) = 0;
121 virtual void setCloudLayerDensity(
DtCloudLayerId layerId,
double density) = 0;
122 virtual void setCloudLayerInfiniteFlag(
DtCloudLayerId layerId,
bool infinite) = 0;
123 virtual void setCloudLayerRelativeFlag(
DtCloudLayerId layerId,
bool relative) = 0;
124 virtual void setCloudLayerFadeAtAltitudeFlag(
DtCloudLayerId layerId,
bool fadeAtAltitude) = 0;
125 virtual void setCloudLayerAltitudeIsHATFlag(
DtCloudLayerId layerId,
bool altitudeIsHAT) = 0;
129 virtual void setCloudLayerEnabled(
DtCloudLayerId layerId,
bool enabled) = 0;
138 virtual void removeCloudLayers() = 0;
141 virtual void setAirTurbidity(
float turbidity) = 0;
144 virtual void setAmbientAirTemperature(
float temperature) = 0;
147 virtual void setVisibleDistance(
float distance) = 0;
150 virtual void setPrecipitationEnabled(
bool enabled) = 0;
154 virtual void setPrecipitationType(
int type) = 0;
157 virtual void setPrecipitationIntensity(
float intensity) = 0;
161 float orientation) = 0;
164 virtual void setFogHeight(
float meters) = 0;
167 virtual void setFogColor(
const DtVector& color) = 0;
170 virtual void setGroundFogColor(
const DtVector& color) = 0;
173 virtual void setWindSpeed(
float metersPerSecond) = 0;
176 virtual void setWindDirection(
float radians) = 0;
181 void setAmbientLightValue(
float ambientLightValue );
182 float ambientLightValue()
const;
187 bool isDaylight()
const;
192 bool isSkyCastingShadows()
const;
219 boost::signalslib::signal<void(DtCloudLayerId layerId, bool enabled) >
248 boost::signalslib::signal<void(
DtCloudLayerId layerId,
double xCoord,
boost::signalslib::signal< void(DtCloudLayerId layerId)> signal_addCloudLayer
Signals for changed values.
Definition: DtSkyObject.h:215
boost::signalslib::signal< void(float distance)> signal_visibleDistanceChanged
Signal raised when the visible distance changes.
Definition: DtSkyObject.h:235
static const float theMaximumVisibilityDistance
Maximum Visibility Distance. The default is 20 km.
Definition: DtSkyObject.h:99
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(bool enabled)> signal_precipitationEnabledChanged
Signal raised when precipitation is enabled or disabled.
Definition: DtSkyObject.h:238
static const double theMaximumPrecipitationRate
Maximum precipitation rate in mm/hr.
Definition: DtSkyObject.h:97
boost::signalslib::signal< void()> signal_removeCloudLayers
Signal raised when all the cloud decks are removed.
Definition: DtSkyObject.h:226
boost::signalslib::signal< void(DtCloudLayerId layerId, bool enabled) > signal_cloudLayerEnabledChanged
Signal raised when a cloud layer is enabled/disabled.
Definition: DtSkyObject.h:220
The base sky object.
Definition: DtSkyObject.h:29
Contains makVrv::DtCloudCoverManager class.
#define DtCloudLayerIdUndefined
Definition: DtCloudLayer.h:29
static const float theDefaultSkyShadowsLightLevelNoHdr
Value for shadow visibility without HDR.
Definition: DtSkyObject.h:88
CloudLayer(DtCloudLayerId layerId=DtCloudLayerIdUndefined, int type=0, const DtVector &location=DtVector(0, 0, 0), float orientation=0., float cornerRadius=0., const DtVector &bounds=DtVector(0, 0, 0), double density=0.0, bool infinite=false, bool relative=false, bool fadeAtAltitude=true, bool altitudeIsHAT=true)
Definition: DtSkyObject.h:39
double myDensity
Definition: DtSkyObject.h:65
boost::signalslib::signal< void(const DtVector &color)> signal_fogColorChanged
Signal raised when the color of the fog layer changes.
Definition: DtSkyObject.h:255
DtCloudLayerId myLayerId
Definition: DtSkyObject.h:59
Definition: DtSkyObject.h:36
boost::signalslib::signal< void(float turbidity)> signal_airTurbidityChanged
Signal raised when the air turbidity changes.
Definition: DtSkyObject.h:229
boost::signalslib::signal< void(const DtVector &locStart, const DtVector &locEnd)> signal_lightningStrikeOccurred
Signal raised when a lightning strike occurred locStart The starting location of the strike locEnd ...
Definition: DtSkyObject.h:273
boost::signalslib::signal< void(DtCloudLayerId layerId, double xCoord, double yCoord)> signal_cloudLayerPositionChanged
Signal raised when a cloud layer moves to a new position.
Definition: DtSkyObject.h:249
DtVector myLocation
Definition: DtSkyObject.h:61
boost::signalslib::signal< void(DtCloudLayerId layerId)> signal_modifyCloudLayer
Definition: DtSkyObject.h:216
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(float temperature)> signal_ambientAirTemperatureChanged
Signal raised when the visible distance changes.
Definition: DtSkyObject.h:232
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
boost::signalslib::signal< void(int type)> signal_precipitationTypeChanged
Signal raised when the precipitation type changes.
Definition: DtSkyObject.h:242
bool myRelative
Definition: DtSkyObject.h:67
DtSkyObjectSignaler & mySignaler
Definition: DtSkyObject.h:199
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myAltitudeIsHAT
Definition: DtSkyObject.h:70
boost::signalslib::signal< void(float metersPerSecond)> signal_windSpeedChanged
Signal raised when the wind speed changes.
Definition: DtSkyObject.h:258
boost::signalslib::signal< void(float intensity)> signal_precipitationIntensityChanged
Signal raised when the precipitation intensity changes.
Definition: DtSkyObject.h:245
float myCornerRadius
Definition: DtSkyObject.h:63
static const float theDefaultFogVisibilityLevel
Value for fog visibility - standard definition (1000 m.)
Definition: DtSkyObject.h:92
boost::signalslib::signal< void(float radians) > signal_windDirectionChanged
Signal raised the wind direction changes.
Definition: DtSkyObject.h:261
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signalslib::signal< void(DtCloudLayerId layerId) > signal_removeCloudLayer
Signal raised when a cloud deck is removed.
Definition: DtSkyObject.h:223
DtVector myBounds
Definition: DtSkyObject.h:64
boost::signalslib::signal< void(float)> signal_ambientLightValueChanged
Signal raised when the ambient light value changes.
Definition: DtSkyObject.h:264
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
Contains makVrv::DtUniqueID type.
boost::signalslib::signal< void(bool)> signal_isDayChanged
Signal raised when the ambient light value is above the DefaultDayLightLevel.
Definition: DtSkyObject.h:268
PrecipitationType
Precipitation types.
Definition: DtSkyObject.h:74
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
float myOrientation
Definition: DtSkyObject.h:62
bool myEnabled
Definition: DtSkyObject.h:68
int myType
Definition: DtSkyObject.h:60
Definition: DtSkyObject.h:203
DtDe & myDe
Definition: DtSkyObject.h:200
static const float theDefaultDayLightLevel
Value for daylight visibility.
Definition: DtSkyObject.h:86
static const float theDefaultSkyShadowsLightLevelHdr
Value for shadow visibility with HDR.
Definition: DtSkyObject.h:90
boost::signalslib::signal< void(float meters)> signal_fogHeightChanged
Signal raised when the ceiling height of the fog layer changes.
Definition: DtSkyObject.h:252
float myAmbientLightValue
Definition: DtSkyObject.h:198
bool myFadeAtAltitude
Definition: DtSkyObject.h:69
bool myInfinite
Definition: DtSkyObject.h:66
Contains DLL export macros.