12#ifndef WSFTERRAINPROFILER_HPP
13#define WSFTERRAINPROFILER_HPP
21#include "wsf_export.h"
56 Post(
double aLatDeg,
double aLonDeg,
double aTerrainAlt,
double aNomPathAlt);
80 double aMaxPostSpacing,
83 bool aPrintErrors =
false);
104 void InsertPostsBetween(OutputRoute& aRoute, OutputRoute::iterator aStartIter, OutputRoute::iterator aStopIter);
106 void InsertOnePostBetween(OutputRoute& aRoute, OutputRoute::iterator aStartIter, OutputRoute::iterator aStopIter);
108 void ReNumber(OutputRoute& aRoute);
110 bool DoubleCheck(OutputRoute& aRoute,
bool aPrintErrors =
false);
116 double mNomTerrainClear;
119 double mMaxPostSpacing;
122 void GetPostData(
double aLatDeg,
double aLonDeg,
double& aTerrainAlt,
double& aMinPathAlt);
124 void InsertPostsBetween_P(OutputRoute& aRoute,
125 double aStartLatitudeDeg,
126 double aStartLongitudeDeg,
128 OutputRoute::iterator aPreviousIter,
129 OutputRoute::iterator aInsertAtIter,
130 size_t aNumberToInsert,
133 Constraints mConstraints;
134 wsf::Terrain mTerrain;
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
void SetMaximumPostSpacing(double aMaxPostSpacing)
Definition WsfTerrainProfiler.hpp:96
WsfTerrainProfiler & operator=(const WsfTerrainProfiler &)=delete
double NominalTerrainClearance() const
Definition WsfTerrainProfiler.hpp:88
void SetNominalTerrainClearance(double aNomTerrainClear)
Definition WsfTerrainProfiler.hpp:93
std::vector< LatLonPair > InputRoute
Definition WsfTerrainProfiler.hpp:52
double MinimumGradient() const
Definition WsfTerrainProfiler.hpp:89
double MaximumPostSpacing() const
Definition WsfTerrainProfiler.hpp:91
bool ProcessInput(UtInput &aInput)
Definition WsfTerrainProfiler.cpp:50
double MaximumGradient() const
Definition WsfTerrainProfiler.hpp:90
void SetMinimumGradient(double aMinGradient)
Definition WsfTerrainProfiler.hpp:94
std::list< Post > OutputRoute
Definition WsfTerrainProfiler.hpp:74
WsfTerrainProfiler(const wsf::Terrain &aTerrain)
Definition WsfTerrainProfiler.cpp:33
void SetMaximumGradient(double aMaxGradient)
Definition WsfTerrainProfiler.hpp:95
std::pair< double, double > LatLonPair
Definition WsfTerrainProfiler.hpp:51
bool CreateProfile(double aTerrainClearance, double aMaxGradient, double aMinGradient, double aMaxPostSpacing, const InputRoute &aInputRoute, OutputRoute &aOutputRoute, bool aPrintErrors=false)
Definition WsfTerrainProfiler.cpp:212
Definition WsfTerrain.hpp:336
double mTerrainAlt
Definition WsfTerrainProfiler.hpp:61
double mDistToNext
Definition WsfTerrainProfiler.hpp:66
double mHdgToNextDeg
Definition WsfTerrainProfiler.hpp:65
double mAdjGradToNext
Definition WsfTerrainProfiler.hpp:69
double mLonDeg
Definition WsfTerrainProfiler.hpp:59
double mAdjPathAlt
Definition WsfTerrainProfiler.hpp:63
double mNomPathAlt
Definition WsfTerrainProfiler.hpp:62
double mLatDeg
Definition WsfTerrainProfiler.hpp:58
size_t mIndex
Definition WsfTerrainProfiler.hpp:71
double mNomGradToNext
Definition WsfTerrainProfiler.hpp:68
Post(double aLatDeg, double aLonDeg, double aTerrainAlt, double aNomPathAlt)
Definition WsfTerrainProfiler.cpp:682