15 #ifndef QGSVECTORLAYERFEATUREITERATOR_H
16 #define QGSVECTORLAYERFEATUREITERATOR_H
105 void rewindEditBuffer();
108 bool fetchNextChangedGeomFeature(
QgsFeature& f );
109 bool fetchNextChangedAttributeFeature(
QgsFeature& f );
116 void updateChangedAttributes(
QgsFeature& f );
133 void addJoinedAttributesCached(
QgsFeature& f,
const QVariant& joinValue )
const;
134 void addJoinedAttributesDirect(
QgsFeature& f,
const QVariant& joinValue )
const;
149 #endif // QGSVECTORLAYERFEATUREITERATOR_H
QgsAbstractFeatureSource * mProviderFeatureSource
Wrapper for iterator of features from vector data provider or vector layer.
QMap< QgsFeatureId, QgsGeometry > QgsGeometryMap
virtual bool close()=0
end of iterating: free the resources / lock
QgsVectorLayerJoinBuffer * mJoinBuffer
virtual bool nextFeatureFilterExpression(QgsFeature &f)
Overrides default method as we only need to filter features in the edit buffer while for others filte...
QgsFeatureIterator mProviderIterator
QgsFeatureMap::ConstIterator mFetchAddedFeaturesIt
QgsGeometryMap::ConstIterator mFetchChangedGeomIt
virtual bool fetchFeature(QgsFeature &f)=0
If you write a feature iterator for your provider, this is the method you need to implement!! ...
QSet< QgsFeatureId > QgsFeatureIds
virtual bool providerCanSimplify(QgsSimplifyMethod::MethodType methodType) const
returns whether the iterator supports simplify geometries on provider side
QMap< QgsFeatureId, QgsFeature > QgsFeatureMap
virtual bool rewind()=0
reset the iterator to the starting position
virtual QgsFeatureIterator getFeatures(const QgsFeatureRequest &request)
Container of fields for a vector layer.
QList< QgsField > mAddedAttributes
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
QgsVectorLayer * joinLayer
resolved pointer to the joined layer
Manages joined fields for a vector layer.
int joinField
index of field (of the joined layer) must have equal value
QgsFeatureRequest mChangedFeaturesRequest
QMap< QgsVectorLayer *, FetchJoinInfo > mFetchJoinInfo
information about joins used in the current select() statement.
const QgsVectorJoinInfo * joinInfo
cannonical source of information about the join
This class wraps a request for features to a vector layer (or directly its vector data provider)...
QList< int > QgsAttributeList
QgsFeatureRequest mProviderRequest
QgsGeometryMap mChangedGeometries
QgsFeatureIds mDeletedFeatureIds
QgsAttributeList mDeletedAttributeIds
base class that can be used for any class that is capable of returning features
QSet< QgsFeatureId > mFetchConsidered
Partial snapshot of vector layer's state (only the members necessary for access to features) ...
QgsVectorLayerFeatureSource(QgsVectorLayer *layer)
int indexOffset
at what position the joined fields start
QMap< QgsFeatureId, QgsFeature > QgsFeatureMap
int targetField
index of field (of this layer) that drives the join
~QgsVectorLayerFeatureSource()
QMap< QgsFeatureId, QgsAttributeMap > QgsChangedAttributesMap
QgsFeatureMap mAddedFeatures
Join information prepared for fast attribute id mapping in QgsVectorLayerJoinBuffer::updateFeatureAtt...
This class contains information about how to simplify geometries fetched from a QgsFeatureIterator.
QgsChangedAttributesMap mChangedAttributeValues
Represents a vector layer which manages a vector based data sets.
QgsAbstractGeometrySimplifier * mEditGeometrySimplifier
optional object to locally simplify edited (changed or added) geometries fetched by this feature iter...
virtual bool prepareSimplification(const QgsSimplifyMethod &simplifyMethod)
Setup the simplification of geometries to fetch using the specified simplify method.
Abstract base class for simplify geometries using a specific algorithm.
QgsAttributeList attributes
attributes to fetch
QgsFeatureIterator mChangedFeaturesIterator
helper template that cares of two things: 1.