diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 2012-12-07 21:52:03 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 2012-12-07 21:52:03 +0000 |
| commit | f1f1f9f2aea725663499f449961027df2b38e296 (patch) | |
| tree | c79e7af878791bd20b845f8340caeea3cc57ea66 /src/geod_interface.h | |
| parent | 927b539faa5686624d2681ffeadad827e583365c (diff) | |
| download | PROJ-f1f1f9f2aea725663499f449961027df2b38e296.tar.gz PROJ-f1f1f9f2aea725663499f449961027df2b38e296.zip | |
replacement of geodesic engine with one from Charles Karney (#197)
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2297 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/geod_interface.h')
| -rw-r--r-- | src/geod_interface.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/geod_interface.h b/src/geod_interface.h new file mode 100644 index 00000000..161c7572 --- /dev/null +++ b/src/geod_interface.h @@ -0,0 +1,45 @@ +#if !defined(GEOD_INTERFACE_H) +#define GEOD_INTERFACE_H + +#include "geodesic.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _IN_GEOD_SET +# define GEOD_EXTERN extern +#else +# define GEOD_EXTERN +#endif + +GEOD_EXTERN struct geodesic { + double A, FLAT, LAM1, PHI1, ALPHA12, LAM2, PHI2, ALPHA21, DIST; +} GEODESIC; + +# define geod_a GEODESIC.A +# define geod_f GEODESIC.FLAT +# define lam1 GEODESIC.LAM1 +# define phi1 GEODESIC.PHI1 +# define al12 GEODESIC.ALPHA12 +# define lam2 GEODESIC.LAM2 +# define phi2 GEODESIC.PHI2 +# define al21 GEODESIC.ALPHA21 +# define geod_S GEODESIC.DIST + +GEOD_EXTERN struct Geodesic GlobalGeodesic; +GEOD_EXTERN struct GeodesicLine GlobalGeodesicLine; +GEOD_EXTERN int n_alpha, n_S; +GEOD_EXTERN double to_meter, fr_meter, del_alpha; + +void geod_set(int, char **); +void geod_ini(void); +void geod_pre(void); +void geod_for(void); +void geod_inv(void); + +#ifdef __cplusplus +} +#endif + +#endif |
