65 lines
2.1 KiB
C++
65 lines
2.1 KiB
C++
|
|
#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLONGITUDESPAN_H
|
|
#define GERMANAIRLINESVA_FILE_FSUIPC_FSLONGITUDESPAN_H
|
|
|
|
#define _USE_MATH_DEFINES
|
|
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
namespace germanairlinesva
|
|
{
|
|
namespace file
|
|
{
|
|
namespace FSUIPC
|
|
{
|
|
class FsLongitude;
|
|
class FsLatitude;
|
|
class FsLongitudeSpan
|
|
{
|
|
private:
|
|
double span;
|
|
|
|
public:
|
|
inline FsLongitudeSpan();
|
|
inline FsLongitudeSpan(double DecimalDegrees);
|
|
inline FsLongitudeSpan(std::int32_t Degrees, double DecimalMinutes);
|
|
inline FsLongitudeSpan(std::int32_t Degrees,
|
|
std::int32_t Minutes,
|
|
double DecimalSeconds);
|
|
inline static FsLongitudeSpan FromFeet(double Feet,
|
|
const FsLatitude &AtLatitude);
|
|
inline static FsLongitudeSpan
|
|
FromNauticalMiles(double NauticalMiles,
|
|
const FsLatitude &AtLatitude);
|
|
inline static FsLongitudeSpan FromMetres(double Metres,
|
|
const FsLatitude &AtLatitude);
|
|
inline static FsLongitudeSpan
|
|
BetweenTwoLongitudes(const FsLongitude &Lon1,
|
|
const FsLongitude &Lon2);
|
|
|
|
inline double DecimalDegrees() const;
|
|
inline double DecimalMinutes() const;
|
|
inline double DecimalSeconds() const;
|
|
|
|
inline std::int32_t Degrees() const;
|
|
inline std::int32_t Minutes() const;
|
|
inline std::int32_t Seconds() const;
|
|
|
|
inline double TotalMinutes() const;
|
|
inline double TotalSeconds() const;
|
|
|
|
inline double ToFeet(const FsLatitude &AtLatitude) const;
|
|
inline double ToNauticalMiles(const FsLatitude &AtLatitude) const;
|
|
inline double ToMetres(const FsLatitude &AtLatitude) const;
|
|
|
|
inline const std::string to_string(char DetailLevel) const;
|
|
inline const std::string to_string();
|
|
};
|
|
} // namespace FSUIPC
|
|
} // namespace file
|
|
} // namespace germanairlinesva
|
|
|
|
#endif |