57 lines
1.7 KiB
C++
57 lines
1.7 KiB
C++
#ifndef GERMANAIRLINESVA_FILE_FSUIPC_FSLATLONPOINT_H
|
|
#define GERMANAIRLINESVA_FILE_FSUIPC_FSLATLONPOINT_H
|
|
|
|
#define _USE_MATH_DEFINES
|
|
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
#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 |