mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-29 00:07:54 -04:00
162 lines
4.8 KiB
Plaintext
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 *
|
|
************************************************************************/
|