32 #ifndef GDAL_ALG_PRIV_H_INCLUDED 33 #define GDAL_ALG_PRIV_H_INCLUDED 42 typedef enum { GBV_UserBurnValue = 0, GBV_Z = 1, GBV_M = 2
54 unsigned char * pabyChunkBuf;
59 double *padfBurnValue;
60 GDALBurnValueSrc eBurnValueSource;
61 GDALRasterMergeAlg eMergeAlg;
68 typedef void (*llScanlineFunc)(
void *, int, int, int, double );
69 typedef void (*llPointFunc)(
void *, int, int, double );
71 void GDALdllImagePoint(
int nRasterXSize,
int nRasterYSize,
72 int nPartCount,
int *panPartSize,
73 double *padfX,
double *padfY,
double *padfVariant,
74 llPointFunc pfnPointFunc,
void *pCBData );
76 void GDALdllImageLine(
int nRasterXSize,
int nRasterYSize,
77 int nPartCount,
int *panPartSize,
78 double *padfX,
double *padfY,
double *padfVariant,
79 llPointFunc pfnPointFunc,
void *pCBData );
81 void GDALdllImageLineAllTouched(
int nRasterXSize,
int nRasterYSize,
82 int nPartCount,
int *panPartSize,
83 double *padfX,
double *padfY,
85 llPointFunc pfnPointFunc,
void *pCBData );
87 void GDALdllImageFilledPolygon(
int nRasterXSize,
int nRasterYSize,
88 int nPartCount,
int *panPartSize,
89 double *padfX,
double *padfY,
91 llScanlineFunc pfnScanlineFunc,
void *pCBData );
99 #define GP_NODATA_MARKER -51502112 101 template<
class DataType,
class EqualityTest>
class GDALRasterPolygonEnumeratorT
105 void MergePolygon(
int nSrcId,
int nDstId );
106 int NewPolygon( DataType nValue );
111 DataType *panPolyValue;
119 explicit GDALRasterPolygonEnumeratorT(
int nConnectedness=4 );
120 ~GDALRasterPolygonEnumeratorT();
122 void ProcessLine( DataType *panLastLineVal, DataType *panThisLineVal,
126 void CompleteMerges();
131 struct IntEqualityTest
136 typedef GDALRasterPolygonEnumeratorT<GInt32, IntEqualityTest> GDALRasterPolygonEnumerator;
138 typedef void* (*GDALTransformDeserializeFunc)(
CPLXMLNode *psTree );
140 void* GDALRegisterTransformDeserializer(
const char* pszTransformName,
142 GDALTransformDeserializeFunc pfnDeserializeFunc);
143 void GDALUnregisterTransformDeserializer(
void* pData);
145 void GDALCleanupTransformDeserializerMutex();
149 void* GDALCreateTPSTransformerInt(
int nGCPCount,
const GDAL_GCP *pasGCPList,
150 int bReversed,
char** papszOptions );
152 void CPL_DLL * GDALCloneTransformer(
void *pTransformerArg );
159 template<
class T>
int 164 GByte* pabyGreenBand,
166 int (*pfnIncludePixel)(
int,
int,
void*),
171 GDALProgressFunc pfnProgress,
172 void * pProgressArg );
180 GInt16* pasDynamicColorMap,
182 GDALProgressFunc pfnProgress,
183 void * pProgressArg );
185 #define PRIME_FOR_65536 98317 190 #define MEDIAN_CUT_AND_DITHER_BUFFER_SIZE_65536 (6 * sizeof(int) * PRIME_FOR_65536) 204 GBool GDALFloatEquals(
float A,
float B);
206 struct FloatEqualityTest
208 bool operator()(
float a,
float b) {
return GDALFloatEquals(a,b) == TRUE; }
GDALDataType
Definition: gdal.h:57
Document node structure.
Definition: cpl_minixml.h:66
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:352
int GBool
Type for boolean values (alias to int)
Definition: cpl_port.h:215
int GInt32
Int32 type.
Definition: cpl_port.h:197
short GInt16
Int16 type.
Definition: cpl_port.h:203
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:244
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
Public (C callable) GDAL algorithm entry points, and definitions.
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:354
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:250
Ground Control Point.
Definition: gdal.h:515