[qgis] 02/04: Add patch for osgEarth 2.7 support, re-enable globe plugin.
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Wed Mar 9 19:43:59 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository qgis.
commit bd536aae46d1b7d43b7561e6894f272808b417fe
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Tue Mar 8 23:27:59 2016 +0100
Add patch for osgEarth 2.7 support, re-enable globe plugin.
---
debian/changelog | 1 +
debian/control | 50 +++++------
debian/patches/globe-adapt-to-osgearth-2.7.patch | 102 +++++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 2 +-
5 files changed, 130 insertions(+), 26 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 1f43602..26f4c2a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
qgis (2.14.0+dfsg0-2) UNRELEASED; urgency=medium
* Restore use of pkgkde_symbolshelper by dh.
+ * Add patch for osgEarth 2.7 support, re-enable globe plugin.
-- Bas Couwenberg <sebastic at debian.org> Tue, 08 Mar 2016 22:04:34 +0100
diff --git a/debian/control b/debian/control
index c732e67..0646e29 100644
--- a/debian/control
+++ b/debian/control
@@ -80,8 +80,8 @@ Depends: ${shlibs:Depends},
qgis-providers (= ${binary:Version}),
qgis-common (= ${source:Version})
Recommends: qgis-plugin-grass,
- qgis-provider-grass
-#, qgis-plugin-globe
+ qgis-provider-grass,
+ qgis-plugin-globe
Suggests: gpsbabel
Breaks: qgis-provider-grass (<< 2.14.0)
Conflicts: uim-qt3
@@ -311,29 +311,29 @@ Description: GRASS plugin for QGIS - architecture-independent data
This package contains architecture-independent supporting data files for use
with the QGIS GRASS plugin.
-#Package: qgis-plugin-globe
-#Architecture: any
-#Depends: qgis (= ${binary:Version}),
-# qgis-plugin-globe-common (= ${source:Version}),
-# openscenegraph-plugin-osgearth,
-# ${shlibs:Depends},
-# ${misc:Depends}
-#Description: OSG globe plugin for QGIS
-# QGIS is a Geographic Information System (GIS) which manages, analyzes and
-# display databases of geographic information.
-# .
-# This plugin enables 3D viewing using OSG globe in the QGIS.
-#
-#Package: qgis-plugin-globe-common
-#Architecture: all
-#Depends: osgearth-data,
-# ${misc:Depends}
-#Description: OSG globe plugin for QGIS - architecture-independent data
-# QGIS is a Geographic Information System (GIS) which manages, analyzes and
-# display databases of geographic information.
-# .
-# This package contains architecture-independent supporting data files for use
-# with the QGIS GLOBE plugin.
+Package: qgis-plugin-globe
+Architecture: any
+Depends: qgis (= ${binary:Version}),
+ qgis-plugin-globe-common (= ${source:Version}),
+ openscenegraph-plugin-osgearth,
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: OSG globe plugin for QGIS
+ QGIS is a Geographic Information System (GIS) which manages, analyzes and
+ display databases of geographic information.
+ .
+ This plugin enables 3D viewing using OSG globe in the QGIS.
+
+Package: qgis-plugin-globe-common
+Architecture: all
+Depends: osgearth-data,
+ ${misc:Depends}
+Description: OSG globe plugin for QGIS - architecture-independent data
+ QGIS is a Geographic Information System (GIS) which manages, analyzes and
+ display databases of geographic information.
+ .
+ This package contains architecture-independent supporting data files for use
+ with the QGIS GLOBE plugin.
Package: python-qgis
Architecture: any
diff --git a/debian/patches/globe-adapt-to-osgearth-2.7.patch b/debian/patches/globe-adapt-to-osgearth-2.7.patch
new file mode 100644
index 0000000..5724bc1
--- /dev/null
+++ b/debian/patches/globe-adapt-to-osgearth-2.7.patch
@@ -0,0 +1,102 @@
+From 63275585de4d22e7ae0252c6719d524d4da62f58 Mon Sep 17 00:00:00 2001
+From: "Juergen E. Fischer" <jef at norbit.de>
+Date: Tue, 8 Mar 2016 21:35:10 +0100
+Origin: https://github.com/qgis/QGIS/commit/63275585de4d22e7ae0252c6719d524d4da62f58
+Bug: http://hub.qgis.org/issues/12550
+Subject: [PATCH] globe: adapt to osgearth 2.7
+
+---
+ src/plugins/globe/globe_plugin.cpp | 37 ++++++++++++++++++++++++++++++++-----
+ 1 file changed, 32 insertions(+), 5 deletions(-)
+
+--- a/src/plugins/globe/globe_plugin.cpp
++++ b/src/plugins/globe/globe_plugin.cpp
+@@ -57,7 +57,11 @@
+ #include <osgEarth/Map>
+ #include <osgEarth/MapNode>
+ #include <osgEarth/TileSource>
++#if OSGEARTH_MIN_VERSION_REQUIRED(2,7,0)
++#include <osgEarthUtil/Sky>
++#else
+ #include <osgEarthUtil/SkyNode>
++#endif
+ #include <osgEarthUtil/AutoClipPlaneHandler>
+ #include <osgEarthDrivers/gdal/GDALOptions>
+ #include <osgEarthDrivers/tms/TMSOptions>
+@@ -394,9 +398,18 @@ void GlobePlugin::run()
+ }
+
+ // Set a home viewpoint
++#if OSGEARTH_VERSION_GREATER_OR_EQUAL( 2, 7, 0 )
++ osgEarth::Util::Viewpoint vp;
++ vp.focalPoint()->vec3d() = osg::Vec3d( -90, 0, 0 );
++ vp.heading() = 0.0;
++ vp.pitch() = -90.0;
++ vp.range() = 2e7;
++ manip->setHomeViewpoint( vp, 1.0 );
++#else
+ manip->setHomeViewpoint(
+ osgEarth::Util::Viewpoint( osg::Vec3d( -90, 0, 0 ), 0.0, -90.0, 2e7 ),
+ 1.0 );
++#endif
+
+ setupControls();
+
+@@ -454,12 +467,14 @@ void GlobePlugin::setupMap()
+ //nodeOptions.proxySettings() =
+ //nodeOptions.enableLighting() = false;
+
++#if OSGEARTH_VERSION_LESS_THAN( 2, 7, 0 )
+ //LoadingPolicy loadingPolicy( LoadingPolicy::MODE_SEQUENTIAL );
+ TerrainOptions terrainOptions;
+ //terrainOptions.loadingPolicy() = loadingPolicy;
+ terrainOptions.compositingTechnique() = TerrainOptions::COMPOSITING_MULTITEXTURE_FFP;
+ //terrainOptions.lodFallOff() = 6.0;
+ nodeOptions.setTerrainOptions( terrainOptions );
++#endif
+
+ // The MapNode will render the Map object in the scene graph.
+ mMapNode = new osgEarth::MapNode( map, nodeOptions );
+@@ -605,7 +620,15 @@ void GlobePlugin::syncExtent()
+
+ OE_NOTICE << "map extent: " << height << " camera distance: " << distance << std::endl;
+
++#if OSGEARTH_VERSION_GREATER_OR_EQUAL( 2, 7, 0 )
++ osgEarth::Util::Viewpoint viewpoint;
++ viewpoint.focalPoint()->vec3d() = osg::Vec3d( extent.center().x(), extent.center().y(), 0.0 );
++ viewpoint.heading() = 0.0;
++ viewpoint.pitch() = -90.0;
++ viewpoint.range() = distance;
++#else
+ osgEarth::Util::Viewpoint viewpoint( osg::Vec3d( extent.center().x(), extent.center().y(), 0.0 ), 0.0, -90.0, distance );
++#endif
+ manip->setViewpoint( viewpoint, 4.0 );
+ }
+
+@@ -930,17 +953,21 @@ void GlobePlugin::setSkyParameters( bool
+ {
+ // Create if not yet done
+ if ( !mSkyNode.get() )
++#if OSGEARTH_VERSION_GREATER_OR_EQUAL( 2, 7, 0 )
++ mSkyNode = SkyNode::create( mMapNode );
++#else
+ mSkyNode = new SkyNode( mMapNode->getMap() );
++#endif
+
+-#if OSGEARTH_VERSION_GREATER_OR_EQUAL( 2, 4, 0 )
++#if OSGEARTH_VERSION_GREATER_OR_EQUAL( 2, 4, 0 ) && OSGEARTH_VERSION_LESS_THAN( 2, 7, 0 )
+ mSkyNode->setAutoAmbience( autoAmbience );
+ #else
+ Q_UNUSED( autoAmbience );
+ #endif
+- mSkyNode->setDateTime( dateTime.date().year()
+- , dateTime.date().month()
+- , dateTime.date().day()
+- , dateTime.time().hour() + dateTime.time().minute() / 60.0 );
++ mSkyNode->setDateTime( DateTime( dateTime.date().year()
++ , dateTime.date().month()
++ , dateTime.date().day()
++ , dateTime.time().hour() + dateTime.time().minute() / 60.0 ) );
+ //sky->setSunPosition( osg::Vec3(0,-1,0) );
+ mSkyNode->attach( mOsgViewer );
+ mRootNode->addChild( mSkyNode );
diff --git a/debian/patches/series b/debian/patches/series
index 5d76f65..91c4b65 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@ developersmap-use-debian-package.patch
exclude-elvensword-resources.patch
occurred-typo.patch
number-typo.patch
+globe-adapt-to-osgearth-2.7.patch
diff --git a/debian/rules b/debian/rules
index 81cf2f2..d6651a6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -65,7 +65,7 @@ CMAKE_OPTS := \
-DQGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin \
-DWITH_APIDOC=TRUE \
-DWITH_CUSTOM_WIDGETS=TRUE \
- -DWITH_GLOBE=FALSE \
+ -DWITH_GLOBE=TRUE \
-DWITH_INTERNAL_HTTPLIB2=FALSE \
-DWITH_INTERNAL_JINJA2=FALSE \
-DWITH_INTERNAL_MARKUPSAFE=FALSE \
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git
More information about the Pkg-grass-devel
mailing list