libraries/VTK: Patched for proj version 6
Signed-off-by: Christoph Willing <chris.willing@linux.com>
This commit is contained in:
parent
5108a39700
commit
65fe9f9cc9
|
@ -28,7 +28,7 @@
|
|||
PRGNAM=VTK
|
||||
VERSION=${VERSION:-8.2.0}
|
||||
SHORT_VERSION=${SHORT_VERSION:-8.2}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -70,7 +70,6 @@ wrap_python="" ; [ "${PYTHON:-yes}" != "no" ] && wrap_python="-DVTK_WRAP_PYTH
|
|||
wrap_java="" ; [ "${JAVA:-no}" != "no" ] && wrap_java="-DVTK_WRAP_JAVA=true"
|
||||
|
||||
if pkg-config --exists jsoncpp ; then jsoncpp="-DVTK_USE_SYSTEM_JSONCPP:BOOL=ON" ; else jsoncpp="" ; fi
|
||||
if pkg-config --exists proj ; then proj="-DVTK_USE_SYSTEM_LIBPROJ:BOOL=ON" ; else proj="" ; fi
|
||||
|
||||
# TODO: netcdf, hdf5, gl2ps
|
||||
#if test -e /usr/include/hdf5.h ; then hdf5="-DVTK_USE_SYSTEM_HDF5:BOOL=ON" ; else hdf5="" ; fi
|
||||
|
@ -97,6 +96,15 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
if pkg-config --exists proj ; then
|
||||
proj="-DVTK_USE_SYSTEM_LIBPROJ:BOOL=ON"
|
||||
# proj6 patch courtesy of
|
||||
# https://git.archlinux.org/svntogit/community.git/plain/trunk/proj6.patch?h=packages/vtk
|
||||
patch -p1 < $CWD/patch-proj6.diff
|
||||
else
|
||||
proj=""
|
||||
fi
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake \
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
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 <projects.h>
|
||||
+# include <proj.h>
|
||||
+# define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1
|
||||
# include <proj_api.h>
|
||||
# include <geodesic.h>
|
||||
#else
|
||||
--
|
||||
2.21.0
|
||||
|
Loading…
Reference in New Issue