diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-12-27 12:25:03 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-12-27 12:25:03 +0100 |
| commit | f085b39752d00a296c288be42dfc69b39b73823f (patch) | |
| tree | f988a9d279865b2e17fd52da5162eadb1bb37c09 /src/transformations/vgridshift.cpp | |
| parent | aa8c7826cf17e650ee2c3a2281aca49db37c4e81 (diff) | |
| download | PROJ-f085b39752d00a296c288be42dfc69b39b73823f.tar.gz PROJ-f085b39752d00a296c288be42dfc69b39b73823f.zip | |
Handle context reassignment for Grid/GridSet/File objects
Diffstat (limited to 'src/transformations/vgridshift.cpp')
| -rw-r--r-- | src/transformations/vgridshift.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/transformations/vgridshift.cpp b/src/transformations/vgridshift.cpp index f35832e1..3e7a015e 100644 --- a/src/transformations/vgridshift.cpp +++ b/src/transformations/vgridshift.cpp @@ -142,10 +142,20 @@ static PJ *destructor (PJ *P, int errlev) { return pj_default_destructor(P, errlev); } +static void reassign_context( PJ* P, PJ_CONTEXT* ctx ) +{ + auto Q = (struct vgridshiftData *) P->opaque; + for( auto& grid: Q->grids ) { + grid->reassign_context(ctx); + } +} + + PJ *TRANSFORMATION(vgridshift,0) { auto Q = new vgridshiftData; P->opaque = (void *) Q; P->destructor = destructor; + P->reassign_context = reassign_context; if (!pj_param(P->ctx, P->params, "tgrids").i) { proj_log_error(P, "vgridshift: +grids parameter missing."); |
