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

Handles the environmental state of the simulation. More...

Public Member Functions

 DtEnvironmentalStateManager (DtSimManager *simManager)
 constructor
virtual ~DtEnvironmentalStateManager ()
 destructor
virtual bool init ()
virtual void tick ()
virtual DtSimManagersimManager ()
virtual bool globalEnvironmentSimulatedLocally () const
virtual bool startEnvironmentSimulationLocally ()
 Starts simulating the global environment locally on this simulation engine.
virtual void setGlobalWeather (const DtChangeGlobalWeatherCommand &command)
 Calls the appropriate setXXX() functions locally, depending on what is in the command.
virtual void setTimeOfDay (double secondsPastMidnight)
 The current time of day, specified by the number of seconds passed midnight.
virtual void setTimeOfDay (const DtChangeTimeOfDayCommand &command)
virtual double timeOfDay () const
virtual void setTimeOfDayAdvancementSpeed (double speed)
 The current time of day advancement speed.
virtual void setTimeOfDayAdvancementSpeed (const DtChangeTimeOfDayCommand &command)
virtual double timeOfDayAdvancementSpeed () const
virtual void setAirTurbidity (double factor)
 Individual Environmental effects accessors Air Turbidity.
virtual double airTurbidity () const
 Individual Environmental effects accessors Air Turbidity.
virtual void setAmbientAirTemperature (double temp)
 Ambient Air Temperature (in celsius)
virtual double ambientAirTemperature () const
 Ambient Air Temperature (in celsius)
virtual void setCloudState (DtVrfWeatherCloudState current)
 Cloud state enumeration.
virtual DtVrfWeatherCloudState cloudState () const
 Cloud state enumeration.
virtual void setPrecipitationIntensity (double factor)
 Precipitation Intensity.
virtual double precipitationIntensity () const
 Precipitation Intensity.
virtual void setPrecipitationType (DtVrfWeatherPrecipitationType current)
 Weather state enumeration.
virtual
DtVrfWeatherPrecipitationType 
precipitationType () const
 Weather state enumeration.
virtual void setWindSpeed (double value)
 Wind speed in m/s.
virtual double windSpeed () const
 Wind speed in m/s.
virtual void setWindDirection (double value)
 Wind direction in radians.
virtual double windDirection () const
 Wind direction in radians.
virtual void setVisibility (double value)
 Visibility in meters.
virtual double visibility () const
 Visibility in meters.
virtual double illumination (const DtVector &localPosition) const
 Illumination in percentage (0 to 1.0) at a particular location.
virtual void setUnderwaterVisibility (double underwaterVisibility)
 Underwater visibility in meters.
virtual double underwaterVisibility () const
 Underwater visibility in meters.
virtual void setSurfaceTransparency (double transparency)
 Surface transparency (percentage)
virtual double surfaceTransparency () const
 Surface transparency (percentage)
virtual void setWaterCurrentSpeed (double waterCurrentSpeed)
 Water velocity in meters per second.
virtual double waterCurrentSpeed () const
 Water velocity in meters per second.
virtual void setWaterCurrentDirection (double waterCurrentDirection)
 Water direction in radians clockwise from 0 (north)
virtual double waterCurrentDirection () const
 Water direction in radians clockwise from 0 (north)
virtual void setAmbientWaterTemperature (double waterTemperature)
 Ambient water temperature in Celsius.
virtual double ambientWaterTemperature () const
 Ambient water temperature in Celsius.
virtual void setTidalOffset (double tidalOffset)
 Tidal offset in meters from the water polygons in the database.
virtual double tidalOffset () const
 Tidal offset in meters from the water polygons in the database.
virtual void setTidalDirection (bool tidalDirection)
 Tidal direction where true represents the tide going in and false represents the tide going out.
virtual bool tidalDirection () const
 Tidal direction where true represents the tide going in and false represents the tide going out.
virtual void setSwellState (unsigned int state)
 Swell state according to the Douglas Sea Scale (integer 0 - 9)
virtual unsigned int swellState () const
 Swell state according to the Douglas Sea Scale (integer 0 - 9)
virtual void setSwellStateDirection (double direction)
 Swell direction in in radians clockwise from 0 (north)
