15#ifndef QGSSENSORTHINGSFEATUREITERATOR_H
16#define QGSSENSORTHINGSFEATUREITERATOR_H
30 QgsSensorThingsFeatureSource(
const std::shared_ptr<QgsSensorThingsSharedData> &sharedData );
33 QgsSensorThingsSharedData *sharedData()
const;
36 std::shared_ptr<QgsSensorThingsSharedData> mSharedData;
38 friend class QgsSensorThingsFeatureIterator;
44 QgsSensorThingsFeatureIterator( QgsSensorThingsFeatureSource *source,
bool ownSource,
const QgsFeatureRequest &request );
45 ~QgsSensorThingsFeatureIterator()
override;
48 void setInterruptionChecker( QgsFeedback *interruptionChecker ) final;
51 bool fetchFeature( QgsFeature &f ) final;
65 QgsCoordinateTransform mTransform;
66 QgsRectangle mFilterRect;
67 QgsRectangle mGeometryTestFilterRect;
68 QgsGeometry mDistanceWithinGeom;
69 std::unique_ptr< QgsGeometryEngine > mDistanceWithinEngine;
71 QgsFeedback *mInterruptionChecker =
nullptr;
72 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