Maintains the environmental state of the simulation, such as time of day, illumination, and various aspects of the weather. All access to this data from any behavior or dynamics model should be made to this class.
This manager provides access to the environmental state, regardless of whether that state is simulated locally or distributed on the network by a different simulation engine.
The DtEnvironmentalStateManager also has methods for changing the environmental state parameters. When any of these methods are called, this class locates the simulation engine in the exercise that is simulating the environmental state, and sends commands to that simulation engine to change the state. As a result, any calls to these modification methods will result in the environmental state changing for all simulation engines in the exercise, not just the local application.
As a general rule an empty weatherArea name will return weather for the global area. A vector location of zero() will also return global weather.
- Related Examples
-
|
| | DtEnvironmentalStateManager (DtSimulationServices *simManager, DtLocalObjectManager *) |
| |
| virtual | ~DtEnvironmentalStateManager () |
| |
| virtual bool | init () |
| |
| virtual void | tick () |
| |
| virtual bool | globalEnvironmentSimulatedLocally () const |
| |
| virtual bool | startEnvironmentSimulationLocally () |
| |
| virtual double | visualDetectionMinimumContrast () const |
| |
| virtual bool | windSpeedAndDirectionAtAltitude (const DtVector &, double altMSL, double &windSpeed, double &windDirection) const |
| |
| virtual bool | visibilityAndObscurantAtAltitude (const DtVector &, double altMSL, double &visibility, int &obscurant) const |
| |
| virtual void | computeSoilWeatherMobilityModifiers (const DtVector &location, const DtString &soilType, double &snowEffectFraction, DtString &alternateSoil, double &alternateSoilFraction, double &tractionModifier) const |
| |
| DtSimulationServices * | simulationServices () const |
| |
| virtual DtLocalObject * | createGlobalEnvironmentObject () |
| |
|
virtual const
DtWeatherStateProvider * | weatherStateProvider () const |
| |
| virtual void | setWeatherStateProvider (DtWeatherStateProvider *w) |
| |
|
| virtual void | setWeatherState (const DtChangeWeatherCommand &command) |
| |
| virtual void | setCloudLayerState (const DtChangeCloudLayerCommand &command) |
| |
| virtual void | setUseDayNightIlluminationModel (const DtChangeTimeOfDayCommand &command) |
| |
|
These should not be called by VRF components to get weather information; instead, the weather attribute accessor functions should be used. The accessor functions make use of the weather state provider, which may have been overridden to provide weather data using a mechanism other than local weather objects and cloud layer objects.
|
| virtual DtSimObjectReference | weatherObjectFor (const DtUUID &=DtUUID::nullUUID(), bool *isGlobal=0) const |
| |
| virtual DtSimObjectReference | weatherObjectFor (const DtVector &localPosition, bool *isGlobal=0) const |
| |
virtual std::vector
< DtSimObjectReference > | weatherObjectsFor (const DtChord &localChord) const |
| |
| virtual DtSimObjectReference | cloudLayerFor (const DtUUID &) const |
| |
| virtual DtSimObjectReference | cloudLayerFor (const DtVector &localPosition) const |
| |
virtual std::vector
< DtSimObjectReference > | cloudLayersFor (const DtChord &localChord) const |
| |
virtual std::vector
< CloudStateSegment > | cloudLayerDescriptionsAt (const DtVector &localPosition) const |
| |
| virtual DtSimObjectReference | windCorridorFor (const DtUUID &) const |
| |
| virtual DtSimObjectReference | windCorridorFor (double &windHeading, const DtVector &localPosition) const |
| |
virtual std::vector
< DtSimObjectReference > | windCorridorsFor (const DtChord &localChord) const |
| |
| virtual DtSimObjectReference | airTurbulenceFor (const DtUUID &) const |
| |
| virtual DtSimObjectReference | airTurbulenceFor (const DtVector &localPosition) const |
| |
virtual std::vector
< DtSimObjectReference > | airTurbulencesFor (const DtChord &localChord) const |
| |
|
This is the visibility
Air Turbidity. This is the attenuation factor for air itself, not including clouds, precipitation, etc. This is calculated from airVisibility in the weather state provider.
|
| virtual double | airTurbidity (const DtVector &) const |
| |
| virtual double | airTemperature (const DtVector &) const |
| |
| virtual double | airPressure (const DtVector &localPosition) const |
| |
| virtual double | airTemperatureAltitude (const DtVector &localPosition) const |
| |
| virtual double | airPressureAltitude (const DtVector &localPosition) const |
| |
| virtual bool | airTemperatureAltitudeIsSeaLevel (const DtVector &localPosition) const |
| |
| virtual bool | airPressureAltitudeIsSeaLevel (const DtVector &localPosition) const |
| |
| virtual double | humidity (const DtVector &localPosition) const |
| |
| virtual double | precipitationIntensity (const DtVector &) const |
| |
| virtual double | averagePrecipitationIntensity (const DtChord &) const |
| |
virtual
DtVrfWeatherPrecipitationType | precipitationType (const DtVector &) const |
| |
| virtual double | windSpeed (const DtVector &) const |
| |
| virtual double | windDirection (const DtVector &) const |
| |
| virtual DtVrfTurbulenceLevel | airTurbulence (const DtVector &) const |
| |
| virtual bool | lightningPresent (const DtVector &localPosition) const |
| |
| virtual double | visibility (const DtVector &) const |
| |
| virtual int | visibilityObscurant (const DtVector &) const |
| |
| virtual double | visibility (const DtChord &) const |
| |
| virtual double | underwaterVisibility (const DtVector &) const |
| |
| virtual double | surfaceTransparency (const DtVector &) const |
| |
| virtual double | waterCurrentSpeed (const DtVector &) const |
| |
| virtual double | waterCurrentDirection (const DtVector &) const |
| |
| virtual double | ambientWaterTemperature (const DtVector &) const |
| |
| virtual double | tidalOffset (const DtVector &) const |
| |
| virtual bool | tidalDirection (const DtVector &) const |
| |
| virtual unsigned int | swellState (const DtVector &) const |
| |
| virtual double | swellStateDirection (const DtVector &) const |
| |
| virtual unsigned int | seaState (const DtVector &) const |
| |
| virtual double | seaStateDirection (const DtVector &) const |
| |
| virtual double | choppiness (const DtVector &) const |
| |
| virtual double | surgeDepth (const DtVector &) const |
| |
| virtual double | fogHeight (const DtVector &) const |
| |
| virtual DtVector | fogColor (const DtVector &) const |
| |
| virtual double | snowAccumulation (const DtVector &) const |
| |
| virtual double | snowRoadAccumulation (const DtVector &) const |
| |
| virtual double | rainAccumulation (const DtVector &) const |
| |
| virtual DtObjectType | globalEnvironmentObjectType () const |
| |
| virtual DtObjectType | metocServiceObjectType () const |
| |
| virtual DtUUID | initializeAndGetMetocWeatherService () |
| |
| virtual void | setMetocEnabled (bool b) |
| |
| virtual bool | metocEnabled () const |
| |
| virtual double | thermoclineLayer1Depth (const DtVector &) const |
| |
| virtual double | thermoclineLayer1Permeability (const DtVector &) const |
| |
| virtual double | thermoclineLayer2Depth (const DtVector &) const |
| |
| virtual double | thermoclineLayer2Permeability (const DtVector &) const |
| |
| virtual double | thermoclineLayer3Depth (const DtVector &) const |
| |
| virtual double | thermoclineLayer3Permeability (const DtVector &) const |
| |
| virtual double | thermoclineLayer4Depth (const DtVector &) const |
| |
| virtual double | thermoclineLayer4Permeability (const DtVector &) const |
| |
| virtual double | thermoclineLayer5Depth (const DtVector &) const |
| |
| virtual double | thermoclineLayer5Permeability (const DtVector &) const |
| |
|
| virtual void | setDateAndTimeOfDay (double secondsPastMidnight) |
| |
| virtual void | setDateAndTimeOfDay (const DtChangeTimeOfDayCommand &command) |
| |
| virtual double | timeOfDay () const |
| |
| virtual double | dateAndTimeOfDay () const |
| |
| virtual void | setTimeOfDayAdvancementSpeed (double speed) |
| |
| virtual void | setTimeOfDayAdvancementSpeed (const DtChangeTimeOfDayCommand &command) |
| |
| virtual double | timeOfDayAdvancementSpeed () const |
| |
|
| virtual double | illumination (const DtVector &localPosition) const |
| |
| virtual double | expectedIllumination (const DtVector &localPosition, double dateAndTime) const |
| |
|
| virtual void | setSnowMinimumAltitude (double snow, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual double | snowMinimumAltitude (const DtVector &) const |
| |
|
| virtual void | setWindDrivenSeaStateEnabled (bool b, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual bool | windDrivenSeaStateEnabled (const DtVector &) const |
| |
|
| virtual void | setUseDayNightIlluminationModel (bool) |
| |
| virtual bool | useDayNightIlluminationModel () const |
| |
|
| virtual double | normalizedPrecipitationRate () const |
| |
| virtual void | setNormalizedPrecipitationRate (const double) |
| |
|
| virtual bool | reduceVisibilityForPrecipitation () const |
| |
| virtual void | setReduceVisibilityForPrecipitation (const bool) |
| |
|
| virtual void | processSimObjectAdded (DtSimObjectReference) |
| |
| virtual void | processSimObjectDeleted (DtSimObjectReference) |
| |
virtual
DtEnvironmentalStateSetter * | createLocalEnvironmentalStateSetter () |
| |
virtual
DtEnvironmentalStateSetter * | createRemoteEnvironmentalStateSetter () |
| |
| virtual void | processChangeWeatherPriorities (DtSimMessage *msg) |
| |
| virtual void | processRequestWeatherAtLocation (DtSimMessage *msg) |
| |
| virtual void | initializeIlluminationObjectsList () |
| |
| virtual void | initializeSoilCharacteristics () |
| |
| virtual void | initializeWeatherStateProvider () |
| |
| virtual void | initializeWeatherParameters () |
| |
virtual const
DtIlluminationObjectParameters & | findBestMatch (const DtObjectType &objtype) const |
| |
| virtual void | setupGlobalEnvironmentObject (DtLocalObject *lo) |
| |
| virtual void | setupGlobalEnvironmentObject (const DtUUID &) |
| |
|
| virtual DtString | deepWaterSoilName () const |
| |
| virtual DtString | shallowWaterSoilName () const |
| |
| virtual DtString | waterySoilName () const |
| |
| virtual DtString | drySoilName () const |
| |
| virtual DtString | roadSoilName () const |
| |
| virtual DtString | snowSoilName () const |
| |
| virtual DtString | iceSoilName () const |
| |
| virtual double | deepSnowDepth () const |
| |
| virtual double | saturationWaterDepth () const |
| |
| virtual double | waterSlideDepth () const |
| |
| virtual double | waterSlideFactor () const |
| |
| virtual double | hardFreezeTemperature () const |
| |
|
| virtual void | setPriority (int p, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual int | priority (const DtUUID &weatherArea) const |
| |
| virtual int | priority (const DtVector &) const |
| |
|
Models should use the cloud layer descriptions instead.
|
| virtual CloudLayerCloudType | cloudType (const DtVector &localPosition) const |
| |
| virtual double | cloudAltitude (const DtVector &localPosition) const |
| |
| virtual double | cloudThickness (const DtVector &localPosition) const |
| |
| virtual double | cloudDensity (const DtVector &localPosition) const |
| |
|
| virtual void | setAirTurbidity (double factor, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAmbientAirTemperature (double temp, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAmbientAirPressure (double pressure, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAirTemperatureAltitude (double altitude, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAirPressureAltitude (double altitude, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAirTemperatureAltitudeIsSeaLevel (bool seaLevel, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAirPressureAltitudeIsSeaLevel (bool seaLevel, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSeaLevelWaterConcentration (double water, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAirTurbulence (int current, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setPrecipitationIntensity (double factor, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setPrecipitationType (DtVrfWeatherPrecipitationType current, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setWindSpeed (double value, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setWindDirection (double value, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setVisibility (double value, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setUnderwaterVisibility (double underwaterVisibility, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSurfaceTransparency (double transparency, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setWaterCurrentSpeed (double waterCurrentSpeed, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setWaterCurrentDirection (double waterCurrentDirection, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setAmbientWaterTemperature (double waterTemperature, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setTidalOffset (double tidalOffset, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setTidalDirection (bool tidalDirection, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSwellState (unsigned int state, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSwellStateDirection (double direction, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSeaState (unsigned int state, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSeaStateDirection (double direction, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setChoppiness (double choppiness, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSurgeDepth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setFogHeight (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setFogColor (const DtVector &color, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSnowAccumulation (double snow, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setSnowRoadAccumulation (double snow, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setRainAccumulation (double rain, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer1Depth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer1Permeability (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer2Depth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer2Permeability (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer3Depth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer3Permeability (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer4Depth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer4Permeability (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer5Depth (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setThermoclineLayer5Permeability (double depth, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setLightingPresentForWeatherArea (bool, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | clearWindLevels (const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual void | setWindLevels (const DtRwWindLevels &, const DtUUID &weatherArea=DtUUID::nullUUID()) |
| |
| virtual DtRwWindLevels | windLevels (const DtVector &localPosition) const |
| |
|
| virtual void | setDeepWaterSoilName (const DtString &) |
| |
| virtual void | setShallowWaterSoilName (const DtString &) |
| |
| virtual void | setDrySoilName (const DtString &) |
| |
| virtual void | setWaterySoilName (const DtString &) |
| |
| virtual void | setRoadSoilName (const DtString &) |
| |
| virtual void | setSnowSoilName (const DtString &) |
| |
| virtual void | setIceSoilName (const DtString &) |
| |
| virtual void | setDeepSnowDepth (const double) |
| |
| virtual void | setSaturationWaterDepth (const double) |
| |
| virtual void | setWaterSlideDepth (const double) |
| |
| virtual void | setWaterSlideFactor (const double) |
| |
| virtual void | setHardFreezeTemperature (const double) |
| |