QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
QgsCacheIndexFeatureId Class Reference

#include <qgscacheindexfeatureid.h>

Inheritance diagram for QgsCacheIndexFeatureId:
Inheritance graph
[legend]
Collaboration diagram for QgsCacheIndexFeatureId:
Collaboration graph
[legend]

Public Member Functions

 QgsCacheIndexFeatureId (QgsVectorLayerCache *)
virtual void flushFeature (const QgsFeatureId fid)
 Is called, whenever a feature is removed from the cache.
virtual void flush ()
 Sometimes, the whole cache changes its state and its easier to just withdraw everything.
virtual void requestCompleted (QgsFeatureRequest featureRequest, QgsFeatureIds fids)
 Implement this method to update the the indices, in case you need information contained by the request to properly index.
virtual bool getCacheIterator (QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest)
 Is called, when a feature request is issued on a cached layer.
- Public Member Functions inherited from QgsAbstractCacheIndex
 QgsAbstractCacheIndex ()
virtual ~QgsAbstractCacheIndex ()

Private Attributes

QgsVectorLayerCacheC

Detailed Description

Definition at line 23 of file qgscacheindexfeatureid.h.

Constructor & Destructor Documentation

QgsCacheIndexFeatureId::QgsCacheIndexFeatureId ( QgsVectorLayerCache cachedVectorLayer)

Definition at line 21 of file qgscacheindexfeatureid.cpp.

Member Function Documentation

void QgsCacheIndexFeatureId::flush ( )
virtual

Sometimes, the whole cache changes its state and its easier to just withdraw everything.

In this case, this method is issued. Be sure to clear all cache information in here.

Implements QgsAbstractCacheIndex.

Definition at line 33 of file qgscacheindexfeatureid.cpp.

void QgsCacheIndexFeatureId::flushFeature ( const QgsFeatureId  fid)
virtual

Is called, whenever a feature is removed from the cache.

You should update your indexes, so they become invalid in case this feature was required to successfuly answer a request.

Implements QgsAbstractCacheIndex.

Definition at line 28 of file qgscacheindexfeatureid.cpp.

bool QgsCacheIndexFeatureId::getCacheIterator ( QgsFeatureIterator featureIterator,
const QgsFeatureRequest featureRequest 
)
virtual

Is called, when a feature request is issued on a cached layer.

If this cache index is able to completely answer the feature request, it will return true and write the list of feature ids of cached features to cachedFeatures. If it is not able it will return false and the cachedFeatures state is undefined.

Parameters
featureIteratorA reference to a QgsFeatureIterator. A valid featureIterator will be assigned in case this index is able to answer the request and the return value is true.
featureRequestThe feature request, for which this index is queried.
Returns
True, if this index holds the information to answer the request.

Implements QgsAbstractCacheIndex.

Definition at line 43 of file qgscacheindexfeatureid.cpp.

References C, QgsFeatureRequest::FilterFid, QgsFeatureRequest::filterFid(), QgsFeatureRequest::filterType(), and QgsVectorLayerCache::isFidCached().

void QgsCacheIndexFeatureId::requestCompleted ( QgsFeatureRequest  featureRequest,
QgsFeatureIds  fids 
)
virtual

Implement this method to update the the indices, in case you need information contained by the request to properly index.

(E.g. spatial index) Does nothing by default

Parameters
featureRequestThe feature request that was answered
fidsThe feature ids that have been returned

Reimplemented from QgsAbstractCacheIndex.

Definition at line 37 of file qgscacheindexfeatureid.cpp.

Member Data Documentation

QgsVectorLayerCache* QgsCacheIndexFeatureId::C
private

Definition at line 68 of file qgscacheindexfeatureid.h.

Referenced by getCacheIterator().


The documentation for this class was generated from the following files: