Skip to content
Permalink
Browse files

Merge pull request #3126 from manisandro/globe

Revived globe, compatible with OsgEarth 2.7
  • Loading branch information
manisandro committed May 29, 2016
2 parents 79d6407 + cdbd4e4 commit 87121d63a8ca28dc75631d3ef6a59c025388a026
Showing with 6,093 additions and 6,460 deletions.
  1. +3 −0 cmake/FindOSGEARTH.cmake
  2. +1 −0 images/images.qrc
  3. +151 −0 images/themes/default/sync_views.svg
  4. +2 −0 python/core/core.sip
  5. +56 −0 python/core/qgsbillboardregistry.sip
  6. +5 −0 python/core/qgsmapsettings.sip
  7. +28 −0 python/core/qgsplugininterface.sip
  8. +5 −0 python/core/qgsproject.sip
  9. +1 −1 python/core/qgsrectangle.sip
  10. +2 −0 python/gui/gui.sip
  11. +6 −0 python/gui/qgisinterface.sip
  12. +32 −0 python/gui/qgsmaplayerpropertiesfactory.sip
  13. +21 −0 python/gui/qgsvectorlayerpropertiespage.sip
  14. +14 −0 src/app/qgisapp.cpp
  15. +9 −0 src/app/qgisapp.h
  16. +10 −0 src/app/qgisappinterface.cpp
  17. +6 −0 src/app/qgisappinterface.h
  18. +21 −0 src/app/qgsvectorlayerproperties.cpp
  19. +8 −0 src/app/qgsvectorlayerproperties.h
  20. +4 −0 src/core/CMakeLists.txt
  21. +1 −1 src/core/dxf/qgsdxfexport.cpp
  22. +1 −1 src/core/geometry/qgscircularstringv2.cpp
  23. +1 −1 src/core/geometry/qgscompoundcurvev2.cpp
  24. +1 −1 src/core/geometry/qgsgeometrycollectionv2.cpp
  25. +42 −0 src/core/qgsbillboardregistry.cpp
  26. +82 −0 src/core/qgsbillboardregistry.h
  27. +6 −0 src/core/qgsmapsettings.h
  28. 0 src/core/qgsplugininterface.cpp
  29. +33 −0 src/core/qgsplugininterface.h
  30. +2 −0 src/core/qgsproject.cpp
  31. +8 −0 src/core/qgsproject.h
  32. +5 −5 src/core/qgsrectangle.cpp
  33. +1 −1 src/core/qgsrectangle.h
  34. +5 −5 src/core/qgsvectorlayer.cpp
  35. +3 −0 src/gui/CMakeLists.txt
  36. +1 −1 src/gui/editorwidgets/qgsrelationreferencewidget.cpp
  37. +1 −1 src/gui/layertree/qgslayertreeviewdefaultactions.cpp
  38. +7 −0 src/gui/qgisinterface.h
  39. +1 −1 src/gui/qgsmapcanvas.cpp
  40. +24 −0 src/gui/qgsmaplayerpropertiesfactory.cpp
  41. +52 −0 src/gui/qgsmaplayerpropertiesfactory.h
  42. +1 −1 src/gui/qgsrubberband.cpp
  43. +22 −0 src/gui/qgsvectorlayerpropertiespage.cpp
  44. +38 −0 src/gui/qgsvectorlayerpropertiespage.h
  45. +59 −58 src/plugins/globe/CMakeLists.txt
  46. +11 −0 src/plugins/globe/CMakeModules/ModuleInstallOsgEarthDriverIncludes.cmake
  47. +361 −0 src/plugins/globe/CMakeModules/OsgEarthMacroUtils.cmake
  48. +50 −0 src/plugins/globe/featuresource/CMakeLists.txt
  49. +66 −0 src/plugins/globe/featuresource/qgsglobefeaturecursor.h
  50. +81 −0 src/plugins/globe/featuresource/qgsglobefeatureoptions.h
  51. +145 −0 src/plugins/globe/featuresource/qgsglobefeaturesource.cpp
  52. +48 −0 src/plugins/globe/featuresource/qgsglobefeaturesource.h
  53. +254 −0 src/plugins/globe/featuresource/qgsglobefeatureutils.h
  54. +903 −997 src/plugins/globe/globe_plugin.cpp
  55. +123 −207 src/plugins/globe/globe_plugin.h
  56. +2 −2 src/plugins/globe/globe_plugin.qrc
  57. +0 −700 src/plugins/globe/globe_plugin_dialog.cpp
  58. +0 −104 src/plugins/globe/globe_plugin_dialog.h
  59. +0 −782 src/plugins/globe/globe_plugin_dialog_guibase.ui
  60. BIN src/plugins/globe/images/gui/button-background-single.png
  61. BIN src/plugins/globe/images/gui/button-background.png
  62. BIN src/plugins/globe/images/gui/settings.png
  63. BIN src/plugins/globe/images/gui/zoom-in.png
  64. BIN src/plugins/globe/images/gui/zoom-out.png
  65. +143 −0 src/plugins/globe/images/icon.svg
  66. +0 −92 src/plugins/globe/osgEarthQt/Common
  67. +0 −91 src/plugins/globe/osgEarthQt/ViewerWidget
  68. +0 −167 src/plugins/globe/osgEarthQt/ViewerWidget.cpp
  69. +0 −693 src/plugins/globe/osgEarthUtil/Controls
  70. +0 −2,227 src/plugins/globe/osgEarthUtil/Controls.cpp
  71. +38 −0 src/plugins/globe/python/CMakeLists.txt
  72. +24 −0 src/plugins/globe/python/__init__.py
  73. +22 −0 src/plugins/globe/python/globe.sip
  74. +16 −0 src/plugins/globe/python/qgsglobefeatureutils.sip
  75. +44 −0 src/plugins/globe/python/qgsglobeinterface.sip
  76. +85 −0 src/plugins/globe/qgsglobefeatureidentify.cpp
  77. +48 −0 src/plugins/globe/qgsglobefeatureidentify.h
  78. +59 −0 src/plugins/globe/qgsglobefrustumhighlight.cpp
  79. +44 −0 src/plugins/globe/qgsglobefrustumhighlight.h
  80. +48 −0 src/plugins/globe/qgsglobeinterface.cpp
  81. +46 −0 src/plugins/globe/qgsglobeinterface.h
  82. +532 −0 src/plugins/globe/qgsglobeplugindialog.cpp
  83. +83 −0 src/plugins/globe/qgsglobeplugindialog.h
  84. +665 −0 src/plugins/globe/qgsglobeplugindialog.ui
  85. +301 −0 src/plugins/globe/qgsglobetilesource.cpp
  86. +138 −0 src/plugins/globe/qgsglobetilesource.h
  87. +288 −0 src/plugins/globe/qgsglobevectorlayerproperties.cpp
  88. +121 −0 src/plugins/globe/qgsglobevectorlayerproperties.h
  89. +272 −0 src/plugins/globe/qgsglobevectorlayerpropertiespage.ui
  90. +153 −0 src/plugins/globe/qgsglobewidget.cpp
  91. +43 −0 src/plugins/globe/qgsglobewidget.h
  92. +0 −225 src/plugins/globe/qgsosgearthtilesource.cpp
  93. +0 −86 src/plugins/globe/qgsosgearthtilesource.h
  94. +20 −0 src/plugins/globe/qgsosgfeature.cpp
  95. +25 −0 src/plugins/globe/qgsosgfeature.h
  96. +1 −1 src/plugins/interpolation/qgsinterpolationdialog.cpp
  97. +1 −1 src/plugins/topology/topolTest.cpp
  98. +2 −2 src/providers/delimitedtext/qgsdelimitedtextprovider.cpp
  99. +1 −1 src/providers/wms/qgswmsprovider.cpp
  100. +1 −1 src/server/qgsserverprojectparser.cpp
  101. +1 −1 src/server/qgswmsprojectparser.cpp
  102. +2 −2 src/server/qgswmsserver.cpp
