supercell-wx/scwx-qt/source/scwx/qt/util/geographic_lib.hpp
Dan Paulat c85e4cef58 Basic placefile lines rendering
Desired to make the line styling look more like warning boxes
2023-08-20 22:37:46 -05:00

52 lines
1.2 KiB
C++

#pragma once
#include <GeographicLib/Geodesic.hpp>
#include <units/angle.h>
#include <units/length.h>
namespace scwx
{
namespace qt
{
namespace util
{
namespace GeographicLib
{
/**
* Get the default geodesic for the WGS84 ellipsoid.
*
* @return WGS84 ellipsoid geodesic
*/
const ::GeographicLib::Geodesic& DefaultGeodesic();
/**
* Get the angle between two points.
*
* @param [in] lat1 latitude of point 1 (degrees)
* @param [in] lon1 longitude of point 1 (degrees)
* @param [in] lat2 latitude of point 2 (degrees)
* @param [in] lon2 longitude of point 2 (degrees)
*
* @return angle between point 1 and point 2
*/
units::angle::degrees<double>
GetAngle(double lat1, double lon1, double lat2, double lon2);
/**
* Get the distance between two points.
*
* @param [in] lat1 latitude of point 1 (degrees)
* @param [in] lon1 longitude of point 1 (degrees)
* @param [in] lat2 latitude of point 2 (degrees)
* @param [in] lon2 longitude of point 2 (degrees)
*
* @return distance between point 1 and point 2
*/
units::length::meters<double>
GetDistance(double lat1, double lon1, double lat2, double lon2);
} // namespace GeographicLib
} // namespace util
} // namespace qt
} // namespace scwx