GDAL
gdal_vrt.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Project: Virtual GDAL Datasets
4 * Purpose: C/Public declarations of virtual GDAL dataset objects.
5 * Author: Andrey Kiselev, dron@ak4719.spb.edu
6 *
7 ******************************************************************************
8 * Copyright (c) 2007, Andrey Kiselev <dron@ak4719.spb.edu>
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef GDAL_VRT_H_INCLUDED
14#define GDAL_VRT_H_INCLUDED
15
21
22#include "cpl_error.h"
23#include "cpl_minixml.h"
24#include "cpl_port.h"
25#include "gdal.h"
26
28#define VRT_NODATA_UNSET -1234.56
29
31
33typedef CPLErr (*VRTImageReadFunc)(void *hCBData, int nXOff, int nYOff,
34 int nXSize, int nYSize, void *pData);
35
36/* -------------------------------------------------------------------- */
37/* Define handle types related to various VRT dataset classes. */
38/* -------------------------------------------------------------------- */
40typedef void *VRTAveragedSourceH;
41typedef void *VRTAverageFilteredSourceH;
42typedef void *VRTComplexSourceH;
43typedef void *VRTDerivedRasterBandH;
44typedef void *VRTDriverH;
45typedef void *VRTFilteredSourceH;
46typedef void *VRTFuncSourceH;
47typedef void *VRTKernelFilteredSourceH;
48typedef void *VRTRasterBandH;
49typedef void *VRTRawRasterBandH;
50typedef void *VRTSimpleSourceH;
51typedef void *VRTSourceH;
52typedef void *VRTWarpedDatasetH;
53typedef void *VRTWarpedRasterBandH;
55
57typedef void *VRTDatasetH;
60
61/* ==================================================================== */
62/* VRTDataset class. */
63/* ==================================================================== */
64
65VRTDatasetH CPL_DLL CPL_STDCALL VRTCreate(int, int);
66void CPL_DLL CPL_STDCALL VRTFlushCache(VRTDatasetH);
67CPLXMLNode CPL_DLL *CPL_STDCALL VRTSerializeToXML(VRTDatasetH, const char *);
68int CPL_DLL CPL_STDCALL VRTAddBand(VRTDatasetH, GDALDataType, char **);
69
70/* ==================================================================== */
71/* VRTSourcedRasterBand class. */
72/* ==================================================================== */
73
74CPLErr CPL_STDCALL VRTAddSource(VRTSourcedRasterBandH, VRTSourceH);
76 GDALRasterBandH, int, int, int,
77 int, int, int, int, int,
78 const char *, double);
80 GDALRasterBandH, int, int, int,
81 int, int, int, int, int, double,
82 double, double);
84 VRTImageReadFunc, void *, double);
85
87
88#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:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
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_fwd.h:45
void * VRTDatasetH
Opaque type for a VRT dataset.
Definition gdal_vrt.h:57
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:33
VRTDatasetH VRTCreate(int, int)
Definition vrtdataset.cpp:77
void VRTFlushCache(VRTDatasetH)
Definition vrtdataset.cpp:243
void * VRTSourcedRasterBandH
Opaque type for a VRT sourced raster band.
Definition gdal_vrt.h:59
CPLErr VRTAddFuncSource(VRTSourcedRasterBandH, VRTImageReadFunc, void *, double)
Definition vrtsourcedrasterband.cpp:2798
CPLErr VRTAddSource(VRTSourcedRasterBandH, VRTSourceH)
Definition vrtsourcedrasterband.cpp:2300
CPLErr VRTAddComplexSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, double, double, double)
Definition vrtsourcedrasterband.cpp:2747
CPLXMLNode * VRTSerializeToXML(VRTDatasetH, const char *)
Definition vrtdataset.cpp:411
CPLErr VRTAddSimpleSource(VRTSourcedRasterBandH, GDALRasterBandH, int, int, int, int, int, int, int, int, const char *, double)
Definition vrtsourcedrasterband.cpp:2644
int VRTAddBand(VRTDatasetH, GDALDataType, char **)
Definition vrtdataset.cpp:1960
Document node structure.
Definition cpl_minixml.h:54