aboutsummaryrefslogtreecommitdiff
path: root/src/projects.h
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2016-11-20 06:03:57 +0100
committerGitHub <noreply@github.com>2016-11-20 06:03:57 +0100
commitfab201555432bf2d461897b2766cb5a27190b2a1 (patch)
tree54799fa00f4e13b2ee25f7d2a85eb014252927ad /src/projects.h
parent3b1b439a1a459713428b14bcac43aa6ad96a1b95 (diff)
downloadPROJ-fab201555432bf2d461897b2766cb5a27190b2a1.tar.gz
PROJ-fab201555432bf2d461897b2766cb5a27190b2a1.zip
Plumbing for pipelines (#453)
* re-enter pipeline The pipeline interface is now internally based on the pj_obs_api, which simplifies the implementation significantly. This is the first mock up - it compiles fine, but is currently untested * pipeline code cleaned up The pipeline code is now based on the PJ_OBS api (although you can still invoke a pipeline through pj_fwd/pj_inv and their 3D brethren). This has made it possible to eliminate scores of funky casts and convoluted workarounds. The code is now way more straightforward and mostly conforming with common C idioms.. Also, the proj.h / obs_api interface to the logging system has been streamlined through the introduction of the pj_log_error, pj_log_debug, and pj_log_trace functions. * Geodesics + minor changes First proj.h style interface to Charles Karney's geodesics code: pj_lp_dist. Also, renamed pj_apply -> pj_trans * Extended Ellipsoidal Parameters Second eccentricity, second and third flattening etc. * Rename pj_debug_set -> pj_log_level ... and add self test code for PJ_pipeline * Clean up missing pj_apply->pj_trans * Clean up missing pj_obs_dist_2d rename * pj_strerrno bug fixed. Some doc/comments added (In response to a review by @kbevers)
Diffstat (limited to 'src/projects.h')
-rw-r--r--src/projects.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/projects.h b/src/projects.h
index d07c43c7..47a3364a 100644
--- a/src/projects.h
+++ b/src/projects.h
@@ -169,6 +169,7 @@ typedef struct { double u, v, w; } UVW;
/* Forward declarations and typedefs for stuff needed inside the PJ object */
struct PJconsts;
struct PJ_OBS;
+struct geod_geodesic;
struct pj_opaque;
struct ARG_list;
struct FACTORS;
@@ -212,6 +213,7 @@ struct PJconsts {
projCtx_t *ctx;
const char *descr; /* From pj_list.h or individual PJ_*.c file */
paralist *params; /* Parameter list */
+ struct geod_geodesic *geod; /* For geodesic computations */
struct pj_opaque *opaque; /* Projection specific parameters, Defined in PJ_*.c */
@@ -272,6 +274,7 @@ struct PJconsts {
/* The eccentricities */
+ double alpha; /* angular eccentricity */
double e; /* first eccentricity */
double es; /* first eccentricity squared */
double e2; /* second eccentricity */