aboutsummaryrefslogtreecommitdiff
path: root/src/projects.h
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2017-11-20 13:20:02 +0100
committerGitHub <noreply@github.com>2017-11-20 13:20:02 +0100
commit5f1522ad7652e562f98328b05d905c407bab99e9 (patch)
treef8a73c0c5eb53ef4ba05eb5fd0ca5c9f0fa5d882 /src/projects.h
parent3d6f36a2e10d103727a072d160fcf724daa871d5 (diff)
downloadPROJ-5f1522ad7652e562f98328b05d905c407bab99e9.tar.gz
PROJ-5f1522ad7652e562f98328b05d905c407bab99e9.zip
Replace pj_ell_set with reimplementation... (#675)
* Replace pj_ell_set with reimplementation supporting ellipsoid inheritance * remove unreachable code from pj_ell_set.c * Swap steps, so ellps args are read first, in accordance with historical behaviour * Add ellipsoid tests to CI targets * Reduce some optimistic tolerances OS/X appears to have a slightly off float handling, resulting in differences at the nanometer level. Switching to 10 nm.
Diffstat (limited to 'src/projects.h')
-rw-r--r--src/projects.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/projects.h b/src/projects.h
index 32b74b08..f8f1fa38 100644
--- a/src/projects.h
+++ b/src/projects.h
@@ -229,6 +229,11 @@ struct PJconsts {
projCtx_t *ctx;
const char *descr; /* From pj_list.h or individual PJ_*.c file */
paralist *params; /* Parameter list */
+ char *def_size; /* Shape and size parameters extracted from params */
+ char *def_shape;
+ char *def_spherification;
+ char *def_ellps;
+
struct geod_geodesic *geod; /* For geodesic computations */
struct pj_opaque *opaque; /* Projection specific parameters, Defined in PJ_*.c */
int inverted; /* Tell high level API functions to swap inv/fwd */
@@ -413,11 +418,6 @@ struct ARG_list {
typedef union { double f; int i; char *s; } PROJVALUE;
-struct PJ_SELFTEST_LIST {
- char *id; /* projection keyword */
- int (* testfunc)(void); /* projection entry point */
-};
-
struct PJ_ELLPS {
char *id; /* ellipse keyword name */
char *major; /* a= value */
@@ -534,6 +534,7 @@ enum deprecated_constants_for_now_dropped_analytical_factors {
#define PJD_ERR_LAT_0_IS_ZERO -55
#define PJD_ERR_ELLIPSOIDAL_UNSUPPORTED -56
#define PJD_ERR_TOO_MANY_INITS -57
+#define PJD_ERR_INVALID_ARG -58
struct projFileAPI_t;
@@ -676,6 +677,7 @@ double aacos(projCtx,double), aasin(projCtx,double), asqrt(double), aatan2(doubl
PROJVALUE pj_param(projCtx ctx, paralist *, const char *);
paralist *pj_mkparam(char *);
+int pj_ellipsoid (PJ *);
int pj_ell_set(projCtx ctx, paralist *, double *, double *);
int pj_datum_set(projCtx,paralist *, PJ *);
int pj_prime_meridian_set(paralist *, PJ *);