/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/raster/qgsrasteriterator.h                                  *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/



class QgsRasterIterator
{
%Docstring
Iterator for sequentially processing raster cells.
%End

%TypeHeaderCode
#include "qgsrasteriterator.h"
%End
  public:

    QgsRasterIterator( QgsRasterInterface *input );

    void startRasterRead( int bandNumber, int nCols, int nRows, const QgsRectangle &extent, QgsRasterBlockFeedback *feedback = 0 );
%Docstring
Start reading of raster band. Raster data can then be retrieved by calling readNextRasterPart until it returns false.

:param bandNumber: number of raster band to read
:param nCols: number of columns
:param nRows: number of rows
:param extent: area to read
:param feedback: optional raster feedback object for cancelation/preview. Added in QGIS 3.0.
%End

    bool readNextRasterPart( int bandNumber,
                             int &nCols, int &nRows,
                             QgsRasterBlock **block,
                             int &topLeftCol, int &topLeftRow );
%Docstring
Fetches next part of raster data, caller takes ownership of the block and
caller should delete the block.

:param bandNumber: band to read
:param nCols: number of columns on output device
:param nRows: number of rows on output device
:param block: address of block pointer
:param topLeftCol: top left column
:param topLeftRow: top left row

:return: false if the last part was already returned*
%End

    void stopRasterRead( int bandNumber );

    const QgsRasterInterface *input() const;

    void setMaximumTileWidth( int w );
    int maximumTileWidth() const;

    void setMaximumTileHeight( int h );
    int maximumTileHeight() const;

    static const int DEFAULT_MAXIMUM_TILE_WIDTH;
    static const int DEFAULT_MAXIMUM_TILE_HEIGHT;

};

/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/raster/qgsrasteriterator.h                                  *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/