diff --git a/Geovis/Core/vtkGeoProjection.cxx b/Geovis/Core/vtkGeoProjection.cxx index f3a8852d94..824060348a 100644 --- a/Geovis/Core/vtkGeoProjection.cxx +++ b/Geovis/Core/vtkGeoProjection.cxx @@ -72,6 +72,7 @@ public: } std::map< std::string, std::string > OptionalParameters; + PJ_PROJ_INFO ProjInfo; }; //----------------------------------------------------------------------------- @@ -80,7 +83,7 @@ int vtkGeoProjection::GetNumberOfProjections() if ( vtkGeoProjectionNumProj < 0 ) { vtkGeoProjectionNumProj = 0; - for ( const PJ_LIST* pj = pj_get_list_ref(); pj && pj->id; ++ pj ) + for ( const PJ_LIST* pj = proj_list_operations(); pj && pj->id; ++ pj ) ++ vtkGeoProjectionNumProj; } return vtkGeoProjectionNumProj; @@ -91,7 +94,7 @@ const char* vtkGeoProjection::GetProjectionName( int projection ) if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) return nullptr; - return pj_get_list_ref()[projection].id; + return proj_list_operations()[projection].id; } //----------------------------------------------------------------------------- const char* vtkGeoProjection::GetProjectionDescription( int projection ) @@ -99,7 +102,7 @@ const char* vtkGeoProjection::GetProjectionDescription( int projection ) if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) return nullptr; - return pj_get_list_ref()[projection].descr[0]; + return proj_list_operations()[projection].descr[0]; } //----------------------------------------------------------------------------- vtkGeoProjection::vtkGeoProjection() @@ -144,7 +147,7 @@ void vtkGeoProjection::PrintSelf( ostream& os, vtkIndent indent ) int vtkGeoProjection::GetIndex() { int i = 0; - for ( const PJ_LIST* proj = pj_get_list_ref(); proj && proj->id; ++ proj, ++ i ) + for ( const PJ_LIST* proj = proj_list_operations(); proj && proj->id; ++ proj, ++ i ) { if ( ! strcmp( proj->id, this->Name ) ) { @@ -161,7 +164,7 @@ const char* vtkGeoProjection::GetDescription() { return nullptr; } - return this->Projection->descr; + return this->Internals->ProjInfo.description; } //----------------------------------------------------------------------------- projPJ vtkGeoProjection::GetProjection() @@ -232,6 +239,7 @@ int vtkGeoProjection::UpdateProjection() this->ProjectionMTime = this->GetMTime(); if ( this->Projection ) { + this->Internals->ProjInfo = proj_pj_info(this->Projection); return 0; } return 1; diff --git a/Geovis/Core/vtkGeoTransform.cxx b/Geovis/Core/vtkGeoTransform.cxx index aeeabc1075..b80a8c010c 100644 --- a/Geovis/Core/vtkGeoTransform.cxx +++ b/Geovis/Core/vtkGeoTransform.cxx @@ -167,9 +167,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int double* coord = x; for ( vtkIdType i = 0; i < numPts; ++ i ) { - xy.u = coord[0]; xy.v = coord[1]; + xy.x = coord[0]; xy.y = coord[1]; lp = pj_inv( xy, src ); - coord[0] = lp.u; coord[1] = lp.v; + coord[0] = lp.lam; coord[1] = lp.phi; coord += stride; } } @@ -191,9 +199,9 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int double* coord = x; for ( vtkIdType i = 0; i < numPts; ++ i ) { - lp.u = coord[0]; lp.v = coord[1]; + lp.lam = coord[0]; lp.phi = coord[1]; xy = pj_fwd( lp, dst ); - coord[0] = xy.u; coord[1] = xy.v; + coord[0] = xy.x; coord[1] = xy.y; coord += stride; } } diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in index d52db07a95..4d8ffc3c5d 100644 --- a/ThirdParty/libproj/vtk_libproj.h.in +++ b/ThirdParty/libproj/vtk_libproj.h.in @@ -18,7 +18,8 @@ /* Use the libproj library configured for VTK. */ #cmakedefine VTK_USE_SYSTEM_LIBPROJ #ifdef VTK_USE_SYSTEM_LIBPROJ -# include +# include +# define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1 # include # include #else -- 2.21.0