- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

# gdal_vrt.h

Go to the documentation of this file.

    00001 /******************************************************************************
    00002  * $Id: gdal_vrt.h 12156 2007-09-14 14:05:58Z dron $
    00003  *
    00004  * Project:  Virtual GDAL Datasets
    00005  * Purpose:  C/Public declarations of virtual GDAL dataset objects.
    00006  * Author:   Andrey Kiselev, dron@ak4719.spb.edu
    00007  *
    00008  ******************************************************************************
    00009  * Copyright (c) 2007, Andrey Kiselev <dron@ak4719.spb.edu>
    00010  *
    00011  * Permission is hereby granted, free of charge, to any person obtaining a
    00012  * copy of this software and associated documentation files (the "Software"),
    00013  * to deal in the Software without restriction, including without limitation
    00014  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    00015  * and/or sell copies of the Software, and to permit persons to whom the
    00016  * Software is furnished to do so, subject to the following conditions:
    00017  *
    00018  * The above copyright notice and this permission notice shall be included
    00019  * in all copies or substantial portions of the Software.
    00020  *
    00021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    00022  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    00024  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00026  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00027  * DEALINGS IN THE SOFTWARE.
    00028  ****************************************************************************/
    00029
    00030 #ifndef GDAL_VRT_H_INCLUDED
    00031 #define GDAL_VRT_H_INCLUDED
    00032
    00039 #include "gdal.h"
    00040 #include "cpl_port.h"
    00041 #include "cpl_error.h"
    00042 #include "cpl_minixml.h"
    00043
    00044 #define VRT_NODATA_UNSET -1234.56
    00045
    00046 CPL_C_START
    00047
    00048 void    GDALRegister_VRT(void);
    00049 typedef CPLErr
    00050 (*VRTImageReadFunc)( void *hCBData,
    00051                      int nXOff, int nYOff, int nXSize, int nYSize,
    00052                      void *pData );
    00053
    00054 /* -------------------------------------------------------------------- */
    00055 /*      Define handle types related to various VRT dataset classes.     */
    00056 /* -------------------------------------------------------------------- */
    00057 typedef void *VRTDriverH;
    00058 typedef void *VRTSourceH;
    00059 typedef void *VRTSimpleSourceH;
    00060 typedef void *VRTAveragedSourceH;
    00061 typedef void *VRTComplexSourceH;
    00062 typedef void *VRTFilteredSourceH;
    00063 typedef void *VRTKernelFilteredSourceH;
    00064 typedef void *VRTAverageFilteredSourceH;
    00065 typedef void *VRTFuncSourceH;
    00066 typedef void *VRTDatasetH;
    00067 typedef void *VRTWarpedDatasetH;
    00068 typedef void *VRTRasterBandH;
    00069 typedef void *VRTSourcedRasterBandH;
    00070 typedef void *VRTWarpedRasterBandH;
    00071 typedef void *VRTDerivedRasterBandH;
    00072 typedef void *VRTRawRasterBandH;
    00073
    00074 /* ==================================================================== */
    00075 /*      VRTDataset class.                                               */
    00076 /* ==================================================================== */
    00077
    00078 VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate( int, int );
    00079 void CPL_DLL CPL_STDCALL VRTFlushCache( VRTDatasetH );
    00080 CPLXMLNode CPL_DLL * CPL_STDCALL VRTSerializeToXML( VRTDatasetH, const char * );
    00081 int CPL_DLL CPL_STDCALL VRTAddBand( VRTDatasetH, GDALDataType, char ** );
    00082
    00083 /* ==================================================================== */
    00084 /*      VRTSourcedRasterBand class.                                     */
    00085 /* ==================================================================== */
    00086
    00087 CPLErr CPL_STDCALL VRTAddSource( VRTSourcedRasterBandH, VRTSourceH );
    00088 CPLErr CPL_DLL CPL_STDCALL VRTAddSimpleSource( VRTSourcedRasterBandH,
    00089                                                GDALRasterBandH,
    00090                                                int, int, int, int,
    00091                                                int, int, int, int,
    00092                                                const char *, double );
    00093 CPLErr CPL_DLL CPL_STDCALL VRTAddComplexSource( VRTSourcedRasterBandH,
    00094                                                 GDALRasterBandH,
    00095                                                 int, int, int, int,
    00096                                                 int, int, int, int,
    00097                                                 double, double, double );
    00098 CPLErr CPL_DLL CPL_STDCALL VRTAddFuncSource( VRTSourcedRasterBandH,
    00099                                              VRTImageReadFunc,
    00100                                              void *, double );
    00101
    00102 CPL_C_END
    00103
    00104 #endif /* GDAL_VRT_H_INCLUDED */
    00105

Generated for GDAL by 1.7.1.