1
1
/******************************************************************************
2
* $Id: gdal_alg_priv.h 18522 2010-01-11 18:07:15Z mloskot $
2
* $Id: gdal_alg_priv.h 22502 2011-06-04 21:33:58Z rouault $
4
4
* Project: GDAL Image Processing Algorithms
5
5
* Purpose: Prototypes and definitions for various GDAL based algorithms:
121
/************************************************************************/
122
/* Polygon Enumerator */
124
/* Buffers has float values instead og GInt32 */
125
/************************************************************************/
126
class GDALRasterFPolygonEnumerator
130
void MergePolygon( int nSrcId, int nDstId );
131
int NewPolygon( float fValue );
133
public: // these are intended to be readonly.
135
GInt32 *panPolyIdMap;
144
GDALRasterFPolygonEnumerator( int nConnectedness=4 );
145
~GDALRasterFPolygonEnumerator();
147
void ProcessLine( float *pafLastLineVal, float *pafThisLineVal,
148
GInt32 *panLastLineId, GInt32 *panThisLineId,
151
void CompleteMerges();
157
typedef void* (*GDALTransformDeserializeFunc)( CPLXMLNode *psTree );
159
void* GDALRegisterTransformDeserializer(const char* pszTransformName,
160
GDALTransformerFunc pfnTransformerFunc,
161
GDALTransformDeserializeFunc pfnDeserializeFunc);
162
void GDALUnregisterTransformDeserializer(void* pData);
164
/************************************************************************/
165
/* Float comparison function. */
166
/************************************************************************/
169
* Units in the Last Place. This specifies how big an error we are willing to
170
* accept in terms of the value of the least significant digit of the floating
171
* point number’s representation. MAX_ULPS can also be interpreted in terms of
172
* how many representable floats we are willing to accept between A and B.
176
GBool GDALFloatEquals(float A, float B);
120
178
#endif /* ndef GDAL_ALG_PRIV_H_INCLUDED */