X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNavaids%2FroutePath.hxx;h=778e0d00ef68a268b9931bc62095a4403cadddfa;hb=69baf3a9d6adb645325e7bfc0305b09604379d9f;hp=d04c03d08198996db56199bf7e54bdbec44c72fb;hpb=674a295896a1e56d605f39874262d6f146a586a3;p=flightgear.git diff --git a/src/Navaids/routePath.hxx b/src/Navaids/routePath.hxx index d04c03d08..778e0d00e 100644 --- a/src/Navaids/routePath.hxx +++ b/src/Navaids/routePath.hxx @@ -29,6 +29,7 @@ namespace flightgear { class Hold; + class FlightPlan; } typedef std::vector SGGeodVec; @@ -37,12 +38,15 @@ class RoutePath { public: RoutePath(const flightgear::WayptVec& wpts); - + RoutePath(const flightgear::FlightPlan* fp); + SGGeodVec pathForIndex(int index) const; SGGeod positionForIndex(int index) const; private: + void commonInit(); + class PathCtx; SGGeodVec pathForHold(flightgear::Hold* hold) const; @@ -51,6 +55,8 @@ private: double computeAltitudeForIndex(int index) const; double computeTrackForIndex(int index) const; + void interpolateGreatCircle(const SGGeod& aFrom, const SGGeod& aTo, SGGeodVec& r) const; + /** * Find the distance (in Nm) to climb/descend a height in feet */