17 #ifndef QGS_FEATUREPOOL_H 18 #define QGS_FEATUREPOOL_H 24 #include "qgis_analysis.h" 71 virtual void updateFeature(
QgsFeature &feature ) = 0;
111 QPointer<QgsVectorLayer> layerPtr()
const SIP_SKIP;
116 QString layerId()
const;
134 QString layerName()
const;
142 void insertFeature(
const QgsFeature &feature,
bool skipLock =
false );
148 void refreshCache(
const QgsFeature &feature );
179 static const int CACHE_SIZE = 1000;
180 QCache<QgsFeatureId, QgsFeature> mFeatureCache;
181 QPointer<QgsVectorLayer> mLayer;
182 mutable QReadWriteLock mCacheLock;
186 std::unique_ptr<QgsVectorLayerFeatureSource> mFeatureSource;
190 #endif // QGS_FEATUREPOOL_H A rectangle specified with double values.
QSet< QgsFeatureId > QgsFeatureIds
An interface for objects which accept features via addFeature(s) methods.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
const QgsCoordinateReferenceSystem & crs
Base class for feedback objects to be used for cancellation of something running in a worker thread...
This class wraps a request for features to a vector layer (or directly its vector data provider)...
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
A spatial index for QgsFeature objects.
A feature pool is based on a vector layer and caches features.
This class represents a coordinate reference system (CRS).
Represents a vector layer which manages a vector based data sets.