2012-05-12 20:38:58 +02:00
|
|
|
|
|
|
|
class QgsFeatureRequest
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsfeaturerequest.h>
|
|
|
|
%End
|
|
|
|
|
2012-07-21 19:04:21 +02:00
|
|
|
public:
|
|
|
|
enum Flag
|
|
|
|
{
|
2013-06-23 16:00:16 +02:00
|
|
|
NoFlags = 0,
|
|
|
|
NoGeometry = 1,
|
|
|
|
SubsetOfAttributes = 2,
|
|
|
|
ExactIntersect = 4
|
2012-07-21 19:04:21 +02:00
|
|
|
};
|
|
|
|
typedef QFlags<QgsFeatureRequest::Flag> Flags;
|
|
|
|
|
|
|
|
enum FilterType
|
|
|
|
{
|
2013-05-20 22:45:31 +02:00
|
|
|
FilterNone, //!< No filter is applied
|
|
|
|
FilterRect, //!< Filter using a rectangle
|
|
|
|
FilterFid, //!< Filter using feature ID
|
|
|
|
FilterExpression, //!< Filter using expression
|
|
|
|
FilterFids //!< Filter using feature IDs
|
2012-07-21 19:04:21 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
//! construct a default request: for all features get attributes and geometries
|
|
|
|
QgsFeatureRequest();
|
2013-03-19 22:32:36 +01:00
|
|
|
//! construct a request with feature ID filter
|
|
|
|
explicit QgsFeatureRequest( QgsFeatureId fid );
|
|
|
|
//! construct a request with rectangle filter
|
|
|
|
explicit QgsFeatureRequest( const QgsRectangle& rect );
|
2013-10-31 13:16:23 +01:00
|
|
|
//! construct a request with a filter expression
|
|
|
|
explicit QgsFeatureRequest( const QgsExpression& expression );
|
2012-07-21 19:04:21 +02:00
|
|
|
|
|
|
|
FilterType filterType() const;
|
|
|
|
|
|
|
|
//! Set rectangle from which features will be taken. Empty rectangle removes the filter.
|
|
|
|
//!
|
|
|
|
QgsFeatureRequest& setFilterRect( const QgsRectangle& rect );
|
|
|
|
const QgsRectangle& filterRect() const;
|
|
|
|
|
|
|
|
//! Set feature ID that should be fetched.
|
|
|
|
QgsFeatureRequest& setFilterFid( qint64 fid );
|
2013-01-29 08:50:35 +01:00
|
|
|
qint64 filterFid() const;
|
2012-07-21 19:04:21 +02:00
|
|
|
|
2013-05-20 22:45:31 +02:00
|
|
|
//! Set feature ID that should be fetched.
|
|
|
|
QgsFeatureRequest& setFilterFids( QgsFeatureIds fids );
|
|
|
|
const QgsFeatureIds& filterFids() const;
|
|
|
|
|
|
|
|
//! Set filter expression. Ownership is taken.
|
|
|
|
QgsFeatureRequest& setFilterExpression( const QString& expression );
|
|
|
|
QgsExpression* filterExpression() const;
|
|
|
|
|
2012-07-21 19:04:21 +02:00
|
|
|
//! Set flags that affect how features will be fetched
|
|
|
|
QgsFeatureRequest& setFlags( Flags flags );
|
|
|
|
const Flags& flags() const;
|
|
|
|
|
|
|
|
//! Set a subset of attributes that will be fetched. Empty list means that all attributes are used.
|
|
|
|
//! To disable fetching attributes, reset the FetchAttributes flag (which is set by default)
|
|
|
|
QgsFeatureRequest& setSubsetOfAttributes( const QgsAttributeList& attrs );
|
|
|
|
const QgsAttributeList& subsetOfAttributes() const;
|
|
|
|
|
|
|
|
//! Set a subset of attributes by names that will be fetched
|
2012-10-20 22:19:55 +02:00
|
|
|
QgsFeatureRequest& setSubsetOfAttributes( const QStringList& attrNames, const QgsFields& fields );
|
2012-05-12 20:38:58 +02:00
|
|
|
|
|
|
|
};
|