@@ -96,6 +96,9 @@ FIND_OSGEARTH_LIBRARY( OSGEARTHSYMBOLOGY_LIBRARY_DEBUG osgEarthSymbologyd )
FIND_OSGEARTH_LIBRARY( OSGEARTHQT_LIBRARY osgEarthQt )
FIND_OSGEARTH_LIBRARY( OSGEARTHQT_LIBRARY_DEBUG osgEarthQtd )

FIND_OSGEARTH_LIBRARY( OSGEARTHANNOTATION_LIBRARY osgEarthAnnotation )
FIND_OSGEARTH_LIBRARY( OSGEARTHANNOTATION_LIBRARY_DEBUG osgEarthAnnotationd )


SET( OSGEARTH_FOUND "NO" )
IF( OSGEARTH_LIBRARY AND OSGEARTH_INCLUDE_DIR )
@@ -522,6 +522,7 @@
<file>themes/default/symbologyRemove.svg</file>
<file>themes/default/symbologyUp.png</file>
<file>themes/default/symbologyUp.svg</file>
<file>themes/default/sync_views.svg</file>
<file>themes/default/text.png</file>
<file>themes/default/tracking.png</file>
<file>themes/default/transformed.png</file>
@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="sync_views.svg">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient4158">
<stop
style="stop-color:#0000ff;stop-opacity:1"
offset="0"
id="stop4160" />
<stop
style="stop-color:#0000a9;stop-opacity:1"
offset="1"
id="stop4162" />
</linearGradient>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path4171"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-8"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path4171-2"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4158"
id="radialGradient4178"
cx="7.9999766"
cy="1040.8622"
fx="7.9999766"
fy="1040.8622"
r="6.9999766"
gradientTransform="matrix(1,0,0,0.49999621,0,520.43504)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4158"
id="radialGradient4178-3"
cx="7.9999766"
cy="1040.8622"
fx="7.9999766"
fy="1040.8622"
r="6.9999766"
gradientTransform="matrix(-1,0,0,0.49999621,16,527.43502)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="18.5"
inkscape:cx="0.59568033"
inkscape:cy="10.721345"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="true"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:window-width="1600"
inkscape:window-height="829"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4136" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<g
id="g4865">
<path
style="fill:url(#radialGradient4178);fill-opacity:1;fill-rule:evenodd;stroke:#0000a9;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1.5,1040.8622 0,1 8,0 0,2 5,-3 -5,-3 0,2 -8,0 z"
id="path4156"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:url(#radialGradient4178-3);fill-opacity:1;fill-rule:evenodd;stroke:#0000a9;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 14.5,1047.8622 0,1 -7.9999996,0 0,2 -5,-3 5,-3 0,2 7.9999996,0 z"
id="path4156-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
</g>
</g>
</svg>
@@ -24,6 +24,7 @@
%Include qgsaggregatecalculator.sip
%Include qgsattributeaction.sip
%Include qgsattributetableconfig.sip
%Include qgsbillboardregistry.sip
%Include qgsbrowsermodel.sip
%Include qgsclipper.sip
%Include qgscolorscheme.sip
@@ -103,6 +104,7 @@
%Include qgsowsconnection.sip
%Include qgspaintenginehack.sip
%Include qgspallabeling.sip
%Include qgsplugininterface.sip
%Include qgspluginlayer.sip
%Include qgspluginlayerregistry.sip
%Include qgspoint.sip
@@ -0,0 +1,56 @@
/** Billboard items stored in the QgsBillBoardRegistry */
class QgsBillBoardItem
{
%TypeHeaderCode
#include <qgsbillboardregistry.h>
%End
public:
QImage image; /* The image of the billboard */
QgsPoint worldPos; /* The WGS84 world position of the billboard */
QString layerId; /* The layer which the image is part of, if any */
};

/**
* @brief The QgsBillBoardRegistry class stores images which should
* be displayed as billboards in the globe plugin.
* Map canvas items and layers may decide to add items which should
* be drawn as billboards in the globe.
*
* Retreive the instance pointer to a QgsBillBoardRegistry for a
* project via QgsProject::instance()->billboardRegistry().
*/
class QgsBillBoardRegistry : public QObject
{
%TypeHeaderCode
#include <qgsbillboardregistry.h>
%End
public:
/**
* @brief Adds a billboard to the registry
* @param parent The parent (i.e. a QgsMapLayer or a QgsMapCanvasItem) which is creating the billboard
* @param image The billboard image
* @param worldPos The geo position of the image, in WGS84
* @param layerId The id of the layer to which the item belongs, if any
*/
void addItem( void* parent, const QImage& image, const QgsPoint& worldPos, const QString& layerId = QString() );
/**
* @brief Removes all billboards which were created by the specified parent
* @param parent The parent
*/
void removeItem( void* parent );

/**
* @brief Retreive all registered billboard items
* @return List of registered billboard items
*/
QList<QgsBillBoardItem*> items() const;

signals:
/** Emitted when an item is added to the registry */
void itemAdded( QgsBillBoardItem* item );
/** Emitted when an item is removed from the registry */
void itemRemoved( QgsBillBoardItem* item );

private:
QgsBillBoardRegistry( QObject* parent = 0 );
};
@@ -66,6 +66,11 @@ class QgsMapSettings
//! @note added in 2.8
void setLayerStyleOverrides( const QMap<QString, QString>& overrides );

//! Get custom rendering flags, separated by ';'. Layers might honour these to alter their rendering.
const QString& customRenderFlags() const;
//! Set custom rendering flags, separated by ';'. Layers might honour these to alter their rendering.
void setCustomRenderFlags( const QString& customRenderFlags );

//! sets whether to use projections for this layer set
void setCrsTransformEnabled( bool enabled );
//! returns true if projections are enabled for this layer set
@@ -0,0 +1,28 @@
/***************************************************************************
qgsplugininterface.sip
--------------------------------------
Date : 21.8.2013
Copyright : (C) 2013 Matthias Kuhn
Email : matthias dot kuhn at gmx dot ch
***************************************************************************

This comment has been minimized.

Copy link
@nyalldawson

nyalldawson May 30, 2016

Contributor

@m-kuhn Should this be removed? It's not used, and if I recall we decided not to allow plugins to provide their own bindings.

This comment has been minimized.

Copy link
@m-kuhn

m-kuhn May 30, 2016

Member

I think so, originally my plan was to split it all into smaller pieces to make them review- and mergeable individually.

This comment has been minimized.

Copy link
@manisandro

manisandro May 30, 2016

Author Member

@m-kuhn , @nyalldawson So I'll remove the globe bindings, right?

This comment has been minimized.

Copy link
@nyalldawson

nyalldawson May 30, 2016

Contributor

@manisandro yep - pull them out and remove this class too.

* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

/**
* @brief Trivial base class for plugin interfaces
*/
class QgsPluginInterface : QObject
{
%TypeHeaderCode
#include "qgsplugininterface.h"
%End

protected:
/** Should only be instantiated from subclasses */
QgsPluginInterface( QObject* parent = 0 );
};
@@ -275,6 +275,11 @@ class QgsProject : QObject

QgsRelationManager* relationManager() const;

/** Return the project's billboard manager instance pointer
* @note added in QGIS 2.16
*/
QgsBillBoardRegistry* billboardRegistry() const;

/** Return pointer to the root (invisible) node of the project's layer tree
* @note added in 2.4
*/
@@ -74,7 +74,7 @@ class QgsRectangle
//! return true when rectangle contains a point
bool contains( const QgsPoint &p ) const;
//! expand the rectangle so that covers both the original rectangle and the given rectangle
void combineExtentWith( QgsRectangle *rect );
void combineExtentWith( const QgsRectangle& rect );
//! expand the rectangle so that covers both the original rectangle and the given point
void combineExtentWith( double x, double y );
//! test if rectangle is empty.
@@ -102,6 +102,7 @@
%Include qgsmaplayeractionregistry.sip
%Include qgsmaplayercombobox.sip
%Include qgsmaplayermodel.sip
%Include qgsmaplayerpropertiesfactory.sip
%Include qgsmaplayerproxymodel.sip
%Include qgsmapmouseevent.sip
%Include qgsmapoverviewcanvas.sip
@@ -155,6 +156,7 @@
%Include qgsunitselectionwidget.sip
%Include qgsuserinputdockwidget.sip
%Include qgsvariableeditorwidget.sip
%Include qgsvectorlayerpropertiespage.sip
%Include qgsvectorlayertools.sip
%Include qgsvertexmarker.sip

@@ -279,6 +279,12 @@ class QgisInterface : QObject
/** Unregister a previously registered action. (e.g. when plugin is going to be unloaded) */
virtual bool unregisterMainWindowAction( QAction* action ) = 0;

/** Register a new tab in the vector layer properties dialog */
virtual void registerMapLayerPropertiesFactory( QgsMapLayerPropertiesFactory* factory ) = 0;

/** Unregister a previously registered tab in the layer properties dialog */
virtual void unregisterMapLayerPropertiesFactory( QgsMapLayerPropertiesFactory* factory ) = 0;

// @todo is this deprecated in favour of QgsContextHelp?
/** Open a url in the users browser. By default the QGIS doc directory is used
* as the base for the URL. To open a URL that is not relative to the installed
@@ -0,0 +1,32 @@
/** \ingroup gui
* \note added in 2.1
*/
class QgsMapLayerPropertiesFactory
{
%TypeHeaderCode
#include <qgsmaplayerpropertiesfactory.h>
%End

public:
/** Constructor */
QgsMapLayerPropertiesFactory();

/** Destructor */
virtual ~QgsMapLayerPropertiesFactory();

/**
* @brief Create a new properties page
* @param layer The layer for which to create the page
* @param parent The parent widget
* @return The new properties page instance
*/
virtual QgsVectorLayerPropertiesPage* createVectorLayerPropertiesPage( QgsVectorLayer* layer, QWidget* parent ) = 0;

/**
* @brief Creates the QListWidgetItem for the properties page
* @param layer The layer for which to create the item
* @param view The parent QListView
* @return The QListWidgetItem for the properties page
*/
virtual QListWidgetItem* createVectorLayerPropertiesItem( QgsVectorLayer* layer, QListWidget* view ) = 0;
};
@@ -0,0 +1,21 @@
/** \ingroup gui
* \note added in 2.1
*/

/**
* @brief Base class for custom vector layer property pages
*/
class QgsVectorLayerPropertiesPage : QWidget
{
%TypeHeaderCode
#include <qgsvectorlayerpropertiespage.h>
%End

public:
/** Constructor */
explicit QgsVectorLayerPropertiesPage( QWidget *parent = 0 );

public slots:
/** Apply changes */
virtual void apply() = 0;
};

11 comments on commit 87121d6

@jef-n

This comment has been minimized.

Copy link
Member

@jef-n jef-n replied May 31, 2016

This breaks support for osgEarth 2.4 as in OSGeo4W.

@manisandro

This comment has been minimized.

Copy link
Member Author

@manisandro manisandro replied May 31, 2016

@jef-n I can mail you OSGeo4W packages sources for osgEarth 2.7.

@jef-n

This comment has been minimized.

Copy link
Member

@jef-n jef-n replied May 31, 2016

It also breaks builds for Debian wheezy (osgEarth 2.5), jessie (current stable, 2.5), ubuntu trusty (2.4), wily and xenial (also 2.5). yakkety has 2.7. ubuntugis has 2.7 for xenial.

I suppose QGIS 2.14 (and 2.8) also don't support osgearth 2.7 (relevant for OSGeo4W)

@manisandro

This comment has been minimized.

Copy link
Member Author

@manisandro manisandro replied May 31, 2016

@jef-n So with upstream doing API breaks at will and occasional internal changes which can cause breakage even though the API remains the same, it is very hard to maintain a workable implementation for multiple releases.
So for distros not shipping the current version of osgEarth, the plugin should just be disabled. The fix for this would be to set the minimum required version to 2.7 in CMake.
For OSGeo4W, does the package base have to be the same for legacy QGIS versions? I'm open to suggestions, but at some point such breakage from the past is needed if the globe plugin is to be actively maintained (and I already fear the day where osgEarth 3.0 is released, with possibly even more radical breakages, so even getting the code to compile with 2.x might then be a huge challenge).

@jef-n

This comment has been minimized.

Copy link
Member

@jef-n jef-n replied May 31, 2016

@jef-n

This comment has been minimized.

Copy link
Member

@jef-n jef-n replied Jun 1, 2016

Any opinion about the user base and stability of the globe plugin? I guess it was somewhat experimental anyway and doesn't have many users. In OSGeo4W I could just upgrade OSGEarth to 2.7 and disable the globe plugin for 2.14 in the next point release (when 2.8 will vanish, be replaced be 2.14 as LTR). In the Linux builds (if everything works out as intented - nighlies are still underway) the globe plugin will also vanish where 2.7 is not available.

@andreasneumann

This comment has been minimized.

Copy link
Member

@andreasneumann andreasneumann replied Jun 1, 2016

I think the user base of QGIS globe was probably very low. It wasn't very stable and feature-rich in the past and thus not much in use.

@luipir

This comment has been minimized.

Copy link
Contributor

@luipir luipir replied Jun 1, 2016

agreed @andreasneumann btw now I can't compile on wily due to dependency and I can't check if now globe works

@jef-n

This comment has been minimized.

Copy link
Member

@jef-n jef-n replied Jun 1, 2016

@luipir set WITH_GLOBE=FALSE

@luipir

This comment has been minimized.

Copy link
Contributor

@luipir luipir replied Jun 1, 2016

@jef-n sorry I was saying I can't compile Globe :)

@manisandro

This comment has been minimized.

Copy link
Member Author

@manisandro manisandro replied Jun 1, 2016

@luipir osgEarth 2.7 is a hard requirement. Supporting older versions is simply too much work, given the volatility of the osgEarth API.

Please sign in to comment.
You can’t perform that action at this time.