mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			159 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			4.6 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( 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   *
 | 
						|
 ************************************************************************/
 |