WSF
WsfEnvironment Class Reference

#include <WsfEnvironment.hpp>

Classes

class  WindAltitudeTable
 A table to get wind direction and speed as a function of altitude above MSL. More...

Public Types

enum  LandCover {
  cGENERAL = 0 , cURBAN = 1 , cAGRICULTURAL = 2 , cRANGELAND_HERBACEOUS = 3 ,
  cRANGELAND_SHRUB = 4 , cFOREST_DECIDUOUS = 5 , cFOREST_CONIFEROUS = 6 , cFOREST_MIXED = 7 ,
  cFOREST_CLEARCUT = 8 , cFOREST_BLOCKCUT = 9 , cWETLAND_FORESTED = 10 , cWETLAND_NONFORESTED = 11 ,
  cBARREN = 12 , cWATER = 13 , cNUM_LAND_COVERS = 14
}
enum  LandFormation {
  cINVALID = 0 , cLEVEL = 1 , cINCLINED = 2 , cUNDULATING = 3 ,
  cROLLING = 4 , cHUMMOCKY = 5 , cRIDGED = 6 , cMODERATELY_STEEP = 7 ,
  cSTEEP = 8 , cBROKEN = 9 , cNUM_LAND_FORMS = 10
}
enum  SeaState {
  cCALM_GLASSY = 0 , cCALM_RIPPLED = 1 , cSMOOTH = 2 , cSLIGHT = 3 ,
  cMODERATE = 4 , cROUGH = 5 , cVERY_ROUGH = 6 , cNUM_SEA_STATES = 7
}
typedef std::function< LandCover(double, double)> GetLandCoverFunction

Public Member Functions

 WsfEnvironment (WsfScenario &aScenario)
 ~WsfEnvironment ()
 Destructor.
 WsfEnvironment (const WsfEnvironment &)=delete
WsfEnvironmentoperator= (const WsfEnvironment &)=delete
bool ProcessInput (UtInput &aInput)
LandCover GetLandCover () const
 Global Land Cover / Land Form methods.
LandFormation GetLandFormation () const
LandCover GetLandCover (double aLat, double aLon) const
LandFormation GetLandFormation (double aLat, double aLon) const
void SetLandCoverStrategy (const GetLandCoverFunction &aFunction)
SeaState GetSeaState () const
double GetWindSpeed () const
void SetWindSpeed (double aSpeed)
double GetWindDirection () const
void SetWindDirection (double aDirection)
void GetWind (double aLat, double aLon, double aAlt, double &aWindHeading, double &aWindSpeed)
void GetCloudLevel (double &aLowerAlt, double &aUpperAlt) const
bool LOS_ClearOfClouds (const double aEmissionPointWCS[3], const double aTargetPointWCS[3]) const
bool LOS_AdjustedClearOfClouds (const double aEmissionPointWCS[3], double aTargetPointWCS[3]) const
double GetCloudWaterDensity () const
double GetRainUpperLevel () const
double GetRainRate () const
double GetDustStormVisibility () const
void CreateWindAltitudeTable ()
WindAltitudeTableGetWindAltitudeTablePtr ()
WsfNoiseCloudTypesGetNoiseCloudTypes () const
bool UsingPolarOffsetAngles () const
const ut::CentralPoint & GetCentralPoint () const
const ut::CentralBody & GetCentralBody () const
const ut::CentralBodyEllipsoid & GetEllipsoid () const
void GetPolarOffsetAngles (double &aPolarOffsetAngleX, double &aPolarOffsetAngleY) const

Detailed Description

WsfEnvironment is a singleton that is responsible for maintaining the data that describes the overall environment. In the future, this singleton will be removed an objects created on a regional basis to describe the environment for that region

Member Typedef Documentation

◆ GetLandCoverFunction

typedef std::function<LandCover(double, double)> WsfEnvironment::GetLandCoverFunction

Member Enumeration Documentation

◆ LandCover

