VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
DtEnvironmentalStateManager Class Reference

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.

Weather state is distributed over the network using the METOC object model. Date and time state is distributed using MAK's Date and Time PDU (DIS) or object class (HLA). Please refer to the MAK One Interoperability Guide for more information on the MAK object model.

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

Public Member Functions

 DtEnvironmentalStateManager (DtSimulationServices *simManager, DtLocalObjectManager *)
 
virtual ~DtEnvironmentalStateManager ()
 
virtual bool init ()
 
virtual void tick ()
 
virtual bool globalEnvironmentSimulatedLocally () const
 
virtual bool startEnvironmentSimulationLocally ()
 
virtual double visualDetectionMinimumContrast () 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 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 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 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
 
DtSimulationServicessimulationServices () const
 
virtual DtLocalObjectcreateGlobalEnvironmentObject ()
 
void printWeatherObjects () const
 
virtual const
DtWeatherStateProvider
weatherStateProvider () const
 
virtual void setWeatherStateProvider (DtWeatherStateProvider *w)
 
Command handlers
virtual void setWeatherState (const DtChangeWeatherCommand &command)
 
virtual void setUseDayNightIlluminationModel (const DtChangeTimeOfDayCommand &command)
 
Functions to get weather objects and cloud layer objects.

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.

template<typename WeatherStateType >
const WeatherStateType * weatherStateFor (const DtUUID &=DtUUID::nullUUID(), bool *isGlobal=0) const
 
template<typename WeatherStateType >
const WeatherStateType * weatherStateFor (const DtVector &localPosition, bool *isGlobal=0) const
 
DtSimObjectReference globalWeatherObject () const
 
virtual std::vector
< DtSimObjectReference
weatherObjectsFor (const DtChord &localChord) const
 
virtual const
makVrf::DtTroposphereStateComponent
cloudLayerFor (const DtUUID &) const
 
virtual const
makVrf::DtTroposphereStateComponent
cloudLayerFor (const DtVector &localPosition) const
 
virtual std::vector< const
makVrf::DtTroposphereStateComponent * > 
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
 
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
 
Time functions
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
 
Illumination functions
virtual double illumination (const DtVector &localPosition) const
 
virtual double expectedIllumination (const DtVector &localPosition, double dateAndTime) const
 
Options for how weather attributes are calculated.
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)
 

Protected Member Functions

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 &)
 
Global Soil-Related Functions
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
 
Individual cloud layer accessors.

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
 
Set functions for attributes of weather objects.
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 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 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 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 setLightningPresentForWeatherArea (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)
 

Static Protected Member Functions

static void changeWeatherPrioritiesCallback (DtSimMessage *msg, void *usr)
 
static void requestWeatherAtLocationCallback (DtSimMessage *msg, void *usr)
 
static void physicalWorldParametersChangedCallback (void *usr)
 
static void globalObjectAddedCallback (const DtLocalObject *, void *usr)
 

Protected Attributes

DtSimulationServicesmySimulationServices
 
DtWeatherStateProvidermyWeatherStateProvider
 
DtLocalObjectmyNextFrameGlobalEnvironmentObject
 
DtUUID myNextFrameGlobalEnvironmentObjectUUID
 
DtSimObjectReference myGlobalEnvironmentObject
 
DtSimObjectReferenceList myWeatherObjects
 
DtSimObjectReferenceList myWindCorridorObjects
 
DtSimObjectReferenceList myAirTurbulenceObjects
 
DtEnvironmentalStateSettermyEnvironmentalStateSetter
 
bool myCreatedMetocService
 
DtUUID myMetocWeatherServiceUuid
 
DtManagedObjectListConstPtr myIlluminationObjects
 
std::map< DtObjectType,
DtIlluminationObjectParameters
myIlluminationObjectTypes
 
DtString myDeepWaterSoilName
 
DtString myShallowWaterSoilName
 
DtString myWaterySoilName
 
DtString myDrySoilName
 
DtString myRoadSoilName
 
DtString mySnowSoilName
 
DtString myIceSoilName
 
double myDeepSnowDepth
 
double mySaturationWaterDepth
 
DtReal myWaterSlideDepth
 
