23 #ifndef QGSRASTERPROJECTOR_H 24 #define QGSRASTERPROJECTOR_H 26 #include "qgis_core.h" 68 int bandCount() const override;
70 Qgis::DataType dataType(
int bandNo ) const override;
74 int srcDatumTransform = -1,
int destDatumTransform = -1 );
85 static QString precisionLabel(
Precision precision );
90 bool destExtentSize(
const QgsRectangle &srcExtent,
int srcXSize,
int srcYSize,
95 const QgsRectangle &srcExtent,
int srcXSize,
int srcYSize,
96 QgsRectangle &destExtent SIP_OUT,
int &destXSize SIP_OUT,
int &destYSize SIP_OUT );
107 int mSrcDatumTransform = -1;
110 int mDestDatumTransform = -1;
133 ProjectorData(
const ProjectorData &other ) =
delete;
134 ProjectorData &operator=(
const ProjectorData &other ) =
delete;
141 bool srcRowCol(
int destRow,
int destCol,
int *srcRow,
int *srcCol );
144 int srcRows()
const {
return mSrcRows; }
145 int srcCols()
const {
return mSrcCols; }
150 void destPointOnCPMatrix(
int row,
int col,
double *theX,
double *theY );
153 int matrixRow(
int destRow );
154 int matrixCol(
int destCol );
157 inline bool preciseSrcRowCol(
int destRow,
int destCol,
int *srcRow,
int *srcCol );
160 inline bool approximateSrcRowCol(
int destRow,
int destCol,
int *srcRow,
int *srcCol );
178 void calcSrcExtent();
181 void calcSrcRowsCols();
194 void calcHelper(
int matrixRow,
QgsPointXY *points );
200 QString cpToString();
244 double mDestRowsPerMatrixRow;
247 double mDestColsPerMatrixCol;
250 QList< QList<QgsPointXY> > mCPMatrix;
254 QList< QList<bool> > mCPLegalMatrix;
273 double mSqrTolerance;
A rectangle specified with double values.
Precision precision() const
A class to represent a 2D point.
The Qgis class provides global constants for use throughout the application.
virtual QgsRasterBlock * block(int bandNo, const QgsRectangle &extent, int width, int height, QgsRasterBlockFeedback *feedback=nullptr)=0
Read block of data using given extent and size.
Base class for processing filters like renderers, reprojector, resampler etc.
void setPrecision(Precision precision)
QgsRasterProjector implements approximate projection support for it calculates grid of points in sour...
QgsCoordinateReferenceSystem destinationCrs() const
Get destination CRS.
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.
This class represents a coordinate reference system (CRS).
Feedback object tailored for raster block reading.