aboutsummaryrefslogtreecommitdiff
path: root/src/transformations/vgridshift.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-12-27 12:25:03 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-12-27 12:25:03 +0100
commitf085b39752d00a296c288be42dfc69b39b73823f (patch)
treef988a9d279865b2e17fd52da5162eadb1bb37c09 /src/transformations/vgridshift.cpp
parentaa8c7826cf17e650ee2c3a2281aca49db37c4e81 (diff)
downloadPROJ-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.cpp10
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.");