15#ifndef QGSSENSORTHINGSFEATUREITERATOR_H
16#define QGSSENSORTHINGSFEATUREITERATOR_H
29 QgsSensorThingsFeatureSource(
const std::shared_ptr<QgsSensorThingsSharedData> &sharedData );
32 QgsSensorThingsSharedData *sharedData()
const;
35 std::shared_ptr<QgsSensorThingsSharedData> mSharedData;
37 friend class QgsSensorThingsFeatureIterator;
43 QgsSensorThingsFeatureIterator( QgsSensorThingsFeatureSource *source,
bool ownSource,
const QgsFeatureRequest &request );
44 ~QgsSensorThingsFeatureIterator()
override;
47 void setInterruptionChecker( QgsFeedback *interruptionChecker ) final;
50 bool fetchFeature( QgsFeature &f ) final;
64 QgsCoordinateTransform mTransform;
65 QgsRectangle mFilterRect;
66 QgsRectangle mGeometryTestFilterRect;
67 QgsGeometry mDistanceWithinGeom;
68 std::unique_ptr< QgsGeometryEngine > mDistanceWithinEngine;
70 QgsFeedback *mInterruptionChecker =
nullptr;
71 bool mDeferredFeaturesInFilterRectCheck = false;
Helper template that cares of two things: 1.
virtual bool rewind()=0
Resets the iterator to the starting position.
Base class that can be used for any class that is capable of returning features.
virtual QgsFeatureIterator getFeatures(const QgsFeatureRequest &request=QgsFeatureRequest())=0
Gets an iterator for features matching the specified request.
Wrapper for iterator of features from vector data provider or vector layer.
Wraps a request for features to a vector layer (or directly its vector data provider).
QSet< QgsFeatureId > QgsFeatureIds
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features