12#ifndef WSFSIXDOFENVIRONMENT_HPP
13#define WSFSIXDOFENVIRONMENT_HPP
15#include "wsf_six_dof_export.h"
17#include "UtAtmosphere.hpp"
19#include "UtVec3dX.hpp"
41 UtVec3dX
GetWindNED_mps(
double aLatitude,
double aLongitude,
double aAltitude_m)
const
45 mEnvironment->GetWind(aLatitude, aLongitude, aAltitude_m, heading_rad, speed_mps);
47 return UtVec3dX(heading_rad, 0.0, speed_mps,
true);
52 return mTerrain->HeightOfTerrain_m(aLatitude, aLongitude);
57 UtVec3dX& aUpVectorNED,
58 UtVec3dX& aSpeedVectorNED_mps,
59 double& aFrictionMultiplier)
const
61 return mTerrain->HeightOfTerrain_m(aLatitude, aLongitude, aUpVectorNED, aSpeedVectorNED_mps, aFrictionMultiplier);
71 double& aDynamicPressure_psf,
72 double& aStaticPressure_psf)
const;
76 return mAtmosphere->CalcAirDensity_slug_ft3(aAltitude_ft);
81 return mAtmosphere->CalcAmbientPressure_psf(aAltitude_ft);
86 return mAtmosphere->CalcKtasFromKcas(aAltitude_m, aSpeed_kcas);
91 return mAtmosphere->CalcKcasFromKtas(aAltitude_m, aSpeed_ktas);
96 return mAtmosphere->CalcKtasFromMach(aAltitude_m, aSpeed_mach);
101 return mAtmosphere->CalcMachFromKtas(aAltitude_m, aSpeed_ktas);
106 return mAtmosphere->CalcKcasFromMach(aAltitude_m, aSpeed_mach);
111 return mAtmosphere->CalcMachFromKcas(aAltitude_m, aSpeed_kcas);
116 return mAtmosphere->CalcKcasFromFps(aAltitude_m, aSpeed_fps);
121 return mAtmosphere->CalcFpsFromKcas(aAltitude_m, aSpeed_kcas);
126 return mAtmosphere->CalcMachFromFps(aAltitude_m, aSpeed_fps);
131 return mAtmosphere->CalcFpsFromMach(aAltitude_m, aSpeed_mach);
136 return mAtmosphere->CalcFpsFromDynamicPressure(aAltitude_m, aPressure_psf);
141 return mAtmosphere->CalcDynamicPressure_psf(aAltitude_m, aSpeed_fps);
145 double CalcDensityRatio(
double aAltitude_m)
const {
return mAtmosphere->DensityRatio(aAltitude_m); }
150 return mAtmosphere->IsWithinContrailAltitudeBand(aAltitude_m);
157 UtAtmosphere* mAtmosphere =
nullptr;
158 std::unique_ptr<Terrain> mTerrain;
Definition WsfEnvironment.hpp:37
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
The main controller for a simulation.
Definition WsfSimulation.hpp:109
double CalcMachFromKtas(double aAltitude_m, double aSpeed_ktas) const
Definition WsfSixDOF_Environment.hpp:99
double CalcFpsFromDynamicPressure(double aAltitude_m, double aPressure_psf) const
Definition WsfSixDOF_Environment.hpp:134
double CalcAmbientPressure_psf(double aAltitude_ft) const
Definition WsfSixDOF_Environment.hpp:79
double CalcDensityRatio(double aAltitude_m) const
Definition WsfSixDOF_Environment.hpp:145
double CalcFpsFromMach(double aAltitude_m, double aSpeed_mach) const
Definition WsfSixDOF_Environment.hpp:129
double CalcKcasFromKtas(double aAltitude_m, double aSpeed_ktas) const
Definition WsfSixDOF_Environment.hpp:89
double CalcDynamicPressure_psf(double aAltitude_m, double aSpeed_fps) const
Definition WsfSixDOF_Environment.hpp:139
UtVec3dX GetWindNED_mps(double aLatitude, double aLongitude, double aAltitude_m) const
Definition WsfSixDOF_Environment.hpp:41
void GetAeroParameters(double aAltitude_ft, double aSpeed_fps, double &aAirDensity, double &aDynamicPressure_psf, double &aStaticPressure_psf) const
Definition WsfSixDOF_Environment.cpp:65
double CalcKcasFromMach(double aAltitude_m, double aSpeed_mach) const
Definition WsfSixDOF_Environment.hpp:104
bool ProcessInput(UtInput &aInput) override
Definition WsfSixDOF_Environment.cpp:34
double CalcAirDensity_slug_ft3(double aAltitude_ft) const
Definition WsfSixDOF_Environment.hpp:74
double GetTerrainElevation(double aLatitude, double aLongitude) const
Definition WsfSixDOF_Environment.hpp:50
double CalcKtasFromKcas(double aAltitude_m, double aSpeed_kcas) const
Definition WsfSixDOF_Environment.hpp:84
bool IsWithinContrailBand(double aAltitude_m) const
Definition WsfSixDOF_Environment.hpp:148
double CalcFpsFromKcas(double aAltitude_m, double aSpeed_kcas) const
Definition WsfSixDOF_Environment.hpp:119
double CalcMachFromFps(double aAltitude_m, double aSpeed_fps) const
Definition WsfSixDOF_Environment.hpp:124
double CalcMachFromKcas(double aAltitude_m, double aSpeed_kcas) const
Definition WsfSixDOF_Environment.hpp:109
void AddedToScenario() override
Definition WsfSixDOF_Environment.cpp:24
double GetTerrainDataElevationAndData(double aLatitude, double aLongitude, UtVec3dX &aUpVectorNED, UtVec3dX &aSpeedVectorNED_mps, double &aFrictionMultiplier) const
Definition WsfSixDOF_Environment.hpp:55
double CalcKtasFromMach(double aAltitude_m, double aSpeed_mach) const
Definition WsfSixDOF_Environment.hpp:94
double CalcKcasFromFps(double aAltitude_m, double aSpeed_fps) const
Definition WsfSixDOF_Environment.hpp:114
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32