VR-Forces 4.1.1 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
DtRemoteEnvironmentController Class Reference

DtRemoteEnvironmentController allows the user to interrogate the back-end which is simulating the environmental weather object to get the current weather state. More...

Public Member Functions

 DtRemoteEnvironmentController ()
 Constructor.
virtual void init (DtVrfMessageInterface *msgIf, DtReflectedEnvironmentProcessList *rel)
 Caches the given pointers as myMsgIf and myReflectedEnvironmentProcessList.
bool reflectingCurrentWeatherState ()
 Indicates if the weather state of the back-end simulating the weather has been reflected.
virtual void processEnvironmentProcessAdded (DtReflectedEnvironmentProcess *obj)
 Checks to see if the first recordPointer in the state repository of the DtReflectedEnvironmentProcess is of type DtEnvVrfWeatherStateRecordType, and if so it caches a pointer to the SR in myReflectedWeatherSR.
virtual void processEnvironmentProcessRemoved (DtReflectedEnvironmentProcess *obj)
 Checks to see if the DtReflectedEnvironmentProcess being removed corresponds to the one cached in myReflectedWeatherSR, and if so myReflectedWeatherSR is set to 0.
virtual void setAirTurbidity (double value)
 Air Turbidity.
virtual double airTurbidity ()
 If !reflectingCurrentWeatherState(), the default is 0.0.
virtual void setCloudState (DtVrfWeatherCloudState)
 Cloud State.
virtual DtVrfWeatherCloudState cloudState ()
 If !reflectingCurrentWeatherState(), the default is DtVrfWeatherCloudStateClear.
virtual void setPrecipitationIntensity (double value)
 Precipitation Intensity.
virtual double precipitationIntensity ()
 If !reflectingCurrentWeatherState(), the default is 0.0.
virtual void setPrecipitationType (DtVrfWeatherPrecipitationType)
 Precipitation Intensity.
virtual
DtVrfWeatherPrecipitationType 
precipitationType ()
 If !reflectingCurrentWeatherState(), the default is 0.0.
virtual void setWindSpeed (double value)
 Wind speed in m/s.
virtual double windSpeed ()
 If !reflectingCurrentWeatherState(), the default is 0.0.
virtual void setWindDirection (double value)
 Wind direction in radians.
virtual double windDirection ()
 If !reflectingCurrentWeatherState(), the default is 0.0.
virtual void setVisibility (double value)
 Visibility in meters.
virtual double visibility ()
 If !reflectingCurrentWeatherState(), the default is 16,000 (16km)
virtual double illumination ()
 Illumination in percentage (0 to 1.0).
virtual void setTimeOfDay (double secondsPastMidnight)
 The current time of day, specified by the number of seconds passed midnight.
virtual double timeOfDay ()
 If !reflectingCurrentWeatherState(), the default is 43200 (12:00 noon)
virtual void setTimeOfDayAdvancementSpeed (double speed)
 The current time of day advancement speed.
virtual double timeOfDayAdvancementSpeed ()
 If !reflectingCurrentWeatherState(), the default is 0 (no advance)

Static Public Member Functions

static void environmentProcessAddedCallback (DtReflectedEnvironmentProcess *obj, void *userData)
 Registered by onInit, calls processEnvironmentProcessAdded.
static void environmentProcessRemovedCallback (DtReflectedEnvironmentProcess *obj, void *userData)
 Registered by onInit, calls processEnvironmentProcessRemoved.

Protected Member Functions

bool updateVrfEnvironmentalWeatherStateRecord ()
 Called by all the weather accessors to update myVrfEnvironmentalWeatherStateRecord from DtEnvironmentProcessRepository.
virtual void processUpdatedCallback (DtReflectedEnvironmentProcess *e)

Static Protected Member Functions

static void environmentProcessUpdatedCallback (DtReflectedEnvironmentProcess *e, void *usr)
 Update internal data structures.

Protected Attributes

DtReflectedEnvironmentProcessListmyReflectedEnvironmentProcessList
DtVrfMessageInterfacemyMsgIf
DtEnvironmentProcessRepositorymyReflectedWeatherSR
DtVrfEnvironmentalWeatherStateRecordmyVrfEnvironmentalWeatherStateRecord

Detailed Description

DtRemoteEnvironmentController allows the user to interrogate the back-end which is simulating the environmental weather object to get the current weather state.

Sim commands can also be sent to change the weather state. If there is no weather state available, the accessors will all provide reasonable default values which represent a clear, windless and sunny environment state. The user can check to see if the back-end's weather values are being reflected by calling reflectingCurrentWeatherState().

Constructor & Destructor Documentation

DtRemoteEnvironmentController::DtRemoteEnvironmentController ( )

Constructor.

Member Function Documentation

virtual void DtRemoteEnvironmentController::init ( DtVrfMessageInterface msgIf,
DtReflectedEnvironmentProcessList rel 
)
virtual

Caches the given pointers as myMsgIf and myReflectedEnvironmentProcessList.

Registers environmentProcessAddedCallback and environmentProcessRemovedCallback with the DtReflectedEnvironmentProcessList. In order to check to see if the environment object has already been reflected, the environment list is walked and each reflected object is passed to processEnvironmentProcessAdded.

bool DtRemoteEnvironmentController::reflectingCurrentWeatherState ( )

Indicates if the weather state of the back-end simulating the weather has been reflected.

Unless this returns true, none of the accessors will return real data!

virtual void DtRemoteEnvironmentController::setAirTurbidity ( double  value)
virtual

Air Turbidity.

virtual double DtRemoteEnvironmentController::airTurbidity ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0.0.

virtual void DtRemoteEnvironmentController::setCloudState ( DtVrfWeatherCloudState  )
virtual

Cloud State.

virtual DtVrfWeatherCloudState DtRemoteEnvironmentController::cloudState ( )
virtual

If !reflectingCurrentWeatherState(), the default is DtVrfWeatherCloudStateClear.

virtual void DtRemoteEnvironmentController::setPrecipitationIntensity ( double  value)
virtual

Precipitation Intensity.

virtual double DtRemoteEnvironmentController::precipitationIntensity ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0.0.

virtual void DtRemoteEnvironmentController::setPrecipitationType ( DtVrfWeatherPrecipitationType  )
virtual

Precipitation Intensity.

virtual DtVrfWeatherPrecipitationType DtRemoteEnvironmentController::precipitationType ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0.0.

virtual void DtRemoteEnvironmentController::setWindSpeed ( double  value)
virtual

Wind speed in m/s.

virtual double DtRemoteEnvironmentController::windSpeed ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0.0.

virtual void DtRemoteEnvironmentController::setWindDirection ( double  value)
virtual

Wind direction in radians.

virtual double DtRemoteEnvironmentController::windDirection ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0.0.

virtual void DtRemoteEnvironmentController::setVisibility ( double  value)
virtual

Visibility in meters.

virtual double DtRemoteEnvironmentController::visibility ( )
virtual

If !reflectingCurrentWeatherState(), the default is 16,000 (16km)

virtual double DtRemoteEnvironmentController::illumination ( )
virtual

Illumination in percentage (0 to 1.0).

Illumination cannot be set directly. It is a function of time of day. If !reflectingCurrentWeatherState() is default is 1.0 (100% illumination)

virtual void DtRemoteEnvironmentController::setTimeOfDay ( double  secondsPastMidnight)
virtual

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

virtual double DtRemoteEnvironmentController::timeOfDay ( )
virtual

If !reflectingCurrentWeatherState(), the default is 43200 (12:00 noon)

virtual void DtRemoteEnvironmentController::setTimeOfDayAdvancementSpeed ( double  speed)
virtual

The current time of day advancement speed.

virtual double DtRemoteEnvironmentController::timeOfDayAdvancementSpeed ( )
virtual

If !reflectingCurrentWeatherState(), the default is 0 (no advance)

static void DtRemoteEnvironmentController::environmentProcessAddedCallback ( DtReflectedEnvironmentProcess *  obj,
void *  userData 
)
static

Registered by onInit, calls processEnvironmentProcessAdded.

virtual void DtRemoteEnvironmentController::processEnvironmentProcessAdded ( DtReflectedEnvironmentProcess *  obj)
virtual

Checks to see if the first recordPointer in the state repository of the DtReflectedEnvironmentProcess is of type DtEnvVrfWeatherStateRecordType, and if so it caches a pointer to the SR in myReflectedWeatherSR.

static void DtRemoteEnvironmentController::environmentProcessRemovedCallback ( DtReflectedEnvironmentProcess *  obj,
void *  userData 
)
static

Registered by onInit, calls processEnvironmentProcessRemoved.

virtual void DtRemoteEnvironmentController::processEnvironmentProcessRemoved ( DtReflectedEnvironmentProcess *  obj)
virtual

Checks to see if the DtReflectedEnvironmentProcess being removed corresponds to the one cached in myReflectedWeatherSR, and if so myReflectedWeatherSR is set to 0.

bool DtRemoteEnvironmentController::updateVrfEnvironmentalWeatherStateRecord ( )
protected

Called by all the weather accessors to update myVrfEnvironmentalWeatherStateRecord from DtEnvironmentProcessRepository.

static void DtRemoteEnvironmentController::environmentProcessUpdatedCallback ( DtReflectedEnvironmentProcess *  e,
void *  usr 
)
staticprotected

Update internal data structures.

virtual void DtRemoteEnvironmentController::processUpdatedCallback ( DtReflectedEnvironmentProcess *  e)
protectedvirtual

Member Data Documentation

DtReflectedEnvironmentProcessList* DtRemoteEnvironmentController::myReflectedEnvironmentProcessList
protected
DtVrfMessageInterface* DtRemoteEnvironmentController::myMsgIf
protected
DtEnvironmentProcessRepository* DtRemoteEnvironmentController::myReflectedWeatherSR
protected
DtVrfEnvironmentalWeatherStateRecord* DtRemoteEnvironmentController::myVrfEnvironmentalWeatherStateRecord
protected

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)