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 sunAlpha(
const osg::Camera* osgCamera)
const;
105 virtual void setDrawSunAndMoonIntoEnvMap(
const osg::Camera* osgCamera,
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);
141 virtual void setGroundFogColor(
const DtVector& color)
override;
142 virtual const Vector3_32& 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 setRainSplashEffect();
237 void setGenerateCubeMaps(
bool enabled);
251 void clearFogOverrideForAllCameras(
void);
254 void setHorizonColor(
const Vector4_32& horizonColor);
257 void clearHorizonColor();
260 void updatePrecipitation();
280 virtual bool shouldActivateRaindrops()
const;
282 virtual double maxPrecipitationAltitude(
void)
const;
290 virtual bool bindFogFroxelTexture(
const int unit,
const unsigned int renderContextId);
293 virtual float fogFroxelMaxDistance()
const;
295 void updatePrecipitationSilverLining();
297 virtual void sendCloudLayer(
const CloudLayer& layer);
float myWindDirection
Definition: DtOsgSkyObject.h:320
float mySavedVisibility
Definition: DtOsgSkyObject.h:325
bool myPrecipitationEnabled
Definition: DtOsgSkyObject.h:309
Contains makVrv::DtWeatherAreaGroup class.
float myAirTemperature
Definition: DtOsgSkyObject.h:313
osg::ref_ptr< osg::TextureCubeMap > myDefaultCubeMap
Definition: DtOsgSkyObject.h:329
int myPrecipitationEffectType
Definition: DtOsgSkyObject.h:310
float myAirTurbidity
Definition: DtOsgSkyObject.h:312
A group node which serves as a root for weather layers.
Definition: DtWeatherLayerGroup.h:46
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:305
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:18
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:75
DtVector myLocation
Definition: DtOsgSkyObject.h:307
A group node which adds a silver-lining sky and will light all Children with the proper lighting para...
Definition: DtSilverliningGroup.h:97
Definition: DtSkyObject.h:36
Contains makVrv::DtSkyObject class.
float myVisibleDistance
Definition: DtOsgSkyObject.h:314
float myWindAltMinimum
Definition: DtOsgSkyObject.h:321
Vector3_32 myGroundFogColor
Definition: DtOsgSkyObject.h:317
bool myLensFlareEnabled
Definition: DtOsgSkyObject.h:323
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:315
float myWindSpeed
Definition: DtOsgSkyObject.h:319
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:304
bool myPrecipitationVisibilityEffects
Definition: DtOsgSkyObject.h:326
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myVisibilitySaved
Definition: DtOsgSkyObject.h:324
float myFogThreshold
Definition: DtOsgSkyObject.h:318
osg::ref_ptr< DtSilverliningGroup > mySilverliningGroup
Definition: DtOsgSkyObject.h:303
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:300
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:72
float myWindAltMaximum
Definition: DtOsgSkyObject.h:322
DtSignalConnectionManager mySignals
Definition: DtOsgSkyObject.h:302
float myPrecipitationIntensity
Definition: DtOsgSkyObject.h:311
Contains makVrv::DtSilverliningGroup class.
Vector4_32 myFogColor
Definition: DtOsgSkyObject.h:316
CloudLayerMap myCloudLayerMap
Definition: DtOsgSkyObject.h:308
DtWeatherLayer * myHailLayer
Definition: DtOsgSkyObject.h:306