60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLONGITUDE_H
|
|
#define GERMANAIRLINESVA_FILE_FSUIPC_FSLONGITUDE_H
|
|
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
|
|
namespace germanairlinesva
|
|
{
|
|
namespace file
|
|
{
|
|
namespace FSUIPC
|
|
{
|
|
class FsLongitudeSpan;
|
|
class FsLongitude
|
|
{
|
|
private:
|
|
double pos;
|
|
|
|
public:
|
|
inline FsLongitude();
|
|
inline FsLongitude(double DecimalDegrees);
|
|
inline FsLongitude(std::int64_t FSUnits);
|
|
inline FsLongitude(std::int32_t FSUnits);
|
|
inline FsLongitude(std::int32_t Degrees, double DecimalMinutes);
|
|
inline FsLongitude(std::int32_t Degrees,
|
|
std::int32_t Minutes,
|
|
double DecimalSeconds);
|
|
|
|
inline long 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 FsLongitude Add(const FsLongitudeSpan &Distance) const;
|
|
inline FsLongitude Subtract(const FsLongitudeSpan &Distance) const;
|
|
|
|
inline FsLongitude AddDegrees(double Degrees) const;
|
|
inline FsLongitude AddMinutes(double Minutes) const;
|
|
inline FsLongitude AddSeconds(double Seconds) const;
|
|
};
|
|
} // namespace FSUIPC
|
|
} // namespace file
|
|
} // namespace germanairlinesva
|
|
|
|
#endif |