#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLATLONPOINT_H #define GERMANAIRLINESVA_FILE_FSUIPC_FSLATLONPOINT_H #define _USE_MATH_DEFINES #include #include #include #include "FsLatitude.h" #include "FsLatitudeSpan.h" #include "FsLongitude.h" #include "FsLongitudeSpan.h" namespace germanairlinesva { namespace file { namespace FSUIPC { class FsLatLonPoint { private: FsLatitude lat; FsLongitude lon; public: inline FsLatLonPoint(); inline FsLatLonPoint(FsLatitude Latitude, FsLongitude Longitude); inline const FsLongitude Longitude() const; inline const FsLatitude Latitude() const; inline double DistanceFromInFeet(const FsLatLonPoint &Point) const; inline double DistanceFromInNauticalMiles(const FsLatLonPoint &Point) const; inline double DistanceFromInMetres(const FsLatLonPoint &Point) const; inline double BearingTo(const FsLatLonPoint &Point) const; inline double BearingFrom(const FsLatLonPoint &Point) const; inline FsLatLonPoint OffsetByFeet(double Bearing, double Distance) const; inline FsLatLonPoint OffsetByMetres(double Bearing, double Distance) const; inline FsLatLonPoint OffsetByNauticalMiles(double Bearing, double Distance) const; inline const std::string to_string(bool HemisphereAsText, char DetailLevel) const; inline const std::string to_string() const; }; } // namespace FSUIPC } // namespace file } // namespace germanairlinesva #endif