GDAL
gdal_vrt.h
Go to the documentation of this file.
1/******************************************************************************
2 * $Id$
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 * SPDX-License-Identifier: MIT
12 ****************************************************************************/
13
14#ifndef GDAL_VRT_H_INCLUDED
15#define GDAL_VRT_H_INCLUDED
16
23#include "cpl_error.h"
24#include "cpl_minixml.h"
25#include "cpl_port.h"
26#include "gdal.h"
27
29#define VRT_NODATA_UNSET -1234.56
30
32
34typedef CPLErr (*VRTImageReadFunc)(void *hCBData, int nXOff, int nYOff,
35 int nXSize, int nYSize, void *pData);
36
37/* -------------------------------------------------------------------- */
38/* Define handle types related to various VRT dataset classes. */
39/* -------------------------------------------------------------------- */
41typedef void *VRTAveragedSourceH;
42typedef void *VRTAverageFilteredSourceH;
43typedef void *VRTComplexSourceH;
44typedef void *VRTDerivedRasterBandH;
45typedef void *VRTDriverH;
46typedef void *VRTFilteredSourceH;
47typedef void *VRTFuncSourceH;
48typedef void *VRTKernelFilteredSourceH;
49typedef void *VRTRasterBandH;
50typedef void *VRTRawRasterBandH;
51typedef void *VRTSimpleSourceH;
52typedef void *VRTSourceH;
53typedef void *VRTWarpedDatasetH;
54typedef void *VRTWarpedRasterBandH;
58typedef void *VRTDatasetH;
61
62/* ==================================================================== */
63/* VRTDataset class. */
64/* ==================================================================== */
65
66VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate(int, int);
67void CPL_DLL CPL_STDCALL VRTFlushCache(VRTDatasetH);
68CPLXMLNode CPL_DLL *CPL_STDCALL VRTSerializeToXML(VRTDatasetH, const char *);
69int CPL_DLL CPL_STDCALL VRTAddBand(VRTDatasetH, GDALDataType, char **);
70
71/* ==================================================================== */
72/* VRTSourcedRasterBand class. */
73/* ==================================================================== */
74
75CPLErr CPL_STDCALL VRTAddSource(VRTSourcedRasterBandH, VRTSourceH);
77 GDALRasterBandH, int, int, int,
78 int, int, int, int, int,
79 const char *, double);
81 GDALRasterBandH, int, int, int,
82 int, int, int, int, int, double,
83 double, double);
85 VRTImageReadFunc, void *, double);
86
88
89#endif /* GDAL_VRT_H_INCLUDED */
CPL error handling services.
CPLErr
Error category.
Definition: cpl_error.h:37
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:283
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:279
Public (C callable) GDAL entry points.
GDALDataType
Definition: gdal.h:48
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:379
void * VRTDatasetH
Opaque type for a VRT dataset.
Definition: gdal_vrt.h:58
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:34
VRTDatasetH VRTCreate(int, int)
Definition: vrtdataset.cpp:68
void VRTFlushCache(VRTDatasetH)
Definition: vrtdataset.cpp:231
void * VRTSourcedRasterBandH
Opaque type for a VRT sourced raster band.
Definition: gdal_vrt.h:60
CPLErr VRTAddFuncSource(VRTSourcedRasterBandH, VRTImageReadFunc, void *, double)
Definition: vrtsourcedrasterband.cpp:2591
CPLErr VRTAddSource(VRTSourcedRasterBandH, VRTSourceH)
Definition: vrtsourcedrasterband.cpp:2093
CPLErr VRTAddComplexSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, double, double, double)
Definition: vrtsourcedrasterband.cpp:2540
CPLXMLNode * VRTSerializeToXML(VRTDatasetH, const char *)
Definition: vrtdataset.cpp:401
CPLErr VRTAddSimpleSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, const char *, double)
Definition: vrtsourcedrasterband.cpp:2437
int VRTAddBand(VRTDatasetH, GDALDataType, char **)
Definition: vrtdataset.cpp:1810
Document node structure.
Definition: cpl_minixml.h:55