1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
/************************************************************************
* 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( const QgsFeature &feature );
%Docstring
Changes a feature in the cache and the spatial index. To be used by
implementations of ``updateFeature``.
.. 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 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 *
************************************************************************/
|