DtReal myWaterSlideFactor
 
double myHardFreezeTemperature
 
double myNormalizedPrecipitationRate
 
DtRwBoolean myReduceVisibilityForPrecipitation
 
boost::signals2::scoped_connection mySimObjectAddedConnection
 
boost::signals2::scoped_connection mySimObjectDeletedConnection
 
bool myFirstTick
 
DtLocalObjectManagermyObjectManager
 
bool myMetocEnabled
 
tbb::spin_mutex myRemovalMutex
 

Private Member Functions

 DtEnvironmentalStateManager (const DtEnvironmentalStateManager &orig)
 
const DtEnvironmentalStateManageroperator= (const DtEnvironmentalStateManager &orig)
 
 DtEnvironmentalStateManager ()
 

Constructor & Destructor Documentation

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( const DtEnvironmentalStateManager orig)
private

Not implemented.

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( )
private

Not implemented.

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( DtSimulationServices simManager,
DtLocalObjectManager  
)

constructor

virtual DtEnvironmentalStateManager::~DtEnvironmentalStateManager ( )
virtual

destructor

Member Function Documentation

const DtEnvironmentalStateManager& DtEnvironmentalStateManager::operator= ( const DtEnvironmentalStateManager orig)
private

Not implemented.

virtual bool DtEnvironmentalStateManager::init ( )
virtual
virtual void DtEnvironmentalStateManager::tick ( )
virtual
virtual const DtWeatherStateProvider* DtEnvironmentalStateManager::weatherStateProvider ( ) const
virtual

The weather state is obtained through an object that defines the interface.

virtual void DtEnvironmentalStateManager::setWeatherStateProvider ( DtWeatherStateProvider w)
virtual

The weather state is obtained through an object that defines the interface.

virtual bool DtEnvironmentalStateManager::globalEnvironmentSimulatedLocally ( ) const
virtual
Returns
True if the global environment is currently being simulated by this simulation engine.
virtual bool DtEnvironmentalStateManager::startEnvironmentSimulationLocally ( )
virtual

Starts simulating the global environment locally on this simulation engine. Only starts the local simulation if there is not one (remote or local) already running.

Returns
True if successful.
virtual void DtEnvironmentalStateManager::setWeatherState ( const DtChangeWeatherCommand command)
virtual

Process change weather sim command. This is called by the change-weather plan command. Calls the appropriate setXXX() functions locally, depending on what is in the command.

virtual void DtEnvironmentalStateManager::setUseDayNightIlluminationModel ( const DtChangeTimeOfDayCommand command)
virtual

Process change weather sim command. This is called by the change-weather plan command. Calls the appropriate setXXX() functions locally, depending on what is in the command.

template<typename WeatherStateType >
const WeatherStateType* DtEnvironmentalStateManager::weatherStateFor ( const DtUUID = DtUUID::nullUUID(),
bool isGlobal = 0 
) const

Returns the weather state data given the specified weather object name (if blank uses global weather)

template<typename WeatherStateType >
const WeatherStateType* DtEnvironmentalStateManager::weatherStateFor ( const DtVector localPosition,
bool isGlobal = 0 
) const

Returns the weather state data of the highest priority at the given location. If no local weather, returns global weather.

DtSimObjectReference DtEnvironmentalStateManager::globalWeatherObject ( ) const

Returns the global weather object.

virtual std::vector<DtSimObjectReference> DtEnvironmentalStateManager::weatherObjectsFor ( const DtChord localChord) const
virtual

Returns all weather objects that are intersected by this chord. The global weather object is always returned on the list unless the chord intersects only one weather object, and both endpoints are within that object.

virtual const makVrf::DtTroposphereStateComponent* DtEnvironmentalStateManager::cloudLayerFor ( const DtUUID ) const
virtual

Returns the cloud layer object given the specified name (if blank uses global weather)

virtual const makVrf::DtTroposphereStateComponent* DtEnvironmentalStateManager::cloudLayerFor ( const DtVector localPosition) const
virtual

Returns the cloud layer at the given location. If multiple at the same location returns the first hit.

