60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLATITUDE_H
|
|
#define GERMANAIRLINESVA_FILE_FSUIPC_FSLATITUDE_H
|
|
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
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 |