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 );
156 int matrixCol(
int destCol );
159 inline bool preciseSrcRowCol(
int destRow,
int destCol,
int *srcRow,
int *srcCol );
162 inline bool approximateSrcRowCol(
int destRow,
int destCol,
int *srcRow,
int *srcCol );
180 void calcSrcExtent();
183 void calcSrcRowsCols();
196 void calcHelper(
int matrixRow,
QgsPointXY *points );
202 QString cpToString();
246 double mDestRowsPerMatrixRow;
249 double mDestColsPerMatrixCol;
252 QList< QList<QgsPointXY> > mCPMatrix;
256 QList< QList<bool> > mCPLegalMatrix;
275 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
Returns the 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.