GDAL
gdal_vrt.h
Go to the documentation of this file.
1/******************************************************************************
2 * $Id: gdal_vrt.h cad9c764a44d2b5383a70a341158b4518b25cedd 2016-11-30 01:46:53Z Kurt Schwehr $
3 *
4 * Project: Virtual GDAL Datasets
5 * Purpose: C/Public declarations of virtual GDAL dataset objects.
6 * Author: Andrey Kiselev, dron@ak4719.spb.edu
7 *
8 ******************************************************************************
9 * Copyright (c) 2007, Andrey Kiselev <dron@ak4719.spb.edu>
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining a
12 * copy of this software and associated documentation files (the "Software"),
13 * to deal in the Software without restriction, including without limitation
14 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15 * and/or sell copies of the Software, and to permit persons to whom the
16 * Software is furnished to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be included
19 * in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27 * DEALINGS IN THE SOFTWARE.
28 ****************************************************************************/
29
30#ifndef GDAL_VRT_H_INCLUDED
31#define GDAL_VRT_H_INCLUDED
32
39#include "cpl_error.h"
40#include "cpl_minixml.h"
41#include "cpl_port.h"
42#include "gdal.h"
43
45#define VRT_NODATA_UNSET -1234.56
46
48
50typedef CPLErr
51(*VRTImageReadFunc)( void *hCBData,
52 int nXOff, int nYOff, int nXSize, int nYSize,
53 void *pData );
54
55/* -------------------------------------------------------------------- */
56/* Define handle types related to various VRT dataset classes. */
57/* -------------------------------------------------------------------- */
59typedef void *VRTAveragedSourceH;
60typedef void *VRTAverageFilteredSourceH;
61typedef void *VRTComplexSourceH;
62typedef void *VRTDerivedRasterBandH;
63typedef void *VRTDriverH;
64typedef void *VRTFilteredSourceH;
65typedef void *VRTFuncSourceH;
66typedef void *VRTKernelFilteredSourceH;
67typedef void *VRTRasterBandH;
68typedef void *VRTRawRasterBandH;
69typedef void *VRTSimpleSourceH;
70typedef void *VRTSourceH;
71typedef void *VRTWarpedDatasetH;
72typedef void *VRTWarpedRasterBandH;
76typedef void *VRTDatasetH;
79
80/* ==================================================================== */
81/* VRTDataset class. */
82/* ==================================================================== */
83
84VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate( int, int );
85void CPL_DLL CPL_STDCALL VRTFlushCache( VRTDatasetH );
86CPLXMLNode CPL_DLL * CPL_STDCALL VRTSerializeToXML( VRTDatasetH, const char * );
87int CPL_DLL CPL_STDCALL VRTAddBand( VRTDatasetH, GDALDataType, char ** );
88
89/* ==================================================================== */
90/* VRTSourcedRasterBand class. */
91/* ==================================================================== */
92
93CPLErr CPL_STDCALL VRTAddSource( VRTSourcedRasterBandH, VRTSourceH );
96 int, int, int, int,
97 int, int, int, int,
98 const char *, double );
101 int, int, int, int,
102 int, int, int, int,
103 double, double, double );
106 void *, double );
107
109
110#endif /* GDAL_VRT_H_INCLUDED */
CPL error handling services.
CPLErr
Error category.
Definition: cpl_error.h:53
Definitions for CPL mini XML Parser/Serializer.
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
Public (C callable) GDAL entry points.
GDALDataType
Definition: gdal.h:60
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:258
void * VRTDatasetH
Opaque type for a VRT dataset.
Definition: gdal_vrt.h:76
CPLErr(* VRTImageReadFunc)(void *hCBData, int nXOff, int nYOff, int nXSize, int nYSize, void *pData)
Type for a function that returns the pixel data in a provided window.
Definition: gdal_vrt.h:51
VRTDatasetH VRTCreate(int, int)
Definition: vrtdataset.cpp:86
void VRTFlushCache(VRTDatasetH)
Definition: vrtdataset.cpp:258
void * VRTSourcedRasterBandH
Opaque type for a VRT sourced raster band.
Definition: gdal_vrt.h:78
CPLErr VRTAddFuncSource(VRTSourcedRasterBandH, VRTImageReadFunc, void *, double)
Definition: vrtsourcedrasterband.cpp:1342
CPLErr VRTAddSource(VRTSourcedRasterBandH, VRTSourceH)
Definition: vrtsourcedrasterband.cpp:941
CPLErr VRTAddComplexSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, double, double, double)
Definition: vrtsourcedrasterband.cpp:1283
CPLXMLNode * VRTSerializeToXML(VRTDatasetH, const char *)
Definition: vrtdataset.cpp:393
CPLErr VRTAddSimpleSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, const char *, double)
Definition: vrtsourcedrasterband.cpp:1204
int VRTAddBand(VRTDatasetH, GDALDataType, char **)
Definition: vrtdataset.cpp:1132
Document node structure.
Definition: cpl_minixml.h:67

Generated for GDAL by doxygen 1.9.4.