17#ifndef QGS_FEATUREPOOL_H
18#define QGS_FEATUREPOOL_H
24#include "qgis_analysis.h"
139 QString layerId() const;
144 Qgis::GeometryType geometryType() const;
157 QString layerName() const;
168 void insertFeature( const
QgsFeature &feature,
bool skipLock = false );
215 static const int CACHE_SIZE = 1000;
216 QCache<QgsFeatureId, QgsFeature> mFeatureCache;
217 QPointer<QgsVectorLayer> mLayer;
218 mutable QReadWriteLock mCacheLock;
222 std::unique_ptr<QgsVectorLayerFeatureSource> mFeatureSource;
237 QHash<QgsFeatureId, QgsFeature> mUpdatedFeatures;
239 friend class TestQgsVectorLayerFeaturePool;
The Qgis class provides global constants for use throughout the application.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
This class represents a coordinate reference system (CRS).
A feature pool is based on a vector layer and caches features.
virtual ~QgsFeaturePool()=default
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which accept features via addFeature(s) methods.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Base class for feedback objects to be used for cancellation of something running in a worker thread.
A rectangle specified with double values.
A spatial index for QgsFeature objects.
Represents a vector layer which manages a vector based data sets.
QSet< QgsFeatureId > QgsFeatureIds
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
const QgsCoordinateReferenceSystem & crs