15 #ifndef QGSRASTERITERATOR_H
16 #define QGSRASTERITERATOR_H
18 #include "qgis_core.h"
85 bool readNextRasterPart(
int bandNumber,
86 int &nCols,
int &nRows,
88 int &topLeftCol,
int &topLeftRow );
103 bool readNextRasterPart(
int bandNumber,
104 int &nCols,
int &nRows,
105 std::unique_ptr< QgsRasterBlock > &block,
106 int &topLeftCol,
int &topLeftRow,
112 void stopRasterRead(
int bandNumber );
148 static const int DEFAULT_MAXIMUM_TILE_WIDTH = 2000;
151 static const int DEFAULT_MAXIMUM_TILE_HEIGHT = 2000;
155 struct RasterPartInfo
164 QMap<int, RasterPartInfo> mRasterPartInfos;
168 int mMaximumTileWidth;
169 int mMaximumTileHeight;
172 void removePartInfo(
int bandNumber );
173 bool readNextRasterPartInternal(
int bandNumber,
int &nCols,
int &nRows, std::unique_ptr<QgsRasterBlock> *block,
int &topLeftCol,
int &topLeftRow,
QgsRectangle *blockExtent );
176 #endif // QGSRASTERITERATOR_H