diff options
| author | Thomas Knudsen <busstoptaktik@users.noreply.github.com> | 2018-01-03 21:06:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-03 21:06:58 +0100 |
| commit | a3a67fb366e4628e5bda9e30b93b73648665e4d3 (patch) | |
| tree | 30d49dbe319a16c5ba058ff886512116238b4c0e /src/proj_internal.h | |
| parent | 403f930355926aced5caba5bfbcc230ad152cf86 (diff) | |
| download | PROJ-a3a67fb366e4628e5bda9e30b93b73648665e4d3.tar.gz PROJ-a3a67fb366e4628e5bda9e30b93b73648665e4d3.zip | |
Introduce preparation/finalization steps in fwd/inv subsystem, supporting arbitrary dimensionality in test code
* Call trans func of same dimensionality as input in gie
* Refactor prep/fin code for pj_fwd/pj_inv 2D,3D,4D
* Remove prime meridian handling from pj_transform (now handled in pj_fwd_prepare/pj_inv_finalize)
* Introduce prep/fin skips, mostly in support of axisswap and pipeline drivers
* Refactor fwd/inv subsystem
* pj_transform: Let pj_fwd/inv handle scaling
* Let pj_fwd/inv3d fall back to 2D eventually
Diffstat (limited to 'src/proj_internal.h')
| -rw-r--r-- | src/proj_internal.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/proj_internal.h b/src/proj_internal.h index 13a1cac6..3dd04e62 100644 --- a/src/proj_internal.h +++ b/src/proj_internal.h @@ -57,6 +57,9 @@ extern "C" { #define PJ_TORAD(deg) ((deg)*M_PI/180.0) #endif +/* Maximum latitudinal overshoot accepted */ +#define PJ_EPS_LAT 1e-12 + /* This enum is also conditionally defined in projects.h - but we need it here */ /* for the pj_left/right prototypes, and enums cannot be forward declared */ @@ -79,6 +82,14 @@ void proj_context_inherit (PJ *parent, PJ *child); PJ_COORD pj_fwd4d (PJ_COORD coo, PJ *P); PJ_COORD pj_inv4d (PJ_COORD coo, PJ *P); +PJ_COORD pj_fwd_prepare (PJ *P, PJ_COORD coo); +PJ_COORD pj_fwd_finalize (PJ *P, PJ_COORD coo); +PJ_COORD pj_inv_prepare (PJ *P, PJ_COORD coo); +PJ_COORD pj_inv_finalize (PJ *P, PJ_COORD coo); +PJ_COORD pj_approx_2D_trans (PJ *P, PJ_DIRECTION direction, PJ_COORD coo); +PJ_COORD pj_approx_3D_trans (PJ *P, PJ_DIRECTION direction, PJ_COORD coo); + + /* Grid functionality */ int proj_vgrid_init(PJ *P, const char *grids); int proj_hgrid_init(PJ *P, const char *grids); |