Land Cover.

Note
The values are important and should not be changed (they are used as array indices).
Enumerator
cGENERAL 
cURBAN 
cAGRICULTURAL 
cRANGELAND_HERBACEOUS 
cRANGELAND_SHRUB 
cFOREST_DECIDUOUS 
cFOREST_CONIFEROUS 
cFOREST_MIXED 
cFOREST_CLEARCUT 
cFOREST_BLOCKCUT 
cWETLAND_FORESTED 
cWETLAND_NONFORESTED 
cBARREN 
cWATER 
cNUM_LAND_COVERS 

◆ LandFormation

Land Formation

Note
The values are important and should not be changed (they are used as array indices).
Enumerator
cINVALID 
cLEVEL 
cINCLINED 
cUNDULATING 
cROLLING 
cHUMMOCKY 
cRIDGED 
cMODERATELY_STEEP 
cSTEEP 
cBROKEN 
cNUM_LAND_FORMS 

◆ SeaState

Sea state

Note
The values are important and should not be changed (they are used as array indices).
Enumerator
cCALM_GLASSY 
cCALM_RIPPLED 
cSMOOTH 
cSLIGHT 
cMODERATE 
cROUGH 
cVERY_ROUGH 
cNUM_SEA_STATES 

Constructor & Destructor Documentation

◆ WsfEnvironment() [1/2]

WsfEnvironment::WsfEnvironment ( WsfScenario & aScenario)

References cCALM_GLASSY, cGENERAL, and cLEVEL.

Referenced by operator=(), and WsfEnvironment().

◆ ~WsfEnvironment()

WsfEnvironment::~WsfEnvironment ( )

Destructor.

◆ WsfEnvironment() [2/2]

WsfEnvironment::WsfEnvironment ( const WsfEnvironment & )
delete

References WsfEnvironment().

Member Function Documentation

◆ CreateWindAltitudeTable()

void WsfEnvironment::CreateWindAltitudeTable ( )

◆ GetCentralBody()

const ut::CentralBody & WsfEnvironment::GetCentralBody ( ) const
inline

◆ GetCentralPoint()

const ut::CentralPoint & WsfEnvironment::GetCentralPoint ( ) const
inline

Referenced by WsfPlatform::Initialize().

◆ GetCloudLevel()

void WsfEnvironment::GetCloudLevel ( double & aLowerAlt,
double & aUpperAlt ) const
inline

Get the lower and upper altitudes of the clouds.

Parameters
aLowerAltThe altitude at which the clouds begin (m).
aUpperAltThe altitude at which the clouds end (m).

◆ GetCloudWaterDensity()

double WsfEnvironment::GetCloudWaterDensity ( ) const
inline

Get the density of water in the clouds.

Returns
the density of water in the clouds (kg/m^3)

◆ GetDustStormVisibility()

double WsfEnvironment::GetDustStormVisibility ( ) const
inline

◆ GetEllipsoid()

const ut::CentralBodyEllipsoid & WsfEnvironment::GetEllipsoid ( ) const

References GetCentralBody().

◆ GetLandCover() [1/2]

◆ GetLandCover() [2/2]

WsfEnvironment::LandCover WsfEnvironment::GetLandCover ( double aLat,
double aLon ) const

GeoSpecific land cover routine using WsfLandUse. This is currently just a stub that returns the static land cover.

◆ GetLandFormation() [1/2]

LandFormation WsfEnvironment::GetLandFormation ( ) const
inline

◆ GetLandFormation() [2/2]

WsfEnvironment::LandFormation WsfEnvironment::GetLandFormation ( double aLat,
double aLon ) const

GeoSpecific land formation routine using WsfLandUse. This is currently just a stub that returns the static land formation.

◆ GetNoiseCloudTypes()

WsfNoiseCloudTypes & WsfEnvironment::GetNoiseCloudTypes ( ) const
inline

◆ GetPolarOffsetAngles()

