VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrf::DtVrfSilverliningGroup Class Reference
Inheritance diagram for makVrf::DtVrfSilverliningGroup:
Inheritance graph
[legend]

Public Member Functions

 DtVrfSilverliningGroup (makVrv::DtDe &)
 CTOR. More...
 
virtual ~DtVrfSilverliningGroup ()
 
virtual void setDateAndTime (unsigned short year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minutes, double seconds, bool observeDaylightSavings)
 Setup the date and time of silver lining. More...
 
virtual void setLocation (const DtVector &location)
 Set the location using a local coordinate (it will be converted to the global coordinate using the current coordinate system). More...
 
virtual DtVrfSimBackendManagerbackendManager () const
 
virtual DtLocalWeatherManagerlocalWeatherManager () const
 
DtVrfDistributedEnvironmentSettingsManagerenvManager ()
 
- Public Member Functions inherited from makVrv::DtSilverliningGroup
 DtSilverliningGroup (DtDe &de)
 CTOR. More...
 
virtual ~DtSilverliningGroup ()
 DTOR. More...
 
DtDegetDe ()
 
virtual void setGenerateCubeMaps (bool enabled)
 Enable auto-generation of cube maps from the sky. More...
 
void setCubeMapGenerationDistanceThreshold (double threshold)
 Set the distance threshold for re-generating cube maps. More...
 
virtual unsigned int getCubeMap (const osg::ref_ptr< const osg::Camera > &camera) const
 Retrieve a texture ID for a cube map containing the local sky for a given camera. More...
 
virtual unsigned int getPrimaryCubeMap () const
 Retrieve a texture ID for a cube map containing the local sky for general use. More...
 
virtual void installIntoChannel (DtChannel *)
 
virtual void applyFog (osg::ref_ptr< const osg::Camera > camera)
 Apply fog for a given camera. More...
 
virtual void deleteGeods ()
 Tell the silver-lining group to delete its specific children. More...
 
virtual void setGeocentricMode (bool mode)
 Set the group to be in geocentric mode. More...
 
virtual bool geocentricMode () const
 Get the simulation are in geocentric mode. More...
 
virtual void setHiResCumulus (bool enabled)
 Sets use of high-resolution (lower performance) cumulus clouds. More...
 
virtual bool hiResCumulus () const
 Gets use of high-resolution cumulus clouds. More...
 
virtual void setLensFlare (bool enabled)
 Set use of lens flare effects. More...
 
virtual bool lensFlare () const
 Get the use of lens flare effects. More...
 
virtual void setCrepuscularRays (bool enabled)
 Set use of crepuscular rays (sun rays) effects. More...
 
virtual bool crepuscularRays () const
 Get the use of crepuscular rays (sun rays) effects. More...
 
virtual void setForcedMoonPhase (float phase)
 Forces the moon phase regardless of simulated date. 0 = new moon, 1.0 = full moon. More...
 
virtual void clearForcedMoonPhase ()
 Clears a forced moon phase and goes back to simulating it based on the date. More...
 
virtual bool moonPhaseIsForced () const
 Retrieves whether a forced moon phase is being used. More...
 
virtual float forcedMoonPhase () const
 Retrieves the forced moon phase (if any) More...
 
virtual void setForcedSunAndMoon (double sunLat, double sunLon, double moonLat, double moonLon, bool horizonCoords=true)
 Force latitude and longitude of the sun & moon to specified positions, using horizon (default) or ecliptic coordinates Note latitudes and longitudes are in radians. More...
 
virtual void clearForcedSunAndMoon ()
 
virtual bool sunAndMoonPositionIsForced () const
 Retrieves whether a forced sun and moon is being used. More...
 
virtual void getForcedSunAndMoonPosition (double &sunLat, double &sunLon, double &moonLat, double &moonLon, bool &horizonCoords) const
 Retrieves the forced sun an moon position (if any) More...
 
*virtual void setLightPollution (double Wm2)
 Sets the simulated amount of nighttime light pollution, in watts per square meter. More...
 
virtual double lightPollution () const
 Gets the simulated light pollution in watts per square meter. More...
 
virtual void updateTime ()
 Update the time in the atmosphere. More...
 
virtual void update (const osg::Matrix &m)
 Update the lighting. More...
 
virtual void update2D (const osg::Matrix &m)
 Update the lighting in 2D mode. More...
 
virtual void updateConditions (DtOsgSkyObject *skyObject)
 Update all conditions from a DtOsgSkyObject. More...
 
virtual void removeCloudLayer (DtCloudLayerId layerId)
 Remove a cloud layer. More...
 
virtual void removeCloudLayers ()
 Remove all cloud layers. More...
 
virtual void setFogColor (const osg::Vec4f &rgbA)
 Set the fog color (which will be lit based on time of day) when visibility gets below the fog threshold distance. More...
 
virtual void setFogHeight (float height)
 Sets the simulated height of the fog on the skybox only. More...
 
virtual void setFogBlend (const osg::Vec4f &rgbA, float density)
 Set parameters to blend with the fog specified in setFogColor. More...
 
virtual void setFogOverride (osg::ref_ptr< const osg::Camera > camera, const osg::Vec4f &rgbA, float density)
 Override all fog computations to the given fog color & density. More...
 
virtual void setFogThresholdDistance (float distance)
 Sets the visibility distance at which fog effects kick in instead of haze. More...
 
virtual void setHorizonColor (const osg::Vec4f &rgbA)
 Set the color of the sky at and below the horizon. More...
 
virtual void setCubeMapDirty ()
 Set the cube map dirty flag. More...
 
virtual void setUse16BitEnviroMap (bool flag)
 Set the silverlining atmosphere to use a 16 bit environment map. More...
 
virtual bool getUse16BitEnviroMap ()
 Get whether or not the atmosphere should use a 16 bit environment map. More...
 
virtual void setUsingSensorFXShader (bool flag)
 Set the flag that silverlining is using the sensorFX shaders. More...
 
virtual bool getUsingSensorFXShader ()
 Get the flag that silverlining is using the sensorFX shaders. More...
 
virtual void clearHorizonColor ()
 Clear usage of a set horizon color. More...
 
virtual void clearFogOverride (osg::ref_ptr< const osg::Camera > camera)
 Undo any override for fog previously set. More...
 
virtual void clearFogOverrideForAllCameras (void)
 
void setUseGlobalTimeZone (bool b)
 If set to true at next update use UTC time to position sun/moon, else use local timezone based on the position of the observer Non virtual, called in the CTOR. More...
 
virtual bool useGlobalTimeZone () const
 Get the current value of using GMT time for observer. More...
 
virtual float getSunAlpha () const
 Gets the alpha value of the sun disc (affected by fog) More...
 
virtual void setDrawSunAndMoonIntoEnvMap (bool draw)
 Sets whether the sun and moon are drawn into the environment map for reflections. More...
 
virtual bool drawSunAndMoonIntoEnvMap () const
 Gets whether the sun and moon are drawn into the environment map for reflections. More...
 
virtual float getSkyCoverage () const
 Retrieve the percentage of sky occluded by clouds, above the current camera position. More...
 
virtual void addCirroCumulus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 Add cirrus clouds to the scene. More...
 
virtual void addCirrusFibratus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addNimbostratus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addCumulusMediocris (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addCumulusCongestus (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addCumulonimbusCappilatus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, double density, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addStratocumulus (DtCloudLayerId layerId, const DtVector &position, float orientation, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void addGroundFog (DtCloudLayerId layerId, const DtVector &position, float orientation, float cornerRadius, const DtVector &bounds, double density, bool infinite, bool relative, bool fadeAtAltitude, bool altitudeIsHAT)
 
virtual void setCloudLayerEnabled (DtCloudLayerId layerId, bool enabled)
 
virtual void setCloudLayerPositionAndOrientation (DtCloudLayerId layerId, const DtVector &position, float orientation)
 
virtual void setWind (double directionDEN, double minAltitude, double maxAltitude, double velocity)
 
virtual void setAirTurbidity (float turbidity)
 
virtual void setVisibleDistance (float distance)
 
virtual float getVisibleDistance () const
 
virtual void createAtmosphere ()
 
virtual void destroyAtmosphere ()
 
virtual bool getFailedInit ()
 
virtual void addRain (float mmPerHour, bool global)
 
virtual void addSleet (float mmPerHour, bool global)
 
virtual void addSnow (float mmPerHour, bool global, bool wet)
 
virtual void clearAllPrecipitation ()
 
virtual void realizeLayers ()
 
virtual SilverLining::Atmosphere * findAtmosphere ()
 
virtual const
SilverLining::Atmosphere * 
findAtmosphere () const
 
DtDegetDtDe ()
 
virtual void getGMTDateTime (long &julianDate, double &GMTTod)
 
virtual osg::Node * getCloudsNode ()
 
virtual osg::Node * getSkyNode ()
 
virtual void setSunMoonEnabled (bool drawSunMoon)
 
virtual bool getSunMoonEnabled ()
 
virtual void setStarsEnabled (bool drawStars)
 
virtual bool getStarsEnabled ()
 
virtual void enableLighting (osg::ref_ptr< osg::Camera > camera, bool enable)
 
void setEnableHDR (bool enable)
 allows a plugin to turn on or off HDR in silverlining Non virtual, called in the CTOR. More...
 
virtual osg::LightSource * skyLight ()
 getter for skyLight so Triton can use it for it's lighting More...
 
virtual const CloudLayerMapcloudLayerMap () const
 
virtual osg::Vec3f & getLastUpVector ()
 
virtual void fillCrepuscularRaysParameters (DtCrepuscularRaysParameters &params) const
 fills out some uniforms based on SL parameters for crepuscular rays More...
 
virtual void updateImGuiAndGetModifiersOffOfImgGui (DtCrepuscularRaysModifiers &modifiers, float r, float g, float b, float sunPosX, float sunPosY, float sunPosZ, float exposure) const
 fills out some uniforms based on SL parameters for crepuscular rays More...
 
virtual void slot_windowToBeDestroyed (DtWindow *window)
 slot for when a window is about to be destroyed so we can let silverlining know to clean up the VAO's More...
 
virtual void addGraphicsContextIfNecessary (osg::GraphicsContext *key)
 gets the current graphics context handle and stores it in a map with the osg GraphicsContext so we can clean up VAO's correctly needs to have the osg::GraphicsContext be the current active context so it should really only be called from a drawImplemenation() More...
 

Protected Attributes

DtVrfSimBackendManagermyBackendManager
 
DtLocalWeatherManagermyLocalWeatherManager
 
DtVrfDistributedEnvironmentSettingsManagermyEnvManager
 
- Protected Attributes inherited from makVrv::DtSilverliningGroup
DtDemyDe
 
OpenThreads::Mutex myMutex
 
DtReferenceEllipsoid myRefEllip
 
DtGeodeticCoord myGeod
 
SilverLining::Atmosphere * myAtmosphere
 my atmosphere. More...
 
SilverLining::LocalTime * myLocalTime
 
SilverLining::Location * myLocation
 
DtCloudLayerManagermyLayerManager
 
osg::ref_ptr< osg::Geode > mySkyGeode
 
osg::ref_ptr< osg::LightSource > mySkyLight
 
osg::ref_ptr< osg::Geode > myCloudGeode
 
osg::ref_ptr< DtLightManagerGroupmyLightManagerGroup
 
osg::Vec4f myFogColor
 
osg::Vec4f myBlendedFogColor
 
osg::Vec4f myHorizonColor
 
osg::Vec3f myLastUpVector
 
bool myHasFixedHorizonColor
 
float myFogDensity
 
float myVisibility
 
float myTurbidity
 
bool myGeocFlag
 
bool myNeedsResetFlag
 
int myCubeMapDirtyState
 
bool myCubeMapFullRegenerate
 
bool myCubeMapEnabled
 
bool myLensFlareEnabled
 
bool myCrepuscularRaysEnabled
 
bool myMoonPhaseForced
 
float myForcedMoonPhase
 
bool mySunAndMoonPositionForced
 
float myForcedSunLat
 
float myForcedSunLon
 
float myForcedMoonLat
 
float myForcedMoonLon
 
bool myForcedSunAndMoonUsingHorizonCoords
 
bool myHiResCumulus
 
bool myDrawSunAndMoonIntoEnvMap
 
bool myUse16BitEnviroMap
 
bool myUsingSensorFXShader
 
FogOverrideMap myOverrideFogMap
 
std::map< osg::observer_ptr
< const osg::Camera >, float > 
myFogOverrideDensityMap
 
std::map< osg::observer_ptr
< const osg::Camera >
, osg::Vec4f > 
myFogOverrideColorMap
 
osg::ref_ptr< osg::Uniform > myLightLevelUniform
 
osg::ref_ptr< osg::Uniform > myLightAmbientUniform
 
float myFogHeight
 
float myFogThresholdDistance
 
float mySunAlpha
 
bool myCurveCloudsTowardGround
 
bool myPrecipitationStateSaved
 
int mySavedPrecipitationType
 
float mySavedPrecipitationIntensity
 
bool myForceRelight
 
osg::ref_ptr< DtOsgFogComponentmyFogComponent
 
osg::ref_ptr
< DtOsgGlobalShaderComponent
myGlobalShaderComponent
 
std::vector< unsigned intmyDefaultShaderVector
 
bool myDrawStars
 
bool myDrawSunMoon
 
DtSignalConnectionManager myConnections
 
bool myUseGlobalTimeZone
 
bool myFailedInit
 
bool myLastAtmosphereFogEnabled
 
std::string myOriginalVoxelDimension
 
bool myOverrideLightPositionEnabled
 
osg::Vec3f myOverrideLightPosition
 
double myLastImGuiSimTime
 
bool myUseAzimuthElevationForOverrideGui
 
ContextToHandleMap myOsgGcToOsGc
 

Additional Inherited Members

- Protected Types inherited from makVrv::DtSilverliningGroup
typedef std::vector
< DtSilverLiningCloudLayer
CloudLayerList
 
typedef std::map
< osg::observer_ptr< const
osg::Camera >, bool
FogOverrideMap
 
typedef std::map
< osg::GraphicsContext *, void * > 
ContextToHandleMap
 
- Protected Member Functions inherited from makVrv::DtSilverliningGroup
virtual void addLayer (DtCloudLayerId layerId, const DtSilverLiningCloudLayer &layer)
 Add layer. More...
 
virtual void destroyLayer (const DtSilverLiningCloudLayer &layer)
 
virtual int CalculateZoneByLongitude (double longitude)
 
void SetTimeAndLocation ()
 Non virtual, called in the CTOR. More...
 
virtual void addPrecipitationToClouds (int type, float mmPerHour)
 
virtual void updatePrecipitation ()
 
virtual void setCloudVisibility ()
 
virtual void traverse (osg::NodeVisitor &nv)
 Traverse. More...
 
virtual void resetLayers ()
 
virtual void forceResetLayers ()
 
virtual void generateCubeMap (const osg::Matrix &viewMatrix)
 
virtual void slot_reloadShader ()
 handle the reload shaders signal so the fog shader can be reloaded. More...
 
virtual void updateLightOverrideGui (float x, float y, float z)
 

Constructor & Destructor Documentation

makVrf::DtVrfSilverliningGroup::DtVrfSilverliningGroup ( makVrv::DtDe )

CTOR.

virtual makVrf::DtVrfSilverliningGroup::~DtVrfSilverliningGroup ( )
virtual

Member Function Documentation

virtual void makVrf::DtVrfSilverliningGroup::setDateAndTime ( unsigned short  year,
unsigned char  month,
unsigned char  day,
unsigned char  hour,
unsigned char  minutes,
double  seconds,
bool  observeDaylightSavings 
)
virtual

Setup the date and time of silver lining.

If not using day/night illumination model, always show as noon

Reimplemented from makVrv::DtSilverliningGroup.

virtual void makVrf::DtVrfSilverliningGroup::setLocation ( const DtVector location)
virtual

Set the location using a local coordinate (it will be converted to the global coordinate using the current coordinate system).

Reimplemented from makVrv::DtSilverliningGroup.

virtual DtVrfSimBackendManager& makVrf::DtVrfSilverliningGroup::backendManager ( ) const
virtual
virtual DtLocalWeatherManager& makVrf::DtVrfSilverliningGroup::localWeatherManager ( ) const
virtual
DtVrfDistributedEnvironmentSettingsManager* makVrf::DtVrfSilverliningGroup::envManager ( )

Member Data Documentation

DtVrfSimBackendManager* makVrf::DtVrfSilverliningGroup::myBackendManager
mutableprotected
DtLocalWeatherManager* makVrf::DtVrfSilverliningGroup::myLocalWeatherManager
mutableprotected
DtVrfDistributedEnvironmentSettingsManager* makVrf::DtVrfSilverliningGroup::myEnvManager
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)