Skip to content

Commit

Permalink
Invalidate wgs84 extent when setting a transform context
Browse files Browse the repository at this point in the history
  • Loading branch information
pblottiere committed Mar 10, 2021
1 parent 6667472 commit 0c831dd
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions python/core/auto_generated/qgsmaplayer.sip.in
Expand Up @@ -1812,6 +1812,8 @@ Add error message
Sets error message
%End

void invalidateWgs84Extent();




Expand Down
1 change: 1 addition & 0 deletions src/core/annotations/qgsannotationlayer.cpp
Expand Up @@ -120,6 +120,7 @@ QgsRectangle QgsAnnotationLayer::extent() const
void QgsAnnotationLayer::setTransformContext( const QgsCoordinateTransformContext &context )
{
mTransformContext = context;
invalidateWgs84Extent();
}

bool QgsAnnotationLayer::readXml( const QDomNode &layerNode, QgsReadWriteContext &context )
Expand Down
1 change: 1 addition & 0 deletions src/core/mesh/qgsmeshlayer.cpp
Expand Up @@ -539,6 +539,7 @@ void QgsMeshLayer::setTransformContext( const QgsCoordinateTransformContext &tra
{
if ( mDataProvider )
mDataProvider->setTransformContext( transformContext );
invalidateWgs84Extent();
}

QgsMeshDatasetIndex QgsMeshLayer::datasetIndexAtTime( const QgsDateTimeRange &timeRange, int datasetGroupIndex ) const
Expand Down
1 change: 1 addition & 0 deletions src/core/pointcloud/qgspointcloudlayer.cpp
Expand Up @@ -277,6 +277,7 @@ void QgsPointCloudLayer::setTransformContext( const QgsCoordinateTransformContex
{
if ( mDataProvider )
mDataProvider->setTransformContext( transformContext );
invalidateWgs84Extent();
}

void QgsPointCloudLayer::setDataSource( const QString &dataSource, const QString &baseName, const QString &provider,
Expand Down
9 changes: 9 additions & 0 deletions src/core/qgsmaplayer.cpp
Expand Up @@ -2049,3 +2049,12 @@ void QgsMapLayer::updateExtent( const QgsRectangle &extent ) const

mWgs84Extent = wgs84Extent( true );
}

void QgsMapLayer::invalidateWgs84Extent()
{
// do not update the wgs84 extent if we trust layer metadata
if ( mReadFlags & QgsMapLayer::ReadFlag::FlagTrustLayerMetadata )
return;

mWgs84Extent = QgsRectangle();
}
2 changes: 2 additions & 0 deletions src/core/qgsmaplayer.h
Expand Up @@ -1612,6 +1612,8 @@ class CORE_EXPORT QgsMapLayer : public QObject
//! Sets error message
void setError( const QgsError &error ) { mError = error;}

void invalidateWgs84Extent();

//! Indicates if the layer is valid and can be drawn
bool mValid = false;

Expand Down
1 change: 1 addition & 0 deletions src/core/raster/qgsrasterlayer.cpp
Expand Up @@ -1759,6 +1759,7 @@ void QgsRasterLayer::setTransformContext( const QgsCoordinateTransformContext &t
{
if ( mDataProvider )
mDataProvider->setTransformContext( transformContext );
invalidateWgs84Extent();
}

QStringList QgsRasterLayer::subLayers() const
Expand Down
1 change: 1 addition & 0 deletions src/core/vectortile/qgsvectortilelayer.cpp
Expand Up @@ -344,6 +344,7 @@ bool QgsVectorTileLayer::writeSymbology( QDomNode &node, QDomDocument &doc, QStr
void QgsVectorTileLayer::setTransformContext( const QgsCoordinateTransformContext &transformContext )
{
Q_UNUSED( transformContext )
invalidateWgs84Extent();
}

QString QgsVectorTileLayer::loadDefaultStyle( bool &resultFlag )
Expand Down

0 comments on commit 0c831dd

Please sign in to comment.