void WsfEnvironment::GetPolarOffsetAngles ( double & aPolarOffsetAngleX,
double & aPolarOffsetAngleY ) const

◆ GetRainRate()

double WsfEnvironment::GetRainRate ( ) const
inline

Get the rate of rain fall.

Returns
The rate of rain fall (m/s).

◆ GetRainUpperLevel()

double WsfEnvironment::GetRainUpperLevel ( ) const
inline

Get the altitude above which it is no longer raining.

Returns
The altitude above which it is is no longer raining (m).

◆ GetSeaState()

◆ GetWind()

void WsfEnvironment::GetWind ( double aLat,
double aLon,
double aAlt,
double & aWindHeading,
double & aWindSpeed )

Returns wind heading and speed in local NED relative to the lat/lon/alt provided. aLat and aLon are placeholders and are not used in the initial implementation. aWindHeading is direction wind air is going 'to'. (Not direction coming 'from'.) aWindHeading is radians, and Pi wind (180 deg) blows from north to south.

◆ GetWindAltitudeTablePtr()

WindAltitudeTable * WsfEnvironment::GetWindAltitudeTablePtr ( )
inline

◆ GetWindDirection()

double WsfEnvironment::GetWindDirection ( ) const
inline

◆ GetWindSpeed()

◆ LOS_AdjustedClearOfClouds()

bool WsfEnvironment::LOS_AdjustedClearOfClouds ( const double aEmissionPointWCS[3],
double aTargetPointWCS[3] ) const

Check for clear line of sight (in the context of Environmental cloud layers only).

Parameters
aEmissionPointWCSPoint of emission
aTargetPointWCSDesired point of termination of the emission. Will be adjusted to terminate upon the nearest cloud layer surface. (If currently in clouds, will be placed at 10m range.)
Returns
'true' if aTargetPointWCS had to be moved.

◆ LOS_ClearOfClouds()

bool WsfEnvironment::LOS_ClearOfClouds ( const double aEmissionPointWCS[3],
const double aTargetPointWCS[3] ) const

Check for clear line of sight (in the context of Environmental cloud layers only).

Parameters
aEmissionPointWCSPoint of emission
aTargetPointWCSDesired point of termination of the emission.
Returns
'true' if the line-of-sight is clear of clouds.

◆ operator=()

WsfEnvironment & WsfEnvironment::operator= ( const WsfEnvironment & )
delete

References ProcessInput(), and WsfEnvironment().

◆ ProcessInput()

bool WsfEnvironment::ProcessInput ( UtInput & aInput)

See if the supplied command is one of mine.

Parameters
aInputThe input stream.
Returns
'true' if the command was an environment related command or false' if not.
See also
WsfObject::ProcessInput.

References cAGRICULTURAL, cBARREN, cBROKEN, cFOREST_BLOCKCUT, cFOREST_CLEARCUT, cFOREST_CONIFEROUS, cFOREST_DECIDUOUS, cFOREST_MIXED, cGENERAL, cHUMMOCKY, cINCLINED, cLEVEL, cMODERATELY_STEEP, cRANGELAND_HERBACEOUS, cRANGELAND_SHRUB, cRIDGED, cROLLING, cSTEEP, cUNDULATING, cURBAN, cWATER, cWETLAND_FORESTED, cWETLAND_NONFORESTED, GetCentralBody(), and UsingPolarOffsetAngles().

Referenced by operator=().

◆ SetLandCoverStrategy()

void WsfEnvironment::SetLandCoverStrategy ( const GetLandCoverFunction & aFunction)

◆ SetWindDirection()

void WsfEnvironment::SetWindDirection ( double aDirection)
inline

◆ SetWindSpeed()

void WsfEnvironment::SetWindSpeed ( double aSpeed)
inline

◆ UsingPolarOffsetAngles()

bool WsfEnvironment::UsingPolarOffsetAngles ( ) const

Referenced by ProcessInput().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved