gdal_priv.h
来自「这是我已经编译好的GDAL1.4的所有文件」· C头文件 代码 · 共 752 行 · 第 1/2 页
H
752 行
virtual ~GDALRasterBlock(); CPLErr Internalize( void ); /* make copy of data */ void Touch( void ); /* update age */ void MarkDirty( void ); /* data has been modified since read */ void MarkClean( void ); void AddLock( void ) { nLockCount++; } void DropLock( void ) { nLockCount--; } void Detach(); CPLErr Write(); GDALDataType GetDataType() { return eType; } int GetXOff() { return nXOff; } int GetYOff() { return nYOff; } int GetXSize() { return nXSize; } int GetYSize() { return nYSize; } int GetDirty() { return bDirty; } int GetLockCount() { return nLockCount; } void *GetDataRef( void ) { return pData; } GDALRasterBand *GetBand() { return poBand; } static int FlushCacheBlock(); static void Verify(); static int SafeLockBlock( GDALRasterBlock ** );};/* ******************************************************************** *//* GDALColorTable *//* ******************************************************************** */class CPL_DLL GDALColorTable{ GDALPaletteInterp eInterp; std::vector<GDALColorEntry> aoEntries;public: GDALColorTable( GDALPaletteInterp = GPI_RGB ); ~GDALColorTable(); GDALColorTable *Clone() const; GDALPaletteInterp GetPaletteInterpretation() const; int GetColorEntryCount() const; const GDALColorEntry *GetColorEntry( int ) const; int GetColorEntryAsRGB( int, GDALColorEntry * ) const; void SetColorEntry( int, const GDALColorEntry * );};/* ******************************************************************** *//* GDALRasterBand *//* ******************************************************************** *///! A single raster band (or channel).class CPL_DLL GDALRasterBand : public GDALMajorObject{ protected: GDALDataset *poDS; int nBand; /* 1 based */ int nRasterXSize; int nRasterYSize; GDALDataType eDataType; GDALAccess eAccess; /* stuff related to blocking, and raster cache */ int nBlockXSize; int nBlockYSize; int nBlocksPerRow; int nBlocksPerColumn; int bSubBlockingActive; int nSubBlocksPerRow; int nSubBlocksPerColumn; GDALRasterBlock **papoBlocks; int nBlockReads; int bForceCachedIO; friend class GDALDataset; friend class GDALRasterBlock; protected: virtual CPLErr IReadBlock( int, int, void * ) = 0; virtual CPLErr IWriteBlock( int, int, void * ); virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int ); CPLErr OverviewRasterIO( GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int ); int InitBlockInfo(); CPLErr AdoptBlock( int, int, GDALRasterBlock * ); GDALRasterBlock *TryGetLockedBlockRef( int nXBlockOff, int nYBlockYOff ); public: GDALRasterBand(); virtual ~GDALRasterBand(); int GetXSize(); int GetYSize(); int GetBand(); GDALDataset*GetDataset(); GDALDataType GetRasterDataType( void ); void GetBlockSize( int *, int * ); GDALAccess GetAccess(); CPLErr RasterIO( GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int ); CPLErr ReadBlock( int, int, void * ); CPLErr WriteBlock( int, int, void * ); GDALRasterBlock *GetLockedBlockRef( int nXBlockOff, int nYBlockOff, int bJustInitialize = FALSE ); CPLErr FlushBlock( int = -1, int = -1 ); // New OpengIS CV_SampleDimension stuff. virtual CPLErr FlushCache(); virtual char **GetCategoryNames(); virtual double GetNoDataValue( int *pbSuccess = NULL ); virtual double GetMinimum( int *pbSuccess = NULL ); virtual double GetMaximum(int *pbSuccess = NULL ); virtual double GetOffset( int *pbSuccess = NULL ); virtual double GetScale( int *pbSuccess = NULL ); virtual const char *GetUnitType(); virtual GDALColorInterp GetColorInterpretation(); virtual GDALColorTable *GetColorTable(); virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue = 0); virtual CPLErr SetCategoryNames( char ** ); virtual CPLErr SetNoDataValue( double ); virtual CPLErr SetColorTable( GDALColorTable * ); virtual CPLErr SetColorInterpretation( GDALColorInterp ); virtual CPLErr SetOffset( double ); virtual CPLErr SetScale( double ); virtual CPLErr SetUnitType( const char * ); virtual CPLErr GetStatistics( int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev ); virtual CPLErr ComputeStatistics( int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev, GDALProgressFunc, void *pProgressData ); virtual CPLErr SetStatistics( double dfMin, double dfMax, double dfMean, double dfStdDev ); virtual int HasArbitraryOverviews(); virtual int GetOverviewCount(); virtual GDALRasterBand *GetOverview(int); virtual CPLErr BuildOverviews( const char *, int, int *, GDALProgressFunc, void * ); virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eDT, char **papszOptions ); virtual CPLErr GetHistogram( double dfMin, double dfMax, int nBuckets, int * panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData ); virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax, int *pnBuckets, int ** ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData); virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax, int nBuckets, int *panHistogram ); virtual const GDALRasterAttributeTable *GetDefaultRAT(); virtual CPLErr SetDefaultRAT( const GDALRasterAttributeTable * );};/* ******************************************************************** *//* GDALOpenInfo *//* *//* Structure of data about dataset for open functions. *//* ******************************************************************** */class CPL_DLL GDALOpenInfo{ public: GDALOpenInfo( const char * pszFile, GDALAccess eAccessIn ); ~GDALOpenInfo( void ); char *pszFilename; GDALAccess eAccess; int bStatOK; int bIsDirectory; FILE *fp; int nHeaderBytes; GByte *pabyHeader;};/* ******************************************************************** *//* GDALDriver *//* ******************************************************************** *//** * \brief Format specific driver. * * An instance of this class is created for each supported format, and * manages information about the format. * * This roughly corresponds to a file format, though some * drivers may be gateways to many formats through a secondary * multi-library. */class CPL_DLL GDALDriver : public GDALMajorObject{ public: GDALDriver(); ~GDALDriver();/* -------------------------------------------------------------------- *//* Public C++ methods. *//* -------------------------------------------------------------------- */ GDALDataset *Create( const char * pszName, int nXSize, int nYSize, int nBands, GDALDataType eType, char ** papszOptions ); CPLErr Delete( const char * pszName ); GDALDataset *CreateCopy( const char *, GDALDataset *, int, char **, GDALProgressFunc pfnProgress, void * pProgressData ); GDALDataset *DefaultCreateCopy( const char *, GDALDataset *, int, char **, GDALProgressFunc pfnProgress, void * pProgressData ); /* -------------------------------------------------------------------- *//* The following are semiprivate, not intended to be accessed *//* by anyone but the formats instantiating and populating the *//* drivers. *//* -------------------------------------------------------------------- */ GDALDataset *(*pfnOpen)( GDALOpenInfo * ); GDALDataset *(*pfnCreate)( const char * pszName, int nXSize, int nYSize, int nBands, GDALDataType eType, char ** papszOptions ); CPLErr (*pfnDelete)( const char * pszName ); GDALDataset *(*pfnCreateCopy)( const char *, GDALDataset *, int, char **, GDALProgressFunc pfnProgress, void * pProgressData ); void *pDriverData; void (*pfnUnloadDriver)(GDALDriver *);};/* ******************************************************************** *//* GDALDriverManager *//* ******************************************************************** *//** * Class for managing the registration of file format drivers. * * Use GetGDALDriverManager() to fetch the global singleton instance of * this class. */class CPL_DLL GDALDriverManager : public GDALMajorObject{ int nDrivers; GDALDriver **papoDrivers; char *pszHome; public: GDALDriverManager(); ~GDALDriverManager(); int GetDriverCount( void ); GDALDriver *GetDriver( int ); GDALDriver *GetDriverByName( const char * ); int RegisterDriver( GDALDriver * ); void MoveDriver( GDALDriver *, int ); void DeregisterDriver( GDALDriver * ); void AutoLoadDrivers(); void AutoSkipDrivers(); const char *GetHome(); void SetHome( const char * );};CPL_C_STARTGDALDriverManager CPL_DLL * GetGDALDriverManager( void );CPL_C_END/* ==================================================================== *//* An assortment of overview related stuff. *//* ==================================================================== */CPL_C_START#ifndef WIN32CECPLErr CPL_DLLHFAAuxBuildOverviews( const char *pszOvrFilename, GDALDataset *poParentDS, GDALDataset **ppoDS, int nBands, int *panBandList, int nNewOverviews, int *panNewOverviewList, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData );#endif /* WIN32CE */CPLErr CPL_DLL GTIFFBuildOverviews( const char * pszFilename, int nBands, GDALRasterBand **papoBandList, int nOverviews, int * panOverviewList, const char * pszResampling, GDALProgressFunc pfnProgress, void * pProgressData );CPLErr CPL_DLLGDALDefaultBuildOverviews( GDALDataset *hSrcDS, const char * pszBasename, const char * pszResampling, int nOverviews, int * panOverviewList, int nBands, int * panBandList, GDALProgressFunc pfnProgress, void * pProgressData); CPLErr CPL_DLL GDALRegenerateOverviews( GDALRasterBand *, int, GDALRasterBand **, const char *, GDALProgressFunc, void * );int CPL_DLL GDALOvLevelAdjust( int nOvLevel, int nXSize );GDALDataset CPL_DLL *GDALFindAssociatedAuxFile( const char *pszBasefile, GDALAccess eAccess );/* ==================================================================== *//* Misc functions. *//* ==================================================================== */CPLErr CPL_DLL GDALParseGMLCoverage( CPLXMLNode *psTree, int *pnXSize, int *pnYSize, double *padfGeoTransform, char **ppszProjection ); CPL_C_END#endif /* ndef GDAL_PRIV_H_INCLUDED */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?