/************************************************************************ * This file has been generated automatically from * * * * src/analysis/vector/geometry_checker/qgsfeaturepool.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/ class QgsFeaturePool : QgsFeatureSink /Abstract/ { %Docstring(signature="appended") A feature pool is based on a vector layer and caches features. .. note:: This class is a technology preview and unstable API. .. versionadded:: 3.4 %End %TypeHeaderCode #include "qgsfeaturepool.h" %End public: QgsFeaturePool( QgsVectorLayer *layer ); %Docstring Creates a new feature pool for ``layer``. Must be created on the same thread as ``layer``. %End virtual ~QgsFeaturePool(); bool getFeature( QgsFeatureId id, QgsFeature &feature ); %Docstring Retrieves the feature with the specified ``id`` into ``feature``. It will be retrieved from the cache or from the underlying feature source if unavailable. If the feature is neither available from the cache nor from the source it will return ``False``. .. note:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. %End virtual void updateFeature( QgsFeature &feature ) = 0; %Docstring Updates a feature in this pool. Implementations will update the feature on the layer or on the data provider. .. warning:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. The update will be delegated to run in the main thread, and care must be taken to avoid deadlocks if the main thread is busy. %End virtual void deleteFeature( QgsFeatureId fid ) = 0; %Docstring Removes a feature from this pool. Implementations will remove the feature from the layer or from the data provider. .. warning:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. The update will be delegated to run in the main thread, and care must be taken to avoid deadlocks if the main thread is busy. %End QgsVectorLayer *layer() const; %Docstring Gets a pointer to the underlying layer. May return a ````None```` if the layer has been deleted. .. warning:: This must be called from the same thread as the vector layer belongs to. %End QString layerId() const; %Docstring The layer id of the layer. %End Qgis::GeometryType geometryType() const; %Docstring The geometry type of this layer. %End QgsCoordinateReferenceSystem crs() const; %Docstring The coordinate reference system of this layer. %End QString layerName() const; %Docstring Returns the name of the layer. Should be preferred over :py:func:`~QgsFeaturePool.layer`.name() because it can directly be run on the background thread. %End protected: void insertFeature( const QgsFeature &feature, bool skipLock = false ); %Docstring Inserts a feature into the cache and the spatial index. To be used by implementations of ``addFeature``. .. note:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. %End void refreshCache( QgsFeature feature, const QgsFeature &origFeature ); %Docstring Changes a feature in the cache and the spatial index. To be used by implementations of ``updateFeature``. :param feature: the new feature to put in the cache and index :param origFeature: the original feature to remove from the index .. note:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. .. versionadded:: 3.42 %End void removeFeature( const QgsFeatureId featureId ); %Docstring Removes a feature from the cache and the spatial index. To be used by implementations of ``deleteFeature``. .. note:: This method can safely be called from a different thread vs the object's creation thread or the original layer's thread. %End private: QgsFeaturePool( const QgsFeaturePool &other ); }; /************************************************************************ * This file has been generated automatically from * * * * src/analysis/vector/geometry_checker/qgsfeaturepool.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/