File: qgsfeaturepool.sip.in

package info (click to toggle)
qgis 3.40.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,181,336 kB
  • sloc: cpp: 1,593,302; python: 370,494; xml: 23,474; perl: 3,664; sh: 3,482; ansic: 2,257; sql: 2,133; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 157
file content (157 lines) | stat: -rw-r--r-- 4,694 bytes parent folder | download | duplicates (12)
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   *
 ************************************************************************/