virtual std::vector<const makVrf::DtTroposphereStateComponent*> DtEnvironmentalStateManager::cloudLayersFor ( const DtChord localChord) const
virtual

Returns all cloud layer objects that are intersected by this chord.

virtual std::vector<CloudStateSegment> DtEnvironmentalStateManager::cloudLayerDescriptionsAt ( const DtVector localPosition) const
virtual

Returns simple structures describing cloud attributes for layers above the local position. Note that while this data may be useful for finding the cloud ceiling or something, visibility information should be obtained with the visibility functions.

virtual DtSimObjectReference DtEnvironmentalStateManager::windCorridorFor ( const DtUUID ) const
virtual

Returns the wind corridor object given the specified name.

virtual DtSimObjectReference DtEnvironmentalStateManager::windCorridorFor ( double windHeading,
const DtVector localPosition 
) const
virtual

Returns the wind corridor at the given location. If multiple at the same location returns the first hit.

virtual std::vector<DtSimObjectReference> DtEnvironmentalStateManager::windCorridorsFor ( const DtChord localChord) const
virtual

Returns all wind corridor objects that are intersected by this chord.

virtual DtSimObjectReference DtEnvironmentalStateManager::airTurbulenceFor ( const DtUUID ) const
virtual

Returns the air turbulence object given the specified name.

virtual DtSimObjectReference DtEnvironmentalStateManager::airTurbulenceFor ( const DtVector localPosition) const
virtual

Returns the air turbulence at the given location. If multiple at the same location returns the first hit.

virtual std::vector<DtSimObjectReference> DtEnvironmentalStateManager::airTurbulencesFor ( const DtChord localChord) const
virtual

Returns all air turbulence objects that are intersected by this chord.

virtual double DtEnvironmentalStateManager::visualDetectionMinimumContrast ( ) const
virtual

This constant is the minimum contrast ratio often use to determine the threshold of visual detectability. Default value is 0.02. (That value may be too small for detection, but more appropriate for identification– see Lee and Shang https://doi.org/10.1175/JAS-D-16-0102.1)

virtual double DtEnvironmentalStateManager::airTemperature ( const DtVector ) const
virtual

This is the visibility.

Ambient Air Temperature (in Celsius). This varies with altitude.

virtual double DtEnvironmentalStateManager::airPressure ( const DtVector localPosition) const
virtual

Air pressure at the given 3D location. In kiloPascals.

virtual double DtEnvironmentalStateManager::airTemperatureAltitude ( const DtVector localPosition) const
virtual

Air temperature altitude in meters.

virtual double DtEnvironmentalStateManager::airPressureAltitude ( const DtVector localPosition) const
virtual

Air pressure altitude in meters.

virtual double DtEnvironmentalStateManager::humidity ( const DtVector localPosition) const
virtual

Humidity in ppmv.

virtual double DtEnvironmentalStateManager::precipitationIntensity ( const DtVector ) const
virtual

Precipitation Intensity. A scaled value with 1.0 = normalizedPrecipitationRate.

virtual double DtEnvironmentalStateManager::averagePrecipitationIntensity ( const DtChord ) const
virtual

Supply a chord in local coordinates – this will get the average precipitation intensity through a particular weather area or simply use global if it crosses no area.

virtual DtVrfWeatherPrecipitationType DtEnvironmentalStateManager::precipitationType ( const DtVector ) const
virtual

Weather state enumeration.

virtual double DtEnvironmentalStateManager::windSpeed ( const DtVector ) const
virtual

Wind speed in m/s.

virtual double DtEnvironmentalStateManager::windDirection ( const DtVector ) const
virtual

Wind direction in radians.

virtual DtVrfTurbulenceLevel DtEnvironmentalStateManager::airTurbulence ( const DtVector ) const
virtual

Turbulence level.

virtual bool DtEnvironmentalStateManager::lightningPresent ( const DtVector localPosition) const
virtual

Lightning Present.

virtual double DtEnvironmentalStateManager::visibility ( const DtVector ) const
virtual

Visibility in meters, including precipitation.

virtual int DtEnvironmentalStateManager::visibilityObscurant ( const DtVector ) const
virtual

Visibility in meters, including precipitation.

virtual double DtEnvironmentalStateManager::visibility ( const DtChord ) const
virtual

Supply a chord in local coordinates. This function gets all of the weather objects that the chord intersects and returns the average visibility of all objects. Considers precipitation as well as base air visibility. Does not consider cloud layers at this time (VRF 4.8 IPB7). Returns the visibility in meters.

virtual double DtEnvironmentalStateManager::underwaterVisibility ( const DtVector ) const
virtual

Underwater visibility in meters.

virtual double DtEnvironmentalStateManager::surfaceTransparency ( const DtVector ) const
virtual

Surface transparency (percentage).

virtual double DtEnvironmentalStateManager::waterCurrentSpeed ( const DtVector ) const
virtual

Water velocity in meters per second.

virtual double DtEnvironmentalStateManager::waterCurrentDirection ( const DtVector ) const
virtual

Water direction in radians clockwise from 0 (north)

virtual double DtEnvironmentalStateManager::ambientWaterTemperature ( const DtVector ) const
virtual

Ambient water temperature in Celsius.

virtual double DtEnvironmentalStateManager::tidalOffset ( const DtVector ) const
virtual

Tidal offset in meters from the water polygons in the database.

virtual unsigned int DtEnvironmentalStateManager::swellState ( const DtVector ) const
virtual

Swell state according to the Douglas Sea Scale (integer 0 - 9)

virtual double DtEnvironmentalStateManager::swellStateDirection ( const DtVector ) const
virtual

Swell direction in in radians clockwise from 0 (north)

virtual unsigned int DtEnvironmentalStateManager::seaState ( const DtVector ) const
virtual

Sea state according to the Douglas Sea Scale (integer 0 - 9)

virtual double DtEnvironmentalStateManager::seaStateDirection ( const DtVector ) const
virtual

Sea state direction in in radians clockwise from 0 (north)

virtual double DtEnvironmentalStateManager::choppiness ( const DtVector ) const
virtual

Wave choppiness (0..1)

virtual double DtEnvironmentalStateManager::surgeDepth ( const DtVector ) const
virtual

Surge depth (meters)

virtual double DtEnvironmentalStateManager::fogHeight ( const DtVector ) const
virtual

The height above which the (air) visibility effect begins to diminish.

virtual DtVector DtEnvironmentalStateManager::fogColor ( const DtVector ) const
virtual

Air color (x = red, y = green, z = blue) when object visibility fades out at the visibility distance. Not used in VR-Forces models. Always taken from a weather object.

virtual double DtEnvironmentalStateManager::snowAccumulation ( const DtVector ) const
virtual

Snow Accumulation (meters)

virtual double DtEnvironmentalStateManager::snowRoadAccumulation ( const DtVector ) const
virtual

Snow Road Accumulation (meters). This represents the depth of snow on a plowed road.

virtual double DtEnvironmentalStateManager::rainAccumulation ( const DtVector ) const
virtual

Rain Accumulation (meters)

virtual DtObjectType DtEnvironmentalStateManager::globalEnvironmentObjectType ( ) const
virtual
Returns
The object type that will be used for the global environment object. Returns 1:21:0:0:1:0:0:0
virtual DtObjectType DtEnvironmentalStateManager::metocServiceObjectType ( ) const
virtual
Returns
The object type that will be used for the Metoc Service Object. Returns 1:22:0:0:1:0:0:0
virtual DtUUID DtEnvironmentalStateManager::initializeAndGetMetocWeatherService ( )
virtual

Initializes the METOC Service object.

Returns
The UUID of the Metoc Weather Service UUID
virtual void DtEnvironmentalStateManager::setMetocEnabled ( bool  b)
virtual

Sets METOC Publishing.

virtual bool DtEnvironmentalStateManager::metocEnabled ( ) const
virtual

Returns whether METOC Publishing is enabled.

virtual double DtEnvironmentalStateManager::thermoclineLayer1Depth ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer1Permeability ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer2Depth ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer2Permeability ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer3Depth ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer3Permeability ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer4Depth ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer4Permeability ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer5Depth ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer5Permeability ( const DtVector ) const
virtual

Thermocline depth (in meters) and permeability (0..1). A depth of zero means that layer is not used.

virtual bool DtEnvironmentalStateManager::windSpeedAndDirectionAtAltitude ( const DtVector ,
double  altMSL,
double windSpeed,
double windDirection 
) const
virtual

Given the altitude, return the wind speed and direction.

virtual bool DtEnvironmentalStateManager::visibilityAndObscurantAtAltitude ( const DtVector ,
double  altMSL,
double visibility,
int obscurant 
) const
virtual

Given the altitude, return the wind speed and direction.

virtual void DtEnvironmentalStateManager::setDateAndTimeOfDay ( double  secondsPastMidnight)
virtual

The current time of day, specified by the number of seconds past midnight.

virtual void DtEnvironmentalStateManager::setDateAndTimeOfDay ( const DtChangeTimeOfDayCommand command)
virtual

The current time of day, specified by the number of seconds past midnight.

virtual double DtEnvironmentalStateManager::timeOfDay ( ) const
virtual

Time of day in seconds past midnight. (Max value 24 * 3600)

virtual double DtEnvironmentalStateManager::dateAndTimeOfDay ( ) const
virtual

Date and time of day in seconds past 00:00:00 UTC, January 1, 1970.

virtual void DtEnvironmentalStateManager::setTimeOfDayAdvancementSpeed ( double  speed)
virtual

The current time of day advancement speed.

virtual void DtEnvironmentalStateManager::setTimeOfDayAdvancementSpeed ( const DtChangeTimeOfDayCommand command)
virtual

The current time of day, specified by the number of seconds past midnight.

virtual double DtEnvironmentalStateManager::timeOfDayAdvancementSpeed ( ) const
virtual

The current time of day, specified by the number of seconds past midnight.

virtual double DtEnvironmentalStateManager::illumination ( const DtVector localPosition) const
virtual

Illumination in percentage (0 to 1.0) at a particular location. Illumination cannot be set directly. It is a function of location and time of day.

virtual double DtEnvironmentalStateManager::expectedIllumination ( const DtVector localPosition,
double  dateAndTime 
) const
virtual

The expected illumination in percentage (0 to 1.0) from the sky at a particular location and time. Ignores other light sources.

virtual void DtEnvironmentalStateManager::computeSoilWeatherMobilityModifiers ( const DtVector location,
const DtString soilType,
double snowEffectFraction,
DtString alternateSoil,
double alternateSoilFraction,
double tractionModifier 
) const
virtual

This function computes a set of modifiers for a given soil based on weather conditions at the given location, for the purposes of changing ground vehicle mobility.

Parameters
locationLocal coordinates. Note that altitude is important for determining temperature and possible snow coverage.
soilTypeThe "roughness soil type" of the ground surface. A string.
snowEffectFractionAn output [0-1] indicating what fraction of the soil factors for snow should be applied.
alternateSoilTypeAn output indicating a different type of soil that weather conditions have turned the ground to.
alternateSoilFractionAn output [0-1] indicating what fraction of the alternate soil factors should be combined with input soil type factors.
tractionModifierAn output [0-1] to be multiplied by the stoppingFactor after the above modifiers are applied to produce a net stoppingFactor.
virtual void DtEnvironmentalStateManager::setSnowMinimumAltitude ( double  snow,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
virtual

When there is snow accumulation, it is nevertheless 0 below this altitude.

virtual double DtEnvironmentalStateManager::snowMinimumAltitude ( const DtVector ) const
virtual

When there is snow accumulation, it is nevertheless 0 below this altitude.

virtual void DtEnvironmentalStateManager::setWindDrivenSeaStateEnabled ( bool  b,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
virtual

The sea state in the GUI is taken from wind speed and direction. (In the back end, it is always taken from the sea state attributes though.)

virtual bool DtEnvironmentalStateManager::windDrivenSeaStateEnabled ( const DtVector ) const
virtual

The sea state in the GUI is taken from wind speed and direction. (In the back end, it is always taken from the sea state attributes though.)

virtual void DtEnvironmentalStateManager::setUseDayNightIlluminationModel ( bool  )
virtual

Whether or not to use sunrise/sunset times for illumination. If false, always returns maximum illumination.

virtual bool DtEnvironmentalStateManager::useDayNightIlluminationModel ( ) const
virtual

Whether or not to use sunrise/sunset times for illumination. If false, always returns maximum illumination.

virtual double DtEnvironmentalStateManager::normalizedPrecipitationRate ( ) const
virtual

Sets the precipitation rate in mm/hr that corresponds to a precipitationIntensity of 1.0.

virtual void DtEnvironmentalStateManager::setNormalizedPrecipitationRate ( const double  )
virtual

Sets the precipitation rate in mm/hr that corresponds to a precipitationIntensity of 1.0.

virtual bool DtEnvironmentalStateManager::reduceVisibilityForPrecipitation ( ) const
virtual

Reduce visibility from precipitation on top of the visibility in the visibility parameter. This should be false if the environment/weather is set such that the visibility parameter already accounts for precipitation.

virtual void DtEnvironmentalStateManager::setReduceVisibilityForPrecipitation ( const bool  )
virtual

Reduce visibility from precipitation on top of the visibility in the visibility parameter. This should be false if the environment/weather is set such that the visibility parameter already accounts for precipitation.

DtSimulationServices* DtEnvironmentalStateManager::simulationServices ( ) const
inline
virtual DtLocalObject* DtEnvironmentalStateManager::createGlobalEnvironmentObject ( )
virtual

Creates a new locally simulated VRF object with the type returned from globalEnvironmentObjectType(). Sets this new object to myGlovalEnvironmentObject, and sets up myEnvironmentalStateSetter.

virtual DtString DtEnvironmentalStateManager::deepWaterSoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::shallowWaterSoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::waterySoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::drySoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::roadSoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::snowSoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual DtString DtEnvironmentalStateManager::iceSoilName ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual double DtEnvironmentalStateManager::deepSnowDepth ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual double DtEnvironmentalStateManager::saturationWaterDepth ( ) const
protectedvirtual

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

virtual double DtEnvironmentalStateManager::waterSlideDepth ( ) const
protectedvirtual

Depth of water on a hard surface that causes loss of normal traction.

virtual double DtEnvironmentalStateManager::waterSlideFactor ( ) const
protectedvirtual

Fraction [0-1] of traction retained on hard surface with water on it.

virtual double DtEnvironmentalStateManager::hardFreezeTemperature ( ) const
protectedvirtual

Temperature at which shallow water is frozen enough to drive a vehicle on. Degrees C.

virtual void DtEnvironmentalStateManager::setPriority ( int  p,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual

Sets/gets the priority of the weather area. This value is not used for global weather.

virtual int DtEnvironmentalStateManager::priority ( const DtUUID weatherArea) const
protectedvirtual

Sets/gets the priority of the weather area. This value is not used for global weather.

virtual int DtEnvironmentalStateManager::priority ( const DtVector ) const
protectedvirtual

Sets/gets the priority of the weather area. This value is not used for global weather.

virtual CloudLayerCloudType DtEnvironmentalStateManager::cloudType ( const DtVector localPosition) const
protectedvirtual
virtual double DtEnvironmentalStateManager::cloudAltitude ( const DtVector localPosition) const
protectedvirtual
virtual double DtEnvironmentalStateManager::cloudThickness ( const DtVector localPosition) const
protectedvirtual
virtual double DtEnvironmentalStateManager::cloudDensity ( const DtVector localPosition) const
protectedvirtual
virtual void DtEnvironmentalStateManager::setAmbientAirTemperature ( double  temp,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setAmbientAirPressure ( double  pressure,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setAirTemperatureAltitude ( double  altitude,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setAirPressureAltitude ( double  altitude,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSeaLevelWaterConcentration ( double  water,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setAirTurbulence ( int  current,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setPrecipitationIntensity ( double  factor,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setPrecipitationType ( DtVrfWeatherPrecipitationType  current,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setUnderwaterVisibility ( double  underwaterVisibility,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSurfaceTransparency ( double  transparency,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setWaterCurrentSpeed ( double  waterCurrentSpeed,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setWaterCurrentDirection ( double  waterCurrentDirection,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setAmbientWaterTemperature ( double  waterTemperature,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setTidalOffset ( double  tidalOffset,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSwellState ( unsigned int  state,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSwellStateDirection ( double  direction,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSeaState ( unsigned int  state,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSeaStateDirection ( double  direction,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setChoppiness ( double  choppiness,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSurgeDepth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setFogHeight ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setFogColor ( const DtVector color,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSnowAccumulation ( double  snow,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setSnowRoadAccumulation ( double  snow,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setRainAccumulation ( double  rain,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer1Depth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer1Permeability ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer2Depth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer2Permeability ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer3Depth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer3Permeability ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer4Depth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer4Permeability ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer5Depth ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setThermoclineLayer5Permeability ( double  depth,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::setLightningPresentForWeatherArea ( bool  ,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual void DtEnvironmentalStateManager::clearWindLevels ( const DtUUID weatherArea = DtUUID::nullUUID())
protectedvirtual
virtual void DtEnvironmentalStateManager::setWindLevels ( const DtRwWindLevels ,
const DtUUID weatherArea = DtUUID::nullUUID() 
)
protectedvirtual
virtual DtRwWindLevels DtEnvironmentalStateManager::windLevels ( const DtVector localPosition) const
protectedvirtual
virtual void DtEnvironmentalStateManager::setDeepWaterSoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setShallowWaterSoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setDrySoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setWaterySoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setRoadSoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setSnowSoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setIceSoilName ( const DtString )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setDeepSnowDepth ( const double  )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setSaturationWaterDepth ( const double  )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setWaterSlideDepth ( const double  )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setWaterSlideFactor ( const double  )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::setHardFreezeTemperature ( const double  )
protectedvirtual

Global soil-Related set functions.

virtual void DtEnvironmentalStateManager::processSimObjectAdded ( DtSimObjectReference  )
protectedvirtual
virtual void DtEnvironmentalStateManager::processSimObjectDeleted ( DtSimObjectReference  )
protectedvirtual
virtual DtEnvironmentalStateSetter* DtEnvironmentalStateManager::createLocalEnvironmentalStateSetter ( )
protectedvirtual
Returns
A new instance of DtLocalEnvironmentalStateSetter().
virtual DtEnvironmentalStateSetter* DtEnvironmentalStateManager::createRemoteEnvironmentalStateSetter ( )
protectedvirtual
Returns
A new instance of DtRemoteEnvironmentalStateSetter().
static void DtEnvironmentalStateManager::changeWeatherPrioritiesCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual void DtEnvironmentalStateManager::processChangeWeatherPriorities ( DtSimMessage msg)
protectedvirtual
static void DtEnvironmentalStateManager::requestWeatherAtLocationCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual void DtEnvironmentalStateManager::processRequestWeatherAtLocation ( DtSimMessage msg)
protectedvirtual
static void DtEnvironmentalStateManager::physicalWorldParametersChangedCallback ( void *  usr)
staticprotected
virtual void DtEnvironmentalStateManager::initializeIlluminationObjectsList ( )
protectedvirtual
virtual void DtEnvironmentalStateManager::initializeSoilCharacteristics ( )
protectedvirtual

Copy soil names and soil weather parameters from the physicalWorld parameters.

virtual void DtEnvironmentalStateManager::initializeWeatherStateProvider ( )
protectedvirtual

Reset the weather object provider object–create a new one from the factory, replacing the old one if it exists.

virtual void DtEnvironmentalStateManager::initializeWeatherParameters ( )
protectedvirtual

Set constants relating physical quantities to class function return values, e.g. normalized precipitation rate.

virtual const DtIlluminationObjectParameters& DtEnvironmentalStateManager::findBestMatch ( const DtObjectType objtype) const
protectedvirtual
virtual void DtEnvironmentalStateManager::setupGlobalEnvironmentObject ( DtLocalObject lo)
protectedvirtual
virtual void DtEnvironmentalStateManager::setupGlobalEnvironmentObject ( const DtUUID )
protectedvirtual
static void DtEnvironmentalStateManager::globalObjectAddedCallback ( const DtLocalObject ,
void *  usr 
)
staticprotected
void DtEnvironmentalStateManager::printWeatherObjects ( ) const

Test method.

Member Data Documentation

DtSimulationServices* DtEnvironmentalStateManager::mySimulationServices
protected
DtWeatherStateProvider* DtEnvironmentalStateManager::myWeatherStateProvider
protected

The object used to get weather state.

DtLocalObject* DtEnvironmentalStateManager::myNextFrameGlobalEnvironmentObject
protected
DtUUID DtEnvironmentalStateManager::myNextFrameGlobalEnvironmentObjectUUID
protected
DtSimObjectReference DtEnvironmentalStateManager::myGlobalEnvironmentObject
protected
DtSimObjectReferenceList DtEnvironmentalStateManager::myWeatherObjects
protected
DtSimObjectReferenceList DtEnvironmentalStateManager::myWindCorridorObjects
protected
DtSimObjectReferenceList DtEnvironmentalStateManager::myAirTurbulenceObjects
protected
DtEnvironmentalStateSetter* DtEnvironmentalStateManager::myEnvironmentalStateSetter
protected

This is only for setting global weather – local weather will use local vrf objects.

bool DtEnvironmentalStateManager::myCreatedMetocService
protected
DtUUID DtEnvironmentalStateManager::myMetocWeatherServiceUuid
protected
DtManagedObjectListConstPtr DtEnvironmentalStateManager::myIlluminationObjects
protected
std::map<DtObjectType, DtIlluminationObjectParameters> DtEnvironmentalStateManager::myIlluminationObjectTypes
protected
DtString DtEnvironmentalStateManager::myDeepWaterSoilName
protected

Name of soil that is considered deep water.

DtString DtEnvironmentalStateManager::myShallowWaterSoilName
protected

Name of soil that is considered shallow water.

DtString DtEnvironmentalStateManager::myWaterySoilName
protected

Name of soil that is considered watery soil.

DtString DtEnvironmentalStateManager::myDrySoilName
protected

Name of soil that is dry soil–not sand or gravel.

DtString DtEnvironmentalStateManager::myRoadSoilName
protected

Name of soil that is paved road.

DtString DtEnvironmentalStateManager::mySnowSoilName
protected

Name of "soil" that is snow.

DtString DtEnvironmentalStateManager::myIceSoilName
protected

Name of "soil" that is ice.

double DtEnvironmentalStateManager::myDeepSnowDepth
protected

Depth of snow required for full snow soil effect. Meters.

double DtEnvironmentalStateManager::mySaturationWaterDepth
protected

Depth of water accumulation before dry soil is changed completely to watery soil. Meters.

DtReal DtEnvironmentalStateManager::myWaterSlideDepth
protected

Depth of water on a hard surface that causes loss of normal traction.

DtReal DtEnvironmentalStateManager::myWaterSlideFactor
protected

Fraction [0-1] of traction retained on hard surface with water on it.

double DtEnvironmentalStateManager::myHardFreezeTemperature
protected

Temperature at which shallow water is frozen enough to drive a vehicle on. Degrees C.

double DtEnvironmentalStateManager::myNormalizedPrecipitationRate
protected

The (rain) precipitation rate that corresponds to a value of 1.0 in a weather object or the return value of the function in this class.

DtRwBoolean DtEnvironmentalStateManager::myReduceVisibilityForPrecipitation
protected

This flag determines whether to degrade visibility due to precipitation, on top of the effect of the visibility parameter in the weather state. Of course precipitation should degrade visibility, but the stealth viewer may use the visibility parameter as the net visibility including precipitation, in which case visibility should not be reduced further.

boost::signals2::scoped_connection DtEnvironmentalStateManager::mySimObjectAddedConnection
protected
boost::signals2::scoped_connection DtEnvironmentalStateManager::mySimObjectDeletedConnection
protected
bool DtEnvironmentalStateManager::myFirstTick
protected
DtLocalObjectManager* DtEnvironmentalStateManager::myObjectManager
protected
bool DtEnvironmentalStateManager::myMetocEnabled
protected

This flag determines whether the net interfaces for Environmental Process objects will publish METOC objects.

tbb::spin_mutex DtEnvironmentalStateManager::myRemovalMutex
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)