Fix 3D terrain generator init sequence

This commit is contained in:
David Koňařík 2024-09-26 11:08:07 +02:00 committed by Martin Dobias
parent bb40c6da84
commit c88750fc30
5 changed files with 5 additions and 4 deletions

View File

@ -125,7 +125,7 @@ void QgsDemTerrainGenerator::setExtent( const QgsRectangle &extent )
void QgsDemTerrainGenerator::updateGenerator()
{
QgsRasterLayer *dem = layer();
if ( dem )
if ( dem && mCrs.isValid() )
{
mTerrainTilingScheme = QgsTilingScheme( mExtent, mCrs );
delete mHeightMapGenerator;

View File

@ -49,6 +49,7 @@ class _3D_EXPORT QgsDemTerrainGenerator : public QgsTerrainGenerator
//! Sets CRS of the terrain
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
//! Sets resolution of the generator (how many elevation samples on one side of a terrain tile)
void setResolution( int resolution ) { mResolution = resolution; updateGenerator(); }

View File

@ -68,7 +68,7 @@ class _3D_EXPORT QgsFlatTerrainGenerator : public QgsTerrainGenerator
//! Sets CRS of the terrain
void setCrs( const QgsCoordinateReferenceSystem &crs );
//! Returns CRS of the terrain
QgsCoordinateReferenceSystem crs() const { return mCrs; }
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
private:

View File

@ -44,7 +44,7 @@ class _3D_EXPORT QgsOnlineTerrainGenerator : public QgsTerrainGenerator
//! Sets CRS of the terrain
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
//! Returns CRS of the terrain
QgsCoordinateReferenceSystem crs() const { return mCrs; }
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
//! Sets resolution of the generator (how many elevation samples on one side of a terrain tile)
void setResolution( int resolution ) { mResolution = resolution; updateGenerator(); }

View File

@ -107,7 +107,7 @@ class _3D_EXPORT QgsTerrainGenerator : public QgsQuadtreeChunkLoaderFactory
const QgsTilingScheme &tilingScheme() const { return mTerrainTilingScheme; }
//! Returns CRS of the terrain
QgsCoordinateReferenceSystem crs() const { return mTerrainTilingScheme.crs(); }
virtual QgsCoordinateReferenceSystem crs() const { return mTerrainTilingScheme.crs(); }
//! Returns whether the terrain generator is valid
bool isValid() const;