Skip to content

Commit 9b298ca

Browse files
committed
Remove getMap method with hitTest
1 parent ebccfb6 commit 9b298ca

File tree

2 files changed

+28
-43
lines changed

2 files changed

+28
-43
lines changed

src/server/services/wms/qgswmsrenderer.cpp

+22-33
Original file line numberDiff line numberDiff line change
@@ -749,13 +749,7 @@ namespace QgsWms
749749
return true;
750750
}
751751

752-
QImage *QgsRenderer::getMap( HitTest *hitTest )
753-
{
754-
QgsMapSettings mapSettings;
755-
return getMap( mapSettings, hitTest );
756-
}
757-
758-
QImage *QgsRenderer::getMap( QgsMapSettings &mapSettings, HitTest *hitTest )
752+
QImage *QgsRenderer::getMap()
759753
{
760754
// check size
761755
checkMaximumWidthHeight();
@@ -766,6 +760,8 @@ namespace QgsWms
766760

767761
// configure layers
768762
QList<QgsMapLayer *> layers = mContext.layersToRender();
763+
764+
QgsMapSettings mapSettings;
769765
configureLayers( layers, &mapSettings );
770766

771767
// create the output image and the painter
@@ -779,7 +775,7 @@ namespace QgsWms
779775
mapSettings.setLayers( layers );
780776

781777
// rendering step for layers
782-
painter.reset( layersRendering( mapSettings, *image, hitTest ) );
778+
painter.reset( layersRendering( mapSettings, *image ) );
783779

784780
// rendering step for annotations
785781
annotationsRendering( painter.get() );
@@ -2710,38 +2706,31 @@ namespace QgsWms
27102706
mTemporaryLayers.clear();
27112707
}
27122708

2713-
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage &image, HitTest *hitTest ) const
2709+
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const
27142710
{
27152711
QPainter *painter = nullptr;
2716-
if ( hitTest )
2717-
{
2718-
runHitTest( mapSettings, *hitTest );
2719-
painter = new QPainter();
2720-
}
2721-
else
2722-
{
2723-
QgsFeatureFilterProviderGroup filters;
2724-
filters.addProvider( &mFeatureFilter );
2712+
2713+
QgsFeatureFilterProviderGroup filters;
2714+
filters.addProvider( &mFeatureFilter );
27252715
#ifdef HAVE_SERVER_PYTHON_PLUGINS
2726-
mContext.accessControl()->resolveFilterFeatures( mapSettings.layers() );
2727-
filters.addProvider( mContext.accessControl() );
2716+
mContext.accessControl()->resolveFilterFeatures( mapSettings.layers() );
2717+
filters.addProvider( mContext.accessControl() );
27282718
#endif
2729-
QgsMapRendererJobProxy renderJob( mContext.settings().parallelRendering(), mContext.settings().maxThreads(), &filters );
2730-
renderJob.render( mapSettings, &image );
2731-
painter = renderJob.takePainter();
2719+
QgsMapRendererJobProxy renderJob( mContext.settings().parallelRendering(), mContext.settings().maxThreads(), &filters );
2720+
renderJob.render( mapSettings, &image );
2721+
painter = renderJob.takePainter();
27322722

2733-
if ( !renderJob.errors().isEmpty() )
2723+
if ( !renderJob.errors().isEmpty() )
2724+
{
2725+
QString layerWMSName;
2726+
QString firstErrorLayerId = renderJob.errors().at( 0 ).layerID;
2727+
QgsMapLayer *errorLayer = mProject->mapLayer( firstErrorLayerId );
2728+
if ( errorLayer )
27342729
{
2735-
QString layerWMSName;
2736-
QString firstErrorLayerId = renderJob.errors().at( 0 ).layerID;
2737-
QgsMapLayer *errorLayer = mProject->mapLayer( firstErrorLayerId );
2738-
if ( errorLayer )
2739-
{
2740-
layerWMSName = mContext.layerNickname( *errorLayer );
2741-
}
2742-
2743-
throw QgsException( QStringLiteral( "Map rendering error in layer '%1'" ).arg( layerWMSName ) );
2730+
layerWMSName = mContext.layerNickname( *errorLayer );
27442731
}
2732+
2733+
throw QgsException( QStringLiteral( "Map rendering error in layer '%1'" ).arg( layerWMSName ) );
27452734
}
27462735

27472736
return painter;

src/server/services/wms/qgswmsrenderer.h

+6-10
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,11 @@ namespace QgsWms
104104
HitTest symbols();
105105

106106
/**
107-
* Returns the map as an image (or NULLPTR in case of error). The caller takes ownership
108-
of the image object). If an instance to existing hit test structure is passed, instead of rendering
109-
it will fill the structure with symbols that would be used for rendering */
110-
QImage *getMap( HitTest *hitTest = nullptr );
111-
112-
/**
113-
* Identical to getMap( HitTest* hitTest ) and updates the map settings actually used.
114-
\since QGIS 3.0 */
115-
QImage *getMap( QgsMapSettings &mapSettings, HitTest *hitTest = nullptr );
107+
* Returns the map as an image (or NULLPTR in case of error). The caller
108+
* takes ownership of the image object).
109+
* \since QGIS 3.8
110+
*/
111+
QImage *getMap();
116112

117113
/**
118114
* Returns the map as DXF data
@@ -141,7 +137,7 @@ namespace QgsWms
141137
QList<QgsMapLayer *> externalLayers( const QList<QgsWmsParametersExternalLayer> &params );
142138

143139
// Rendering step for layers
144-
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage &image, HitTest *hitTest = nullptr ) const;
140+
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const;
145141

146142
// Rendering step for annotations
147143
void annotationsRendering( QPainter *painter ) const;

0 commit comments

Comments
 (0)