Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Add QgsFeatureSource interface as interface for classes which
provide feature iterators via a getFeatures method
- Loading branch information
Showing
with
93 additions
and 0 deletions.
- +1 −0 python/core/core.sip
- +43 −0 python/core/qgsfeaturesource.sip
- +1 −0 src/core/CMakeLists.txt
- +48 −0 src/core/qgsfeaturesource.h
@@ -0,0 +1,43 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsfeaturesource.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
class QgsFeatureSource | ||
{ | ||
%Docstring | ||
An interface for objects which provide features via a getFeatures method. | ||
|
||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsfeaturesource.h" | ||
%End | ||
public: | ||
|
||
virtual ~QgsFeatureSource(); | ||
|
||
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const = 0; | ||
%Docstring | ||
Returns an iterator for the features in the source. | ||
An optional ``request`` can be used to optimise the returned | ||
iterator, eg by restricting the returned attributes or geometry. | ||
:rtype: QgsFeatureIterator | ||
%End | ||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsfeaturesource.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
@@ -0,0 +1,48 @@ | ||
/*************************************************************************** | ||
qgsfeaturesource.h | ||
---------------- | ||
begin : May 2017 | ||
copyright : (C) 2017 by Nyall Dawson | ||
email : nyall dot dawson at gmail dot com | ||
***************************************************************************/ | ||
|
||
/*************************************************************************** | ||
* * | ||
* This program is free software; you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation; either version 2 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
***************************************************************************/ | ||
|
||
#ifndef QGSFEATURESOURCE_H | ||
#define QGSFEATURESOURCE_H | ||
|
||
#include "qgis_core.h" | ||
#include "qgis.h" | ||
#include "qgsfeature.h" | ||
#include "qgsfeatureiterator.h" | ||
|
||
/** | ||
* \class QgsFeatureSource | ||
* \ingroup core | ||
* An interface for objects which provide features via a getFeatures method. | ||
* | ||
* \since QGIS 3.0 | ||
*/ | ||
class CORE_EXPORT QgsFeatureSource | ||
{ | ||
public: | ||
|
||
virtual ~QgsFeatureSource() = default; | ||
|
||
/** | ||
* Returns an iterator for the features in the source. | ||
* An optional \a request can be used to optimise the returned | ||
* iterator, eg by restricting the returned attributes or geometry. | ||
*/ | ||
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const = 0; | ||
|
||
}; | ||
|
||
#endif // QGSFEATURESOURCE_H |