[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