Denis Rouzaud 76f702e48a sipify
2024-12-05 13:19:50 +01:00

162 lines
4.8 KiB
Plaintext

/************************************************************************
* 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 *
************************************************************************/