#ifndef FG_ROUTE_PATH_HXX
#define FG_ROUTE_PATH_HXX
+#include <memory>
#include <Navaids/route.hxx>
namespace flightgear
class RoutePath
{
public:
- RoutePath(const flightgear::WayptVec& wpts);
RoutePath(const flightgear::FlightPlan* fp);
-
+ ~RoutePath();
+
SGGeodVec pathForIndex(int index) const;
SGGeod positionForIndex(int index) const;
-
+
+ SGGeod positionForDistanceFrom(int index, double distanceM) const;
+
double trackForIndex(int index) const;
double distanceForIndex(int index) const;
double distanceBetweenIndices(int from, int to) const;
+
private:
class RoutePathPrivate;
void interpolateGreatCircle(const SGGeod& aFrom, const SGGeod& aTo, SGGeodVec& r) const;
- RoutePathPrivate* d;
-
-
- double _pathTurnRate; ///< degrees-per-second, defaults to 3, i.e 180 in a minute
+ std::auto_ptr<RoutePathPrivate> d;
};
#endif