|
WSF
|
#include <WsfTerrainProfiler.hpp>
Classes | |
| struct | Post |
Public Types | |
| using | LatLonPair = std::pair<double, double> |
| using | InputRoute = std::vector<LatLonPair> |
| using | OutputRoute = std::list<Post> |
Public Member Functions | |
| WsfTerrainProfiler (const wsf::Terrain &aTerrain) | |
| WsfTerrainProfiler (const WsfTerrainProfiler &aSrc) | |
| WsfTerrainProfiler & | operator= (const WsfTerrainProfiler &)=delete |
| ~WsfTerrainProfiler () | |
| bool | ProcessInput (UtInput &aInput) |
| bool | CreateProfile (double aTerrainClearance, double aMaxGradient, double aMinGradient, double aMaxPostSpacing, const InputRoute &aInputRoute, OutputRoute &aOutputRoute, bool aPrintErrors=false) |
| bool | CreateProfile (const InputRoute &aInputRoute, OutputRoute &aOutputRoute, bool aPrintErrors=false) |
| double | NominalTerrainClearance () const |
| double | MinimumGradient () const |
| double | MaximumGradient () const |
| double | MaximumPostSpacing () const |
| void | SetNominalTerrainClearance (double aNomTerrainClear) |
| void | SetMinimumGradient (double aMinGradient) |
| void | SetMaximumGradient (double aMaxGradient) |
| void | SetMaximumPostSpacing (double aMaxPostSpacing) |
Protected Member Functions | |
| void | InsertPostsBetween (OutputRoute &aRoute, OutputRoute::iterator aStartIter, OutputRoute::iterator aStopIter) |
| void | InsertOnePostBetween (OutputRoute &aRoute, OutputRoute::iterator aStartIter, OutputRoute::iterator aStopIter) |
| void | ReNumber (OutputRoute &aRoute) |
| bool | DoubleCheck (OutputRoute &aRoute, bool aPrintErrors=false) |
Terrain Profiling Utility. This class is a utility to translate a collection of (latitude, longitude) pairs into a collection of (latitude, longitude, altitude) Posts suspended above the local terrain, with imposed maximum and minimum gradient limits between each (flight path angle constraints). The Posts may then be used as a terrain avoidance flight profile. Does not laterally displace the path, nor does the class concern itself with either lateral or vertical flight dynamics (beyond gradient), and so does not guarantee that the profile is flyable by the aircraft. NOTE: Due to expensive terrain Line-Of-Sight checks, this utility is not recommended for virtual run-time use. Recommended usage would be after the WsfTerrainPathFinder has found a relatively low-altitude path from A to B, and then this class post-processes the returned path to produce the recommended flown path.
| using WsfTerrainProfiler::InputRoute = std::vector<LatLonPair> |
| using WsfTerrainProfiler::LatLonPair = std::pair<double, double> |
| using WsfTerrainProfiler::OutputRoute = std::list<Post> |
| WsfTerrainProfiler::WsfTerrainProfiler | ( | const wsf::Terrain & | aTerrain | ) |
Referenced by operator=(), and WsfTerrainProfiler().
| WsfTerrainProfiler::WsfTerrainProfiler | ( | const WsfTerrainProfiler & | aSrc | ) |
References WsfTerrainProfiler().
| WsfTerrainProfiler::~WsfTerrainProfiler | ( | ) |
| bool WsfTerrainProfiler::CreateProfile | ( | const InputRoute & | aInputRoute, |
| OutputRoute & | aOutputRoute, | ||
| bool | aPrintErrors = false ) |
References DoubleCheck(), InsertOnePostBetween(), InsertPostsBetween(), and ReNumber().
| bool WsfTerrainProfiler::CreateProfile | ( | double | aTerrainClearance, |
| double | aMaxGradient, | ||
| double | aMinGradient, | ||
| double | aMaxPostSpacing, | ||
| const InputRoute & | aInputRoute, | ||
| OutputRoute & | aOutputRoute, | ||
| bool | aPrintErrors = false ) |
References CreateProfile().
Referenced by CreateProfile(), and UT_DEFINE_SCRIPT_METHOD().
|
protected |
References success.
Referenced by CreateProfile().
|
protected |
Referenced by CreateProfile().
|
protected |
Referenced by CreateProfile().
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
References ProcessInput(), and WsfTerrainProfiler().
| bool WsfTerrainProfiler::ProcessInput | ( | UtInput & | aInput | ) |
Used to set parameters (if desired) via stream input. Values may be set directly via accessors, instead.
Referenced by operator=().
|
protected |
Referenced by CreateProfile().
|
inline |
|
inline |
|
inline |
|
inline |