QGIS/python/core/raster/qgsrasteriterator.sip

52 lines
1.7 KiB
Plaintext
Raw Normal View History

class QgsRasterIterator
{
%TypeHeaderCode
#include <qgsrasteriterator.h>
%End
public:
//Stores information about reading of a raster band. Columns and rows are in unsampled coordinates
struct RasterPartInfo
{
int currentCol;
int currentRow;
int nCols;
int nRows;
QgsRasterBlock *block;
QgsRasterProjector* prj; //raster projector (or 0 if no reprojection is done)
};
QgsRasterIterator( QgsRasterInterface* input );
~QgsRasterIterator();
/**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
*/
void startRasterRead( int bandNumber, int nCols, int nRows, const QgsRectangle& extent );
/**Fetches next part of raster data
@param bandNumber band to read
@param nCols number of columns on output device
@param nRows number of rows on output device
2012-10-11 16:11:45 +02:00
@param block to return the pointer to raster block
@param topLeftCol top left column
@param topLeftRow top left row
@return false if the last part was already returned*/
bool readNextRasterPart( int bandNumber,
int& nCols, int& nRows,
2012-10-11 16:11:45 +02:00
QgsRasterBlock** block,
int& topLeftCol, int& topLeftRow );
void stopRasterRead( int bandNumber );
const QgsRasterInterface* input() const;
void setMaximumTileWidth( int w );
int maximumTileWidth() const;
void setMaximumTileHeight( int h );
int maximumTileHeight() const;
};