1 #include "cgeodesic.h"
2 #include "GeographicLib/Geodesic.hpp"
3 #include "GeographicLib/Rhumb.hpp"
4 
5 extern "C" {
6 
gdirect(double lat1,double lon1,double azi1,double s12,double & lat2,double & lon2,double & azi2)7   void gdirect(double lat1, double lon1, double azi1, double s12,
8                double& lat2, double& lon2, double& azi2) {
9     GeographicLib::Geodesic::WGS84().Direct(lat1, lon1, azi1, s12,
10                                             lat2, lon2, azi2);
11   }
12 
ginverse(double lat1,double lon1,double lat2,double lon2,double & s12,double & azi1,double & azi2)13   void ginverse(double lat1, double lon1, double lat2, double lon2,
14                 double& s12, double& azi1, double& azi2) {
15     GeographicLib::Geodesic::WGS84().Inverse(lat1, lon1, lat2, lon2,
16                                              s12, azi1, azi2);
17   }
18 
rdirect(double lat1,double lon1,double azi12,double s12,double & lat2,double & lon2)19   void rdirect(double lat1, double lon1, double azi12, double s12,
20                double& lat2, double& lon2) {
21     GeographicLib::Rhumb::WGS84().Direct(lat1, lon1, azi12, s12,
22                                          lat2, lon2);
23   }
24 
rinverse(double lat1,double lon1,double lat2,double lon2,double & s12,double & azi12)25   void rinverse(double lat1, double lon1, double lat2, double lon2,
26                 double& s12, double& azi12) {
27     GeographicLib::Rhumb::WGS84().Inverse(lat1, lon1, lat2, lon2,
28                                           s12, azi12);
29   }
30 
31 }
32