30 #ifndef GDALWARPER_H_INCLUDED
31 #define GDALWARPER_H_INCLUDED
56 (*GDALMaskFunc)(
void *pMaskFuncArg,
59 int nXSize,
int nYSize,
60 GByte **papabyImageData,
61 int bMaskIsFloat,
void *pMask );
64 GDALWarpNoDataMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
65 int nXOff,
int nYOff,
int nXSize,
int nYSize,
66 GByte **papabyImageData,
int bMaskIsFloat,
67 void *pValidityMask );
70 GDALWarpDstAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
71 int nXOff,
int nYOff,
int nXSize,
int nYSize,
73 int bMaskIsFloat,
void *pValidityMask );
75 GDALWarpSrcAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
76 int nXOff,
int nYOff,
int nXSize,
int nYSize,
78 int bMaskIsFloat,
void *pValidityMask );
81 GDALWarpSrcMaskMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
82 int nXOff,
int nYOff,
int nXSize,
int nYSize,
84 int bMaskIsFloat,
void *pValidityMask );
87 GDALWarpCutlineMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
88 int nXOff,
int nYOff,
int nXSize,
int nYSize,
90 int bMaskIsFloat,
void *pValidityMask );
157 GDALMaskFunc *papfnSrcPerBandValidityMaskFunc;
158 void **papSrcPerBandValidityMaskFuncArg;
160 GDALMaskFunc pfnSrcValidityMaskFunc;
161 void *pSrcValidityMaskFuncArg;
163 GDALMaskFunc pfnSrcDensityMaskFunc;
164 void *pSrcDensityMaskFuncArg;
166 GDALMaskFunc pfnDstDensityMaskFunc;
167 void *pDstDensityMaskFuncArg;
169 GDALMaskFunc pfnDstValidityMaskFunc;
170 void *pDstValidityMaskFuncArg;
172 CPLErr (*pfnPreWarpChunkProcessor)(
void *pKern,
void *pArg );
173 void *pPreWarpProcessorArg;
175 CPLErr (*pfnPostWarpChunkProcessor)(
void *pKern,
void *pArg);
176 void *pPostWarpProcessorArg;
200 CPLErr CPL_DLL CPL_STDCALL
201 GDALReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
208 CPLErr CPL_DLL CPL_STDCALL
209 GDALCreateAndReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
210 const char *pszDstFilename,
const char *pszDstWKT,
223 const char *pszSrcWKT,
const char *pszDstWKT,
229 int nPixels,
int nLines,
double *padfGeoTransform,
232 CPLErr CPL_DLL CPL_STDCALL
253 char **papszWarpOptions;
294 double dfProgressBase;
295 double dfProgressScale;
297 double *padfDstNoDataReal;
303 CPLErr PerformWarp();
321 int ValidateOptions();
323 CPLErr ComputeSourceWindow(
int nDstXOff,
int nDstYOff,
324 int nDstXSize,
int nDstYSize,
325 int *pnSrcXOff,
int *pnSrcYOff,
326 int *pnSrcXSize,
int *pnSrcYSize );
329 const char *pszType );
341 unsigned long nLastTimeReported;
343 void WipeChunkList();
344 CPLErr CollectChunkList(
int nDstXOff,
int nDstYOff,
345 int nDstXSize,
int nDstYSize );
346 void ReportTiming(
const char * );
356 CPLErr ChunkAndWarpImage(
int nDstXOff,
int nDstYOff,
357 int nDstXSize,
int nDstYSize );
358 CPLErr ChunkAndWarpMulti(
int nDstXOff,
int nDstYOff,
359 int nDstXSize,
int nDstYSize );
360 CPLErr WarpRegion(
int nDstXOff,
int nDstYOff,
361 int nDstXSize,
int nDstYSize,
362 int nSrcXOff=0,
int nSrcYOff=0,
363 int nSrcXSize=0,
int nSrcYSize=0,
364 double dfProgressBase=0.0,
double dfProgressScale=1.0);
366 CPLErr WarpRegionToBuffer(
int nDstXOff,
int nDstYOff,
367 int nDstXSize,
int nDstYSize,
370 int nSrcXOff=0,
int nSrcYOff=0,
371 int nSrcXSize=0,
int nSrcYSize=0,
372 double dfProgressBase=0.0,
double dfProgressScale=1.0);
379 typedef void * GDALWarpOperationH;
386 int,
int,
int,
int,
int,
int,
int,
int );
389 int,
int,
int,
int );