112 SIP_PYOBJECT resultsRenderersUpdatedCanvasPy() const
SIP_PYNAME( resultsRenderersUpdatedCanvas )
SIP_TYPEHINT( Dict[str, Tuple[
float,
float]] );
114 QMap<QString, std::pair<
double,
double>> results = sipCpp->resultsRenderersUpdatedCanvas();
115 sipRes = PyDict_New();
117 for ( auto it = results.constBegin(); it != results.constEnd(); ++it )
119 PyObject *tuple = PyTuple_New( 2 );
120 PyTuple_SET_ITEM( tuple, 0, PyFloat_FromDouble( it.value().first ) );
121 PyTuple_SET_ITEM( tuple, 1, PyFloat_FromDouble( it.value().second ) );
122 PyDict_SetItem( sipRes, PyUnicode_FromString( it.key().toUtf8().constData() ), tuple );
134 bool symbolVisible( QgsSymbol *symbol, QgsVectorLayer *layer )
const;
142 bool legendKeyVisible(
const QString &ruleKey, QgsVectorLayer *layer )
const;
147 typedef QSet<QString> SymbolSet;
150 typedef QMap<QString, SymbolSet> HitTest;
165 void runHitTestFeatureSource( QgsAbstractFeatureSource *source,
166 const QString &layerId,
167 const QgsFields &fields,
168 const QgsFeatureRenderer *renderer,
169 SymbolSet &usedSymbols,
170 SymbolSet &usedSymbolsRuleKey,
171 QgsRenderContext &context,
172 QgsFeedback *feedback,
173 const QgsGeometry &visibleExtent );
187 void runHitTestRasterSource( QgsRasterDataProvider *provider,
188 const QString &layerId,
190 const QgsRasterMinMaxOrigin minMaxOrigin,
192 const QgsRenderContext &context,
193 QgsFeedback *feedback,
194 const QgsGeometry &visibleExtent );
206 void runHitTestMeshSource( QgsMeshLayer *layer,
207 const QString &layerId,
208 const QgsMeshDatasetIndex datasetIndex,
209 const QgsRenderContext &context,
210 QgsFeedback *feedback,
211 const QgsGeometry &visibleExtent );
216 HitTest mHitTestRuleKey;
218 QgsLayerTreeFilterSettings mSettings;
220 QMap<QString, std::pair<double, double>> mHitTestRenderersUpdatedCanvas;
276 SIP_PYOBJECT resultsRenderersUpdatedCanvasPy() const
SIP_PYNAME( resultsRenderersUpdatedCanvas )
SIP_TYPEHINT( Dict[str, Tuple[
float,
float]] );
278 QMap<QString, std::pair<
double,
double>> results = sipCpp->resultsRenderersUpdatedCanvas();
279 sipRes = PyDict_New();
281 for ( auto it = results.constBegin(); it != results.constEnd(); ++it )
283 PyObject *tuple = PyTuple_New( 2 );
284 PyTuple_SET_ITEM( tuple, 0, PyFloat_FromDouble( it.value().first ) );
285 PyTuple_SET_ITEM( tuple, 1, PyFloat_FromDouble( it.value().second ) );
286 PyDict_SetItem( sipRes, PyUnicode_FromString( it.key().toUtf8().constData() ), tuple );
300 struct PreparedLayerData
302 std::unique_ptr< QgsAbstractFeatureSource > source;
305 std::unique_ptr< QgsFeatureRenderer > renderer;
307 QgsCoordinateTransform transform;
308 std::unique_ptr< QgsExpressionContextScope > layerScope;
311 struct PreparedRasterData
313 std::unique_ptr< QgsRasterDataProvider > provider;
316 QgsRasterMinMaxOrigin minMaxOrigin;
318 QgsCoordinateTransform transform;
322 struct PreparedMeshData
324 std::unique_ptr< QgsMeshLayer > layer;
326 QgsMeshDatasetIndex datasetIndex;
327 QgsCoordinateTransform transform;
331 std::vector< PreparedLayerData > mPreparedData;
333 std::vector< PreparedRasterData > mPreparedRasterData;
335 std::vector< PreparedMeshData > mPreparedMeshData;
337 QgsLayerTreeFilterSettings mSettings;
339 QMap<QString, QSet<QString>> mResults;
341 QMap<QString, std::pair<double, double>> mResultsRenderersUpdatedCanvas;
343 std::unique_ptr< QgsFeedback > mFeedback;
QMap< QString, std::pair< double, double > > resultsRenderersUpdatedCanvas() const
Returns the hit test results, for layers with UpdatedCanvas renderers (raster/mesh layers).
PRIVATE QMap< QString, std::pair< double, double > > resultsRenderersUpdatedCanvas() const
Returns the hit test results, for layers with UpdatedCanvas renderers (raster/mesh layers).
QgsMapHitTest(const QgsMapSettings &settings, const QgsGeometry &polygon=QgsGeometry(), const QgsMapHitTest::LayerFilterExpression &layerFilterExpression=QgsMapHitTest::LayerFilterExpression())
Constructor for QgsMapHitTest.
Contains information about the context of a rendering operation.