mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
Use registry to create terrain generator
This commit is contained in:
parent
25313dd530
commit
64e0c9e484
@ -54,8 +54,7 @@ class _3D_EXPORT QgsMeshTerrainGenerator : public QgsTerrainGenerator
|
||||
//! Sets the symbol used to render the mesh as terrain
|
||||
void setSymbol( QgsMesh3DSymbol *symbol SIP_TRANSFER );
|
||||
|
||||
//! Sets CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context ) override;
|
||||
|
||||
QgsChunkLoader *createChunkLoader( QgsChunkNode *node ) const override SIP_FACTORY;
|
||||
float rootChunkError( const Qgs3DMapSettings &map ) const override;
|
||||
|
@ -21,9 +21,7 @@
|
||||
#include "qgsflatterraingenerator.h"
|
||||
#include "qgsdemterraingenerator.h"
|
||||
#include "qgsmeshterraingenerator.h"
|
||||
#include "qgsonlineterraingenerator.h"
|
||||
#include "qgsprojectviewsettings.h"
|
||||
#include "qgsquantizedmeshterraingenerator.h"
|
||||
#include "qgsprojectelevationproperties.h"
|
||||
#include "qgsterrainprovider.h"
|
||||
#include "qgslightsource.h"
|
||||
@ -244,35 +242,13 @@ void Qgs3DMapSettings::readXml( const QDomElement &elem, const QgsReadWriteConte
|
||||
mLayers = mapLayers; // needs to resolve refs afterwards
|
||||
|
||||
QDomElement elemTerrainGenerator = elemTerrain.firstChildElement( QStringLiteral( "generator" ) );
|
||||
QString terrainGenType = elemTerrainGenerator.attribute( QStringLiteral( "type" ) );
|
||||
if ( terrainGenType == QLatin1String( "dem" ) )
|
||||
const QString terrainGenType = elemTerrainGenerator.attribute( QStringLiteral( "type" ) );
|
||||
std::unique_ptr< QgsTerrainGenerator > terrainGenerator( Qgs3D::terrainRegistry()->createTerrainGenerator( terrainGenType ) );
|
||||
if ( terrainGenerator )
|
||||
{
|
||||
QgsDemTerrainGenerator *demTerrainGenerator = new QgsDemTerrainGenerator;
|
||||
demTerrainGenerator->setCrs( mCrs, mTransformContext );
|
||||
setTerrainGenerator( demTerrainGenerator );
|
||||
}
|
||||
else if ( terrainGenType == QLatin1String( "online" ) )
|
||||
{
|
||||
QgsOnlineTerrainGenerator *onlineTerrainGenerator = new QgsOnlineTerrainGenerator;
|
||||
onlineTerrainGenerator->setCrs( mCrs, mTransformContext );
|
||||
setTerrainGenerator( onlineTerrainGenerator );
|
||||
}
|
||||
else if ( terrainGenType == QLatin1String( "mesh" ) )
|
||||
{
|
||||
QgsMeshTerrainGenerator *meshTerrainGenerator = new QgsMeshTerrainGenerator;
|
||||
meshTerrainGenerator->setCrs( mCrs, mTransformContext );
|
||||
setTerrainGenerator( meshTerrainGenerator );
|
||||
}
|
||||
else if ( terrainGenType == QLatin1String( "quantizedmesh" ) )
|
||||
{
|
||||
QgsQuantizedMeshTerrainGenerator *qmTerrainGenerator = new QgsQuantizedMeshTerrainGenerator;
|
||||
setTerrainGenerator( qmTerrainGenerator );
|
||||
}
|
||||
else // "flat"
|
||||
{
|
||||
QgsFlatTerrainGenerator *flatGen = new QgsFlatTerrainGenerator;
|
||||
flatGen->setCrs( mCrs );
|
||||
setTerrainGenerator( flatGen );
|
||||
terrainGenerator->setCrs( mCrs, mTransformContext );
|
||||
mTerrainGenerator->readXml( elemTerrainGenerator );
|
||||
setTerrainGenerator( terrainGenerator.release() );
|
||||
}
|
||||
|
||||
std::unique_ptr<QgsAbstractTerrainSettings> terrainSettings( Qgs3D::terrainRegistry()->createTerrainSettings( terrainGenType ) );
|
||||
@ -282,8 +258,6 @@ void Qgs3DMapSettings::readXml( const QDomElement &elem, const QgsReadWriteConte
|
||||
setTerrainSettings( terrainSettings.release() );
|
||||
}
|
||||
|
||||
mTerrainGenerator->readXml( elemTerrainGenerator );
|
||||
|
||||
QDomElement elemSkybox = elem.firstChildElement( QStringLiteral( "skybox" ) );
|
||||
mIsSkyboxEnabled = elemSkybox.attribute( QStringLiteral( "skybox-enabled" ) ).toInt();
|
||||
mSkyboxSettings.readXml( elemSkybox, context );
|
||||
@ -687,7 +661,7 @@ void Qgs3DMapSettings::configureTerrainFromProject( QgsProjectElevationPropertie
|
||||
if ( properties->terrainProvider()->type() == QLatin1String( "flat" ) )
|
||||
{
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( crs() );
|
||||
flatTerrain->setCrs( crs(), QgsProject::instance()->transformContext() );
|
||||
setTerrainGenerator( flatTerrain );
|
||||
|
||||
setTerrainElevationOffset( properties->terrainProvider()->offset() );
|
||||
@ -722,7 +696,7 @@ void Qgs3DMapSettings::configureTerrainFromProject( QgsProjectElevationPropertie
|
||||
else
|
||||
{
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( crs() );
|
||||
flatTerrain->setCrs( crs(), QgsProject::instance()->transformContext() );
|
||||
setTerrainGenerator( flatTerrain );
|
||||
}
|
||||
}
|
||||
|
@ -52,8 +52,7 @@ class _3D_EXPORT QgsDemTerrainGenerator : public QgsTerrainGenerator
|
||||
//! Returns raster layer with elevation model to be used for terrain generation
|
||||
QgsRasterLayer *layer() const;
|
||||
|
||||
//! Sets CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context ) override;
|
||||
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
|
||||
|
||||
//! Sets resolution of the generator (how many elevation samples on one side of a terrain tile)
|
||||
|
@ -131,7 +131,7 @@ void QgsFlatTerrainGenerator::readXml( const QDomElement &elem )
|
||||
Q_UNUSED( elem )
|
||||
}
|
||||
|
||||
void QgsFlatTerrainGenerator::setCrs( const QgsCoordinateReferenceSystem &crs )
|
||||
void QgsFlatTerrainGenerator::setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext & )
|
||||
{
|
||||
mCrs = crs;
|
||||
updateTilingScheme();
|
||||
|
@ -69,9 +69,7 @@ class _3D_EXPORT QgsFlatTerrainGenerator : public QgsTerrainGenerator
|
||||
void writeXml( QDomElement &elem ) const override;
|
||||
void readXml( const QDomElement &elem ) override;
|
||||
|
||||
//! Sets CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs );
|
||||
//! Returns CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context ) override;
|
||||
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
|
||||
|
||||
private:
|
||||
|
@ -46,9 +46,7 @@ class _3D_EXPORT QgsOnlineTerrainGenerator : public QgsTerrainGenerator
|
||||
QgsOnlineTerrainGenerator();
|
||||
~QgsOnlineTerrainGenerator() override;
|
||||
|
||||
//! Sets CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
|
||||
//! Returns CRS of the terrain
|
||||
void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context ) override;
|
||||
QgsCoordinateReferenceSystem crs() const override { return mCrs; }
|
||||
|
||||
//! Sets resolution of the generator (how many elevation samples on one side of a terrain tile)
|
||||
|
@ -71,6 +71,11 @@ QString QgsTerrainGenerator::typeToString( QgsTerrainGenerator::Type type )
|
||||
return QString();
|
||||
}
|
||||
|
||||
void QgsTerrainGenerator::setCrs( const QgsCoordinateReferenceSystem &, const QgsCoordinateTransformContext & )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool QgsTerrainGenerator::isValid() const
|
||||
{
|
||||
return mIsValid;
|
||||
|
@ -26,6 +26,7 @@ class Qgs3DMapSettings;
|
||||
class Qgs3DRenderContext;
|
||||
class QgsRectangle;
|
||||
class QgsTerrainEntity;
|
||||
class QgsCoordinateTransformContext;
|
||||
|
||||
class QDomElement;
|
||||
class QDomDocument;
|
||||
@ -105,6 +106,13 @@ class _3D_EXPORT QgsTerrainGenerator : public QgsQuadtreeChunkLoaderFactory
|
||||
//! Returns tiling scheme of the terrain
|
||||
const QgsTilingScheme &tilingScheme() const { return mTerrainTilingScheme; }
|
||||
|
||||
/**
|
||||
* Sets the CRS associated with the terrain.
|
||||
*
|
||||
* \see crs()
|
||||
*/
|
||||
virtual void setCrs( const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context );
|
||||
|
||||
//! Returns CRS of the terrain
|
||||
virtual QgsCoordinateReferenceSystem crs() const { return mTerrainTilingScheme.crs(); }
|
||||
|
||||
|
@ -263,7 +263,7 @@ void Qgs3DMapConfigWidget::apply()
|
||||
case QgsTerrainGenerator::Flat:
|
||||
{
|
||||
QgsFlatTerrainGenerator *flatTerrainGen = new QgsFlatTerrainGenerator;
|
||||
flatTerrainGen->setCrs( mMap->crs() );
|
||||
flatTerrainGen->setCrs( mMap->crs(), QgsProject::instance()->transformContext() );
|
||||
mMap->setTerrainGenerator( flatTerrainGen );
|
||||
}
|
||||
break;
|
||||
|
@ -84,7 +84,7 @@ void initCanvas3D( Qgs3DMapCanvas *canvas )
|
||||
} );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
map->setTerrainElevationOffset( QgsProject::instance()->elevationProperties()->terrainProvider()->offset() );
|
||||
|
||||
|
@ -99,7 +99,7 @@ void TestQgs3DCameraController::testTranslate()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -172,7 +172,7 @@ void TestQgs3DCameraController::testZoom()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -245,7 +245,7 @@ void TestQgs3DCameraController::testZoomWheel()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -292,7 +292,7 @@ void TestQgs3DCameraController::testRotationCenter()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -367,7 +367,7 @@ void TestQgs3DCameraController::testRotationCamera()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -443,7 +443,7 @@ void TestQgs3DCameraController::testRotationCenterZoomWheelRotationCenter()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -586,7 +586,7 @@ void TestQgs3DCameraController::testTranslateRotationCenterTranslate()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -739,7 +739,7 @@ void TestQgs3DCameraController::testTranslateZoomWheelTranslate()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -883,7 +883,7 @@ void TestQgs3DCameraController::testTranslateRotationCameraTranslate()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
@ -1034,7 +1034,7 @@ void TestQgs3DCameraController::testRotationCenterRotationCameraRotationCenter()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << mLayerRgb << mLayerBuildings );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), QgsCoordinateTransformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QPoint winSize = QPoint( 640, 480 ); // default window size
|
||||
|
@ -281,7 +281,7 @@ void TestQgs3DRendering::testFlatTerrain()
|
||||
map->setLayers( QList<QgsMapLayer *>() << mLayerRgb );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -414,7 +414,7 @@ void TestQgs3DRendering::testExtrudedPolygons()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -461,7 +461,7 @@ void TestQgs3DRendering::testExtrudedPolygonsClipping()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -517,7 +517,7 @@ void TestQgs3DRendering::testPhongShading()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -569,7 +569,7 @@ void TestQgs3DRendering::testExtrudedPolygonsTexturedPhong()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -623,7 +623,7 @@ void TestQgs3DRendering::testExtrudedPolygonsDataDefinedPhong()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -677,7 +677,7 @@ void TestQgs3DRendering::testExtrudedPolygonsDataDefinedPhongClipping()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -740,7 +740,7 @@ void TestQgs3DRendering::testExtrudedPolygonsDataDefinedGooch()
|
||||
mapSettings->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), mProject->transformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -796,7 +796,7 @@ void TestQgs3DRendering::testExtrudedPolygonsDataDefinedGoochClipping()
|
||||
mapSettings->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), mProject->transformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -837,7 +837,7 @@ void TestQgs3DRendering::testExtrudedPolygonsGoochShading()
|
||||
map->setLayers( QList<QgsMapLayer *>() << mLayerBuildings << mLayerRgb );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -897,7 +897,7 @@ void TestQgs3DRendering::testExtrudedPolygonsMetalRoughShading()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -949,7 +949,7 @@ void TestQgs3DRendering::testPolygonsEdges()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -999,7 +999,7 @@ void TestQgs3DRendering::testLineRendering()
|
||||
map->setLayers( QList<QgsMapLayer *>() << layerLines );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1056,7 +1056,7 @@ void TestQgs3DRendering::testLineRenderingClipping()
|
||||
map->setLayers( QList<QgsMapLayer *>() << layerLines );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1115,7 +1115,7 @@ void TestQgs3DRendering::testLineRenderingCurved()
|
||||
map->setLayers( QList<QgsMapLayer *>() << layerLines );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1174,7 +1174,7 @@ void TestQgs3DRendering::testLineRenderingDataDefinedColors()
|
||||
map->setLayers( QList<QgsMapLayer *>() << layerLines );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1218,7 +1218,7 @@ void TestQgs3DRendering::testBufferedLineRendering()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1265,7 +1265,7 @@ void TestQgs3DRendering::testBufferedLineRenderingClipping()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1325,7 +1325,7 @@ void TestQgs3DRendering::testBufferedLineRenderingWidth()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1360,7 +1360,7 @@ void TestQgs3DRendering::testMapTheme()
|
||||
map->setTerrainMapTheme( "theme_dtm" );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1416,7 +1416,7 @@ void TestQgs3DRendering::testRuleBasedRenderer()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1475,7 +1475,7 @@ void TestQgs3DRendering::testFilteredRuleBasedRenderer()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1507,7 +1507,7 @@ void TestQgs3DRendering::testAnimationExport()
|
||||
map.setExtent( fullExtent );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map.crs() );
|
||||
flatTerrain->setCrs( map.crs(), mProject->transformContext() );
|
||||
map.setTerrainGenerator( flatTerrain );
|
||||
|
||||
Qgs3DAnimationSettings animSettings;
|
||||
@ -1578,7 +1578,7 @@ void TestQgs3DRendering::testInstancedRendering()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << layerPointsZ.get() );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), mapSettings->transformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1653,7 +1653,7 @@ void TestQgs3DRendering::testInstancedRenderingClipping()
|
||||
mapSettings->setLayers( QList<QgsMapLayer *>() << layerPointsZ.get() );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( mapSettings->crs() );
|
||||
flatTerrain->setCrs( mapSettings->crs(), mapSettings->transformContext() );
|
||||
mapSettings->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1754,7 +1754,7 @@ void TestQgs3DRendering::testBillboardRendering()
|
||||
map->setLayers( QList<QgsMapLayer *>() << layerPointsZ.get() );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1845,7 +1845,7 @@ void TestQgs3DRendering::testFilteredFlatTerrain()
|
||||
map->setLayers( QList<QgsMapLayer *>() << mLayerRgb );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -1941,7 +1941,7 @@ void TestQgs3DRendering::testFilteredExtrudedPolygons()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), map->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
|
@ -86,7 +86,7 @@ void TestQgsLayout3DMap::testBasic()
|
||||
map->setLayers( QList<QgsMapLayer *>() << mLayerDtm );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsCameraPose cam;
|
||||
|
@ -155,7 +155,7 @@ void TestQgsMesh3DRendering::testMesh()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -197,7 +197,7 @@ void TestQgsMesh3DRendering::testMesh_datasetOnFaces()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -309,7 +309,7 @@ void TestQgsMesh3DRendering::testFilteredMesh()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
@ -350,7 +350,7 @@ void TestQgsMesh3DRendering::testMeshClipping()
|
||||
map->setLightSources( { defaultLight.clone() } );
|
||||
|
||||
QgsFlatTerrainGenerator *flatTerrain = new QgsFlatTerrainGenerator;
|
||||
flatTerrain->setCrs( map->crs() );
|
||||
flatTerrain->setCrs( map->crs(), mProject->transformContext() );
|
||||
map->setTerrainGenerator( flatTerrain );
|
||||
|
||||
QgsOffscreen3DEngine engine;
|
||||
|
Loading…
x
Reference in New Issue
Block a user