30 #ifndef GDALWARPER_H_INCLUDED
31 #define GDALWARPER_H_INCLUDED
58 (*GDALMaskFunc)(
void *pMaskFuncArg,
61 int nXSize,
int nYSize,
62 GByte **papabyImageData,
63 int bMaskIsFloat,
void *pMask );
66 GDALWarpNoDataMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
67 int nXOff,
int nYOff,
int nXSize,
int nYSize,
68 GByte **papabyImageData,
int bMaskIsFloat,
69 void *pValidityMask );
72 GDALWarpDstAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
73 int nXOff,
int nYOff,
int nXSize,
int nYSize,
75 int bMaskIsFloat,
void *pValidityMask );
77 GDALWarpSrcAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
78 int nXOff,
int nYOff,
int nXSize,
int nYSize,
80 int bMaskIsFloat,
void *pValidityMask );
83 GDALWarpSrcMaskMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
84 int nXOff,
int nYOff,
int nXSize,
int nYSize,
86 int bMaskIsFloat,
void *pValidityMask );
89 GDALWarpCutlineMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
90 int nXOff,
int nYOff,
int nXSize,
int nYSize,
92 int bMaskIsFloat,
void *pValidityMask );
159 GDALMaskFunc *papfnSrcPerBandValidityMaskFunc;
160 void **papSrcPerBandValidityMaskFuncArg;
162 GDALMaskFunc pfnSrcValidityMaskFunc;
163 void *pSrcValidityMaskFuncArg;
165 GDALMaskFunc pfnSrcDensityMaskFunc;
166 void *pSrcDensityMaskFuncArg;
168 GDALMaskFunc pfnDstDensityMaskFunc;
169 void *pDstDensityMaskFuncArg;
171 GDALMaskFunc pfnDstValidityMaskFunc;
172 void *pDstValidityMaskFuncArg;
174 CPLErr (*pfnPreWarpChunkProcessor)(
void *pKern,
void *pArg );
175 void *pPreWarpProcessorArg;
177 CPLErr (*pfnPostWarpChunkProcessor)(
void *pKern,
void *pArg);
178 void *pPostWarpProcessorArg;
202 CPLErr CPL_DLL CPL_STDCALL
203 GDALReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
207 GDALProgressFunc pfnProgress,
void *pProgressArg,
210 CPLErr CPL_DLL CPL_STDCALL
211 GDALCreateAndReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
212 const char *pszDstFilename,
const char *pszDstWKT,
216 GDALProgressFunc pfnProgress,
void *pProgressArg,
225 const char *pszSrcWKT,
const char *pszDstWKT,
231 int nPixels,
int nLines,
double *padfGeoTransform,
234 CPLErr CPL_DLL CPL_STDCALL
257 #define WARP_EXTRA_ELTS 1
262 char **papszWarpOptions;
303 double dfProgressBase;
304 double dfProgressScale;
306 double *padfDstNoDataReal;
312 CPLErr PerformWarp();
330 int ValidateOptions();
332 CPLErr ComputeSourceWindow(
int nDstXOff,
int nDstYOff,
333 int nDstXSize,
int nDstYSize,
334 int *pnSrcXOff,
int *pnSrcYOff,
335 int *pnSrcXSize,
int *pnSrcYSize );
338 const char *pszType );
350 unsigned long nLastTimeReported;
352 void WipeChunkList();
353 CPLErr CollectChunkList(
int nDstXOff,
int nDstYOff,
354 int nDstXSize,
int nDstYSize );
355 void ReportTiming(
const char * );
365 CPLErr ChunkAndWarpImage(
int nDstXOff,
int nDstYOff,
366 int nDstXSize,
int nDstYSize );
367 CPLErr ChunkAndWarpMulti(
int nDstXOff,
int nDstYOff,
368 int nDstXSize,
int nDstYSize );
369 CPLErr WarpRegion(
int nDstXOff,
int nDstYOff,
370 int nDstXSize,
int nDstYSize,
371 int nSrcXOff=0,
int nSrcYOff=0,
372 int nSrcXSize=0,
int nSrcYSize=0,
373 double dfProgressBase=0.0,
double dfProgressScale=1.0);
375 CPLErr WarpRegionToBuffer(
int nDstXOff,
int nDstYOff,
376 int nDstXSize,
int nDstYSize,
379 int nSrcXOff=0,
int nSrcYOff=0,
380 int nSrcXSize=0,
int nSrcYSize=0,
381 double dfProgressBase=0.0,
double dfProgressScale=1.0);
388 typedef void * GDALWarpOperationH;
395 int,
int,
int,
int,
int,
int,
int,
int );
398 int,
int,
int,
int );