23 #ifndef QGSRASTERPROJECTOR_H 24 #define QGSRASTERPROJECTOR_H 60 int theSrcDatumTransform,
61 int theDestDatumTransform,
63 int theDestRows,
int theDestCols,
64 double theMaxSrcXRes,
double theMaxSrcYRes,
72 int theDestRows,
int theDestCols,
73 double theMaxSrcXRes,
double theMaxSrcYRes,
80 double theMaxSrcXRes,
double theMaxSrcYRes,
105 int srcDatumTransform = -1,
int destDatumTransform = -1 );
114 Q_DECL_DEPRECATED
void setMaxSrcRes(
double theMaxSrcXRes,
double theMaxSrcYRes ) { Q_UNUSED( theMaxSrcXRes ); Q_UNUSED( theMaxSrcYRes ); }
125 bool destExtentSize(
const QgsRectangle& theSrcExtent,
int theSrcXSize,
int theSrcYSize,
126 QgsRectangle& theDestExtent,
int& theDestXSize,
int& theDestYSize );
130 const QgsRectangle& theSrcExtent,
int theSrcXSize,
int theSrcYSize,
131 QgsRectangle& theDestExtent,
int& theDestXSize,
int& theDestYSize );
142 int mSrcDatumTransform;
145 int mDestDatumTransform;
170 bool srcRowCol(
int theDestRow,
int theDestCol,
int *theSrcRow,
int *theSrcCol );
173 int srcRows()
const {
return mSrcRows; }
174 int srcCols()
const {
return mSrcCols; }
178 void destPointOnCPMatrix(
int theRow,
int theCol,
double *theX,
double *theY );
181 int matrixRow(
int theDestRow );
182 int matrixCol(
int theDestCol );
185 inline bool preciseSrcRowCol(
int theDestRow,
int theDestCol,
int *theSrcRow,
int *theSrcCol );
188 inline bool approximateSrcRowCol(
int theDestRow,
int theDestCol,
int *theSrcRow,
int *theSrcCol );
206 void calcSrcExtent();
209 void calcSrcRowsCols();
220 void calcHelper(
int theMatrixRow,
QgsPoint *thePoints );
269 double mDestRowsPerMatrixRow;
272 double mDestColsPerMatrixCol;
298 double mSqrTolerance;
virtual int bandCount() const =0
Get number of bands.
A rectangle specified with double values.
Precision precision() const
Q_DECL_DEPRECATED void setMaxSrcRes(double theMaxSrcXRes, double theMaxSrcYRes)
QgsCoordinateReferenceSystem srcCrs() const
Get source CRS.
virtual QgsRasterBlock * block2(int bandNo, const QgsRectangle &extent, int width, int height, QgsRasterBlockFeedback *feedback=nullptr)
Read block of data using given extent and size.
QgsCoordinateReferenceSystem destCrs() const
Get destination CRS.
virtual QGis::DataType dataType(int bandNo) const =0
Returns data type for the band specified by number.
Base class for processing filters like renderers, reprojector, resampler etc.
A class to represent a point.
void setPrecision(Precision precision)
QgsRasterProjector implements approximate projection support for it calculates grid of points in sour...
Precision
Precision defines if each pixel is reprojected or approximate reprojection based on an approximation ...
virtual QgsRasterInterface * clone() const =0
Clone itself, create deep copy.
Class for storing a coordinate reference system (CRS)
DataType
Raster data types.
virtual QgsRasterBlock * block(int bandNo, const QgsRectangle &extent, int width, int height)=0
Read block of data using given extent and size.
Feedback object tailored for raster block reading.