17 #include <osg/TextureCubeMap>
19 #include <unordered_map>
24 class DtWaterOnScreen;
41 virtual void setLocation(
const DtVector& location);
45 virtual const DtVector& location()
const;
59 virtual void setCloudLayerDeckType(
DtCloudLayerId layerId,
int deckType);
60 virtual void setCloudLayerCornerRadius(
DtCloudLayerId layerId,
float corner);
62 virtual void setCloudLayerDensity(
DtCloudLayerId layerId,
double density);
63 virtual void setCloudLayerInfiniteFlag(
DtCloudLayerId layerId,
bool infinite);
64 virtual void setCloudLayerRelativeFlag(
DtCloudLayerId layerId,
bool relative);
65 virtual void setCloudLayerFadeAtAltitudeFlag(
DtCloudLayerId layerId,
bool fadeAtAltitude);
66 virtual void setCloudLayerAltitudeIsHATFlag(
DtCloudLayerId layerId,
bool altitudeIsHAT);
88 virtual void removeCloudLayers();
92 virtual void sendCloudLayers();
98 virtual void setCloudLayerEnabled(
DtCloudLayerId layerId,
bool enabled);
102 virtual float getSunAlpha()
const;
105 virtual void setDrawSunAndMoonIntoEnvMap(
bool draw);
109 virtual void setAirTurbidity(
float turbidity);
110 virtual float airTurbidity()
const;
115 virtual void setAmbientAirTemperature(
float temperature);
116 virtual float ambientAirTemperature()
const;
121 virtual void setVisibleDistance(
float distance);
122 virtual float visibleDistance()
const;
127 virtual void setFogHeight(
float meters);
128 virtual float fogHeight()
const;
136 virtual void setFogColor(
const DtVector& color);
137 virtual const osg::Vec4& fogColor()
const;
141 virtual void setGroundFogColor(
const DtVector& color)
override;
142 virtual const osg::Vec3& groundFogColor()
const;
150 virtual void setFogThresholdDistance(
float distance);
151 virtual float fogThresholdDistance()
const;
156 virtual void setPrecipitationEnabled(
bool enabled);
157 virtual bool precipitationEnabled()
const;
162 virtual void setPrecipitationVisibilityEffectsEnabled(
bool enabled);
163 virtual bool precipitationVisibilityEffectsEnabled()
const;
169 virtual void setPrecipitationType(
int type);
170 virtual int precipitationType()
const;
175 virtual void setPrecipitationIntensity(
float intensity);
176 virtual float precipitationIntensity()
const;
186 virtual bool computeLocalPrecipitation(
const DtVector& location,
int& type,
float& intensity)
const;
196 virtual bool computeLocalGroundRainAccumulation(
const DtVector& location,
197 float& depth,
float& blend)
const;
201 virtual void setCloudLayerPositionAndOrientation(
DtCloudLayerId layerId,
const DtVector& position,
float orientation);
205 virtual void setWindSpeed(
float metersPerSecond);
206 virtual float windSpeed()
const;
211 virtual void setWindDirection(
float radians);
213 virtual float windDirection()
const;
216 virtual float windDirectionInDegrees()
const;
221 virtual void setMinimumWindAltitude(
float alt);
222 virtual float minimumWindAltitude()
const;
227 virtual void setMaximumWindAltitude(
float alt);
228 virtual float maximumWindAltitude()
const;
233 virtual void setLensFlare(
bool enabled);
234 virtual bool lensFlare()
const;
239 virtual void setCrepuscularRays(
bool enabled);
240 virtual bool crepuscularRays()
const;
245 virtual void setRainSplashEffect();
249 void setGenerateCubeMaps(
bool enabled);
261 void clearFogOverrideForAllCameras(
void);
264 void setHorizonColor(
const osg::Vec4f& horizonColor);
267 void clearHorizonColor();
270 void updatePrecipitation();
289 bool shouldActivateRaindrops()
const;
296 virtual bool bindFogFroxelTexture(
const int unit,
const unsigned int renderContextId);
299 virtual float fogFroxelMaxDistance()
const;
302 void updatePrecipitationSilverLining();
304 void on_coordinateSystemChanged(
const std::string& type);
306 void applyCurrentSettings();
310 virtual void sendCloudLayer(
const CloudLayer& layer);
float myWindDirection
Definition: DtOsgSkyObject.h:335
float mySavedVisibility
Definition: DtOsgSkyObject.h:341
bool myPrecipitationEnabled
Definition: DtOsgSkyObject.h:324
Contains makVrv::DtWeatherAreaGroup class.
float myAirTemperature
Definition: DtOsgSkyObject.h:328
osg::ref_ptr< osg::TextureCubeMap > myDefaultCubeMap
Definition: DtOsgSkyObject.h:345
int myPrecipitationEffectType
Definition: DtOsgSkyObject.h:325
float myAirTurbidity
Definition: DtOsgSkyObject.h:327
A group node which serves as a root for weather layers.
Definition: DtWeatherLayerGroup.h:48
The base sky object.
Definition: DtSkyObject.h:29
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
osg::ref_ptr< DtWeatherLayerGroup > myWeatherLayerGroup
Definition: DtOsgSkyObject.h:320
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
An OSG implementation of the sky.
Definition: DtOsgSkyObject.h:28
A group node which serves as a root for weather areas, patchy ground fog areas and effects...
Definition: DtWeatherAreaGroup.h:72
DtVector myLocation
Definition: DtOsgSkyObject.h:322
A group node which adds a silver-lining sky and will light all Children with the proper lighting para...
Definition: DtSilverliningGroup.h:82
Definition: DtSkyObject.h:36
Contains makVrv::DtSkyObject class.
float myVisibleDistance
Definition: DtOsgSkyObject.h:329
float myWindAltMinimum
Definition: DtOsgSkyObject.h:336
bool myLensFlareEnabled
Definition: DtOsgSkyObject.h:338
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...
float myFogHeight
Definition: DtOsgSkyObject.h:330
float myWindSpeed
Definition: DtOsgSkyObject.h:334
Contains makVrv::DtWeatherLayerGroup class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
osg::ref_ptr< DtWeatherAreaGroup > myWeatherAreaGroup
Definition: DtOsgSkyObject.h:319
bool myCrepuscularRaysEnabled
Definition: DtOsgSkyObject.h:339
bool myPrecipitationVisibilityEffects
Definition: DtOsgSkyObject.h:342
bool myVisibilitySaved
Definition: DtOsgSkyObject.h:340
float myFogThreshold
Definition: DtOsgSkyObject.h:333
osg::ref_ptr< DtSilverliningGroup > mySilverliningGroup
Definition: DtOsgSkyObject.h:318
Base class to provide boost signal/slot management.
A weather layer uses one or more weather effects to create a top level visual.
Definition: DtWeatherLayer.h:47
std::unordered_map< DtCloudLayerId, CloudLayer > CloudLayerMap
Definition: DtOsgSkyObject.h:314
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
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
float myWindAltMaximum
Definition: DtOsgSkyObject.h:337
DtSignalConnectionManager mySignals
Definition: DtOsgSkyObject.h:317
DtDe & myDe
Definition: DtOsgSkyObject.h:316
float myPrecipitationIntensity
Definition: DtOsgSkyObject.h:326
Contains makVrv::DtSilverliningGroup class.
CloudLayerMap myCloudLayerMap
Definition: DtOsgSkyObject.h:323
DtWeatherLayer * myHailLayer
Definition: DtOsgSkyObject.h:321
osg::Vec3f myGroundFogColor
Definition: DtOsgSkyObject.h:332
osg::Vec4f myFogColor
Definition: DtOsgSkyObject.h:331