virtual double swellStateDirection () const
 Swell direction in in radians clockwise from 0 (north)
virtual void setSeaState (unsigned int state)
 Swell state according to the Douglas Sea Scale (integer 0 - 9)
virtual unsigned int seaState () const
 Swell state according to the Douglas Sea Scale (integer 0 - 9)
virtual void setSeaStateDirection (double direction)
 Swell direction in in radians clockwise from 0 (north)
virtual double seaStateDirection () const
 Swell direction in in radians clockwise from 0 (north)
virtual void setWindDrivenSeaStateEnabled (bool b)
 Determines if the sea state is set based on the wind.
virtual bool windDrivenSeaStateEnabled () const
 Determines if the sea state is set based on the wind.
virtual void setChoppiness (double choppiness)
 Wave choppiness (0..1)
virtual double choppiness () const
 Wave choppiness (0..1)
virtual void setSurgeDepth (double depth)
 Surge depth (meters)
virtual double surgeDepth () const
 Surge depth (meters)
virtual void setThermoclineLayer1Depth (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer1Depth () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer1Permeability (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer1Permeability () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer2Depth (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer2Depth () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer2Permeability (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer2Permeability () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer3Depth (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer3Depth () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer3Permeability (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer3Permeability () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer4Depth (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer4Depth () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer4Permeability (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer4Permeability () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer5Depth (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer5Depth () const
 Thermocline depth (in meters) and permeability (0..1).
virtual void setThermoclineLayer5Permeability (double depth)
 Thermocline depth (in meters) and permeability (0..1).
virtual double thermoclineLayer5Permeability () const
 Thermocline depth (in meters) and permeability (0..1).

Protected Member Functions

virtual void processObjectAdded (DtVrfObject *object)
virtual void processObjectRemoved (DtVrfObject *object)
virtual void createGlobalEnvironmentObject ()
 Creates a new locally simulated VRF object with the type returned from glovalEnvironmentObjectType().
virtual DtObjectType globalEnvironmentObjectType () const
virtual
DtEnvironmentalStateSetter
createLocalEnvironmentalStateSetter ()
virtual
DtEnvironmentalStateSetter
createRemoteEnvironmentalStateSetter ()

Static Protected Member Functions

static void objectAddedCallback (DtVrfObject *object, void *usr)
static void objectRemovedCallback (DtVrfObject *object, void *usr)

Protected Attributes

DtSimManagermySimManager
DtVrfObjectmyGlobalEnvironmentObject
DtEnvironmentalStateSettermyEnvironmentalStateSetter
bool myFirstTick

Private Member Functions

 DtEnvironmentalStateManager (const DtEnvironmentalStateManager &orig)
 Not implemented.
const DtEnvironmentalStateManageroperator= (const DtEnvironmentalStateManager &orig)
 Not implemented.
 DtEnvironmentalStateManager ()
 Not implemented.

Detailed Description

Handles the environmental state of the simulation.

Currently there is only one environmental state for the whole simulation. This manager provides access to the environmental state and is responsible for updating the environmental state from the network.

Constructor & Destructor Documentation

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( const DtEnvironmentalStateManager orig)
private

Not implemented.

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( )
private

Not implemented.

DtEnvironmentalStateManager::DtEnvironmentalStateManager ( DtSimManager simManager)

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 DtSimManager* DtEnvironmentalStateManager::simManager ( )
virtual
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::setAirTurbidity ( double  factor)
virtual

Individual Environmental effects accessors Air Turbidity.

virtual double DtEnvironmentalStateManager::airTurbidity ( ) const
virtual

Individual Environmental effects accessors Air Turbidity.

virtual void DtEnvironmentalStateManager::setAmbientAirTemperature ( double  temp)
virtual

Ambient Air Temperature (in celsius)

virtual double DtEnvironmentalStateManager::ambientAirTemperature ( ) const
virtual

Ambient Air Temperature (in celsius)

virtual void DtEnvironmentalStateManager::setCloudState ( DtVrfWeatherCloudState  current)
virtual

Cloud state enumeration.

virtual DtVrfWeatherCloudState DtEnvironmentalStateManager::cloudState ( ) const
virtual

Cloud state enumeration.

virtual void DtEnvironmentalStateManager::setPrecipitationIntensity ( double  factor)
virtual

Precipitation Intensity.

virtual double DtEnvironmentalStateManager::precipitationIntensity ( ) const
virtual

Precipitation Intensity.

virtual void DtEnvironmentalStateManager::setPrecipitationType ( DtVrfWeatherPrecipitationType  current)
virtual

Weather state enumeration.

virtual DtVrfWeatherPrecipitationType DtEnvironmentalStateManager::precipitationType ( ) const
virtual

Weather state enumeration.

virtual void DtEnvironmentalStateManager::setWindSpeed ( double  value)
virtual

Wind speed in m/s.

virtual double DtEnvironmentalStateManager::windSpeed ( ) const
virtual

Wind speed in m/s.

virtual void DtEnvironmentalStateManager::setWindDirection ( double  value)
virtual

Wind direction in radians.

virtual double DtEnvironmentalStateManager::windDirection ( ) const
virtual

Wind direction in radians.

virtual void DtEnvironmentalStateManager::setVisibility ( double  value)
virtual

Visibility in meters.

virtual double DtEnvironmentalStateManager::visibility ( ) const
virtual

Visibility in meters.

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 time of day.

Note
Currently, the location is ignored, and the illumination is the same over the entire simulation.
virtual void DtEnvironmentalStateManager::setGlobalWeather ( const DtChangeGlobalWeatherCommand command)
virtual

Calls the appropriate setXXX() functions locally, depending on what is in the command.

virtual void DtEnvironmentalStateManager::setTimeOfDay ( double  secondsPastMidnight)
virtual

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

virtual void DtEnvironmentalStateManager::setTimeOfDay ( const DtChangeTimeOfDayCommand command)
virtual
virtual double DtEnvironmentalStateManager::timeOfDay ( ) const
virtual
virtual void DtEnvironmentalStateManager::setTimeOfDayAdvancementSpeed ( double  speed)
virtual

The current time of day advancement speed.

virtual void DtEnvironmentalStateManager::setTimeOfDayAdvancementSpeed ( const DtChangeTimeOfDayCommand command)
virtual
virtual double DtEnvironmentalStateManager::timeOfDayAdvancementSpeed ( ) const
virtual
virtual void DtEnvironmentalStateManager::setUnderwaterVisibility ( double  underwaterVisibility)
virtual

Underwater visibility in meters.

virtual double DtEnvironmentalStateManager::underwaterVisibility ( ) const
virtual

Underwater visibility in meters.

virtual void DtEnvironmentalStateManager::setSurfaceTransparency ( double  transparency)
virtual

Surface transparency (percentage)

virtual double DtEnvironmentalStateManager::surfaceTransparency ( ) const
virtual

Surface transparency (percentage)

virtual void DtEnvironmentalStateManager::setWaterCurrentSpeed ( double  waterCurrentSpeed)
virtual

Water velocity in meters per second.

virtual double DtEnvironmentalStateManager::waterCurrentSpeed ( ) const
virtual

Water velocity in meters per second.

virtual void DtEnvironmentalStateManager::setWaterCurrentDirection ( double  waterCurrentDirection)
virtual

Water direction in radians clockwise from 0 (north)

virtual double DtEnvironmentalStateManager::waterCurrentDirection ( ) const
virtual

Water direction in radians clockwise from 0 (north)

virtual void DtEnvironmentalStateManager::setAmbientWaterTemperature ( double  waterTemperature)
virtual

Ambient water temperature in Celsius.

virtual double DtEnvironmentalStateManager::ambientWaterTemperature ( ) const
virtual

Ambient water temperature in Celsius.

virtual void DtEnvironmentalStateManager::setTidalOffset ( double  tidalOffset)
virtual

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

virtual double DtEnvironmentalStateManager::tidalOffset ( ) const
virtual

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

virtual void DtEnvironmentalStateManager::setTidalDirection ( bool  tidalDirection)
virtual

Tidal direction where true represents the tide going in and false represents the tide going out.

virtual bool DtEnvironmentalStateManager::tidalDirection ( ) const
virtual

Tidal direction where true represents the tide going in and false represents the tide going out.

virtual void DtEnvironmentalStateManager::setSwellState ( unsigned int  state)
virtual

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

virtual unsigned int DtEnvironmentalStateManager::swellState ( ) const
virtual

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

virtual void DtEnvironmentalStateManager::setSwellStateDirection ( double  direction)
virtual

Swell direction in in radians clockwise from 0 (north)

virtual double DtEnvironmentalStateManager::swellStateDirection ( ) const
virtual

Swell direction in in radians clockwise from 0 (north)

virtual void DtEnvironmentalStateManager::setSeaState ( unsigned int  state)
virtual

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

virtual unsigned int DtEnvironmentalStateManager::seaState ( ) const
virtual

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

virtual void DtEnvironmentalStateManager::setSeaStateDirection ( double  direction)
virtual

Swell direction in in radians clockwise from 0 (north)

virtual double DtEnvironmentalStateManager::seaStateDirection ( ) const
virtual

Swell direction in in radians clockwise from 0 (north)

virtual void DtEnvironmentalStateManager::setWindDrivenSeaStateEnabled ( bool  b)
virtual

Determines if the sea state is set based on the wind.

virtual bool DtEnvironmentalStateManager::windDrivenSeaStateEnabled ( ) const
virtual

Determines if the sea state is set based on the wind.

virtual void DtEnvironmentalStateManager::setChoppiness ( double  choppiness)
virtual

Wave choppiness (0..1)

virtual double DtEnvironmentalStateManager::choppiness ( ) const
virtual

Wave choppiness (0..1)

virtual void DtEnvironmentalStateManager::setSurgeDepth ( double  depth)
virtual

Surge depth (meters)

virtual double DtEnvironmentalStateManager::surgeDepth ( ) const
virtual

Surge depth (meters)

virtual void DtEnvironmentalStateManager::setThermoclineLayer1Depth ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer1Depth ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer1Permeability ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer1Permeability ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer2Depth ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer2Depth ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer2Permeability ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer2Permeability ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer3Depth ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer3Depth ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer3Permeability ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer3Permeability ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer4Depth ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer4Depth ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer4Permeability ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer4Permeability ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer5Depth ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer5Depth ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual void DtEnvironmentalStateManager::setThermoclineLayer5Permeability ( double  depth)
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

virtual double DtEnvironmentalStateManager::thermoclineLayer5Permeability ( ) const
virtual

Thermocline depth (in meters) and permeability (0..1).

A depth of zero means that layer is not used.

static void DtEnvironmentalStateManager::objectAddedCallback ( DtVrfObject object,
void *  usr 
)
staticprotected
virtual void DtEnvironmentalStateManager::processObjectAdded ( DtVrfObject object)
protectedvirtual
static void DtEnvironmentalStateManager::objectRemovedCallback ( DtVrfObject object,
void *  usr 
)
staticprotected
virtual void DtEnvironmentalStateManager::processObjectRemoved ( DtVrfObject object)
protectedvirtual
virtual void DtEnvironmentalStateManager::createGlobalEnvironmentObject ( )
protectedvirtual

Creates a new locally simulated VRF object with the type returned from glovalEnvironmentObjectType().

Sets this new object to myGlovalEnvironmentObject, and sets up myEnvironmentalStateSetter.

virtual DtObjectType DtEnvironmentalStateManager::globalEnvironmentObjectType ( ) const
protectedvirtual
Returns
The object type that will be used for the global environment object. Returns 1:21:0:0:1:0:0:0
virtual DtEnvironmentalStateSetter* DtEnvironmentalStateManager::createLocalEnvironmentalStateSetter ( )
protectedvirtual
Returns
A new instance of DtLocalEnvironmentalStateSetter().
virtual DtEnvironmentalStateSetter* DtEnvironmentalStateManager::createRemoteEnvironmentalStateSetter ( )
protectedvirtual
Returns
A new instance of DtRemoteEnvironmentalStateSetter().

Member Data Documentation

DtSimManager* DtEnvironmentalStateManager::mySimManager
protected
DtVrfObject* DtEnvironmentalStateManager::myGlobalEnvironmentObject
protected
DtEnvironmentalStateSetter* DtEnvironmentalStateManager::myEnvironmentalStateSetter
protected
bool DtEnvironmentalStateManager::myFirstTick
protected

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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)