113 SIP_PYOBJECT resultsRenderersUpdatedCanvasPy() const
SIP_PYNAME( resultsRenderersUpdatedCanvas )
SIP_TYPEHINT( Dict[str, Tuple[
float,
float]] );
115 QMap<QString, std::pair<
double,
double>> results = sipCpp->resultsRenderersUpdatedCanvas();
116 sipRes = PyDict_New();
118 for ( auto it = results.constBegin(); it != results.constEnd(); ++it )
120 PyObject *tuple = PyTuple_New( 2 );
121 PyTuple_SET_ITEM( tuple, 0, PyFloat_FromDouble( it.value().first ) );
122 PyTuple_SET_ITEM( tuple, 1, PyFloat_FromDouble( it.value().second ) );
123 PyDict_SetItem( sipRes, PyUnicode_FromString( it.key().toUtf8().constData() ), tuple );
136 bool symbolVisible( QgsSymbol *symbol, QgsVectorLayer *layer )
const;
144 bool legendKeyVisible(
const QString &ruleKey, QgsVectorLayer *layer )
const;
148 typedef QSet<QString> SymbolSet;
151 typedef QMap<QString, SymbolSet> HitTest;
166 void runHitTestFeatureSource(
167 QgsAbstractFeatureSource *source,
168 const QString &layerId,
169 const QgsFields &fields,
170 const QgsFeatureRenderer *renderer,
171 SymbolSet &usedSymbols,
172 SymbolSet &usedSymbolsRuleKey,
173 QgsRenderContext &context,
174 QgsFeedback *feedback,
175 const QgsGeometry &visibleExtent
190 void runHitTestRasterSource(
191 QgsRasterDataProvider *provider,
192 const QString &layerId,
194 const QgsRasterMinMaxOrigin minMaxOrigin,
196 const QgsRenderContext &context,
197 QgsFeedback *feedback,
198 const QgsGeometry &visibleExtent
211 void runHitTestMeshSource( QgsMeshLayer *layer,
const QString &layerId,
const QgsMeshDatasetIndex datasetIndex,
const QgsRenderContext &context, QgsFeedback *feedback,
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 );
302 struct PreparedLayerData
304 std::unique_ptr< QgsAbstractFeatureSource > source;
307 std::unique_ptr< QgsFeatureRenderer > renderer;
309 QgsCoordinateTransform transform;
310 std::unique_ptr< QgsExpressionContextScope > layerScope;
313 struct PreparedRasterData
315 std::unique_ptr< QgsRasterDataProvider > provider;
318 QgsRasterMinMaxOrigin minMaxOrigin;
320 QgsCoordinateTransform transform;
324 struct PreparedMeshData
326 std::unique_ptr< QgsMeshLayer > layer;
328 QgsMeshDatasetIndex datasetIndex;
329 QgsCoordinateTransform transform;
333 std::vector< PreparedLayerData > mPreparedData;
335 std::vector< PreparedRasterData > mPreparedRasterData;
337 std::vector< PreparedMeshData > mPreparedMeshData;
339 QgsLayerTreeFilterSettings mSettings;
341 QMap<QString, QSet<QString>> mResults;
343 QMap<QString, std::pair<double, double>> mResultsRenderersUpdatedCanvas;
345 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.