GDAL
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 doxygen 1.7.4.