#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLATITUDE_H #define GERMANAIRLINESVA_FILE_FSUIPC_FSLATITUDE_H #include #include #include #include namespace germanairlinesva { namespace file { namespace FSUIPC { class FsLatitudeSpan; class FsLatitude { private: double pos; public: inline FsLatitude(); inline FsLatitude(double DecimalDegrees); inline FsLatitude(std::int64_t FSUnits); inline FsLatitude(std::int32_t FSUnits); inline FsLatitude(std::int32_t Degrees, double DecimalMinutes); inline FsLatitude(std::int32_t Degrees, std::int32_t Minutes, double DecimalSeconds); inline std::int64_t ToFSUnits8() const; inline std::int32_t ToFSUnits4() const; inline double DecimalDegrees() const; inline double DecimalMinutes() const; inline double DecimalSeconds() const; inline std::int32_t Degree() const; inline std::int32_t Minute() const; inline std::int32_t Second() const; inline double UDegrees() const; inline const std::string to_string(bool HemisphereAsText, char DetailLevel) const; inline const std::string to_string() const; inline FsLatitude Add(const FsLatitudeSpan &Distance) const; inline FsLatitude Subtract(const FsLatitudeSpan &Distance) const; inline FsLatitude AddDegrees(double Degrees) const; inline FsLatitude AddMinutes(double Minutes) const; inline FsLatitude AddSeconds(double Seconds) const; }; } // namespace FSUIPC } // namespace file } // namespace germanairlinesva #endif