QGIS/python/core/qgsvectorlayerfeatureiterator.sip

48 lines
1.6 KiB
Plaintext
Raw Normal View History

// abstract feature iterator implementations are not part of public API
2014-05-27 23:22:50 +02:00
class QgsVectorLayerFeatureIterator : QgsAbstractFeatureIterator
{
%TypeHeaderCode
#include <qgsvectorlayerfeatureiterator.h>
%End
public:
~QgsVectorLayerFeatureIterator();
//! reset the iterator to the starting position
virtual bool rewind();
//! end of iterating: free the resources / lock
virtual bool close();
protected:
2014-05-27 23:22:50 +02:00
//! fetch next feature, return true on success
virtual bool fetchFeature( QgsFeature& feature );
//! Overrides default method as we only need to filter features in the edit buffer
//! while for others filtering is left to the provider implementation.
virtual bool nextFeatureFilterExpression( QgsFeature &f );
//! Setup the simplification of geometries to fetch using the specified simplify method
virtual bool prepareSimplification( const QgsSimplifyMethod& simplifyMethod );
void rewindEditBuffer();
void prepareJoins();
bool fetchNextAddedFeature( QgsFeature& f );
bool fetchNextChangedGeomFeature( QgsFeature& f );
2014-01-26 18:35:21 +01:00
bool fetchNextChangedAttributeFeature( QgsFeature& f );
void useAddedFeature( const QgsFeature& src, QgsFeature& f );
void useChangedAttributeFeature( QgsFeatureId fid, const QgsGeometry& geom, QgsFeature& f );
bool nextFeatureFid( QgsFeature& f );
void addJoinedAttributes( QgsFeature &f );
2014-01-26 18:35:21 +01:00
/** Update feature with uncommited attribute updates */
2014-05-27 23:22:50 +02:00
void updateChangedAttributes( QgsFeature& f );
2014-01-26 18:35:21 +01:00
/** Update feature with uncommited geometry updates */
2014-05-27 23:22:50 +02:00
void updateFeatureGeometry( QgsFeature& f );
private:
QgsVectorLayerFeatureIterator();
};