Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > d67485fb8ce60f8952179bbde3b5d022 > files > 91

libgdal0-devel-1.1.7-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>gdal_priv.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.3-20001105 on Thu Mar 28 09:47:29 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>gdal_priv.h</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font>
00002 <font class="comment"> * $Id: gdal_priv_h-source.html,v 1.11 2002/04/16 13:11:48 warmerda Exp $</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Name:     gdal_priv.h</font>
00005 <font class="comment"> * Project:  GDAL Core</font>
00006 <font class="comment"> * Purpose:  GDAL Core C++/Private declarations. </font>
00007 <font class="comment"> * Author:   Frank Warmerdam, warmerda@home.com</font>
00008 <font class="comment"> *</font>
00009 <font class="comment"> ******************************************************************************</font>
00010 <font class="comment"> * Copyright (c) 1998, Frank Warmerdam</font>
00011 <font class="comment"> *</font>
00012 <font class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</font>
00013 <font class="comment"> * copy of this software and associated documentation files (the "Software"),</font>
00014 <font class="comment"> * to deal in the Software without restriction, including without limitation</font>
00015 <font class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</font>
00016 <font class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</font>
00017 <font class="comment"> * Software is furnished to do so, subject to the following conditions:</font>
00018 <font class="comment"> *</font>
00019 <font class="comment"> * The above copyright notice and this permission notice shall be included</font>
00020 <font class="comment"> * in all copies or substantial portions of the Software.</font>
00021 <font class="comment"> *</font>
00022 <font class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS</font>
00023 <font class="comment"> * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</font>
00024 <font class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL</font>
00025 <font class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</font>
00026 <font class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</font>
00027 <font class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</font>
00028 <font class="comment"> * DEALINGS IN THE SOFTWARE.</font>
00029 <font class="comment"> ******************************************************************************</font>
00030 <font class="comment"> *</font>
00031 <font class="comment"> * $Log: gdal_priv_h-source.html,v $
00031 <font class="comment"> * Revision 1.11  2002/04/16 13:11:48  warmerda
00031 <font class="comment"> * updated
00031 <font class="comment"> *</font>
00032 <font class="comment"> * Revision 1.30  2002/03/01 14:29:09  warmerda</font>
00033 <font class="comment"> * added GetBand() method on GDALRasterBand</font>
00034 <font class="comment"> *</font>
00035 <font class="comment"> * Revision 1.29  2001/12/15 15:42:27  warmerda</font>
00036 <font class="comment"> * *** empty log message ***</font>
00037 <font class="comment"> *</font>
00038 <font class="comment"> * Revision 1.28  2001/11/18 00:52:15  warmerda</font>
00039 <font class="comment"> * removed GDALProjDef</font>
00040 <font class="comment"> *</font>
00041 <font class="comment"> * Revision 1.27  2001/11/16 21:36:01  warmerda</font>
00042 <font class="comment"> * added the AddBand() method on GDALDataset</font>
00043 <font class="comment"> *</font>
00044 <font class="comment"> * Revision 1.26  2001/10/17 21:47:02  warmerda</font>
00045 <font class="comment"> * added SetGCPs() on GDALDataset</font>
00046 <font class="comment"> *</font>
00047 <font class="comment"> * Revision 1.25  2001/10/02 13:15:16  warmerda</font>
00048 <font class="comment"> * added CPL_DLL for GDALDefaultOverviews</font>
00049 <font class="comment"> *</font>
00050 <font class="comment"> * Revision 1.24  2001/06/20 16:08:54  warmerda</font>
00051 <font class="comment"> * GDALDefaultOverviews now remembers ovr filename, and allows explicit setting</font>
00052 <font class="comment"> *</font>
00053 <font class="comment"> * Revision 1.23  2001/02/06 16:30:21  warmerda</font>
00054 <font class="comment"> * Added gdal_frmts.h</font>
00055 <font class="comment"> *</font>
00056 <font class="comment"> * Revision 1.22  2000/10/06 15:26:08  warmerda</font>
00057 <font class="comment"> * added SetNoDataValue, SetCategoryNames</font>
00058 <font class="comment"> *</font>
00059 <font class="comment"> * Revision 1.21  2000/07/20 13:38:26  warmerda</font>
00060 <font class="comment"> * make GetGDALDriverManager public with CPL_DLL</font>
00061 <font class="comment"> *</font>
00062 <font class="comment"> * Revision 1.20  2000/04/30 23:22:16  warmerda</font>
00063 <font class="comment"> * added CreateCopy support</font>
00064 <font class="comment"> *</font>
00065 <font class="comment"> * Revision 1.19  2000/04/21 21:55:01  warmerda</font>
00066 <font class="comment"> * majorobject updates, and overview building</font>
00067 <font class="comment"> *</font>
00068 <font class="comment"> * Revision 1.18  2000/04/04 23:44:29  warmerda</font>
00069 <font class="comment"> * added AutoLoadDrivers() to GDALDriverManager</font>
00070 <font class="comment"> *</font>
00071 <font class="comment"> * Revision 1.17  2000/03/31 13:41:24  warmerda</font>
00072 <font class="comment"> * added gcps</font>
00073 <font class="comment"> *</font>
00074 <font class="comment"> * Revision 1.16  2000/03/24 00:09:05  warmerda</font>
00075 <font class="comment"> * rewrote cache management</font>
00076 <font class="comment"> *</font>
00077 <font class="comment"> * Revision 1.15  2000/03/09 23:22:03  warmerda</font>
00078 <font class="comment"> * added GetHistogram</font>
00079 <font class="comment"> *</font>
00080 <font class="comment"> * Revision 1.14  2000/03/06 02:20:35  warmerda</font>
00081 <font class="comment"> * added colortables, overviews, etc</font>
00082 <font class="comment"> *</font>
00083 <font class="comment"> * Revision 1.12  2000/01/31 15:00:25  warmerda</font>
00084 <font class="comment"> * added some documentation</font>
00085 <font class="comment"> *</font>
00086 <font class="comment"> * Revision 1.11  2000/01/31 14:24:36  warmerda</font>
00087 <font class="comment"> * implemented dataset delete</font>
00088 <font class="comment"> *</font>
00089 <font class="comment"> * Revision 1.10  1999/11/11 21:59:07  warmerda</font>
00090 <font class="comment"> * added GetDriver() for datasets</font>
00091 <font class="comment"> *</font>
00092 <font class="comment"> * Revision 1.9  1999/10/21 13:23:45  warmerda</font>
00093 <font class="comment"> * Added a bit of driver related documentation.</font>
00094 <font class="comment"> *</font>
00095 <font class="comment"> * Revision 1.8  1999/10/21 12:04:11  warmerda</font>
00096 <font class="comment"> * Reorganized header.</font>
00097 <font class="comment"> *</font>
00098 <font class="comment"> * Revision 1.7  1999/10/01 14:44:02  warmerda</font>
00099 <font class="comment"> * added documentation</font>
00100 <font class="comment"> *</font>
00101 <font class="comment"> * Revision 1.6  1999/04/21 04:16:25  warmerda</font>
00102 <font class="comment"> * experimental docs</font>
00103 <font class="comment"> *</font>
00104 <font class="comment"> * Revision 1.5  1999/01/11 15:36:18  warmerda</font>
00105 <font class="comment"> * Added projections support, and a few other things.</font>
00106 <font class="comment"> *</font>
00107 <font class="comment"> * Revision 1.4  1998/12/31 18:54:25  warmerda</font>
00108 <font class="comment"> * Implement initial GDALRasterBlock support, and block cache</font>
00109 <font class="comment"> *</font>
00110 <font class="comment"> * Revision 1.3  1998/12/06 22:17:09  warmerda</font>
00111 <font class="comment"> * Fill out rasterio support.</font>
00112 <font class="comment"> *</font>
00113 <font class="comment"> * Revision 1.2  1998/12/03 18:34:06  warmerda</font>
00114 <font class="comment"> * Update to use CPL</font>
00115 <font class="comment"> *</font>
00116 <font class="comment"> * Revision 1.1  1998/10/18 06:15:11  warmerda</font>
00117 <font class="comment"> * Initial implementation.</font>
00118 <font class="comment"> *</font>
00119 <font class="comment"> */</font>
00120 
00121 <font class="preprocessor">#ifndef GDAL_PRIV_H_INCLUDED</font>
00122 <font class="preprocessor"></font><font class="preprocessor">#define GDAL_PRIV_H_INCLUDED</font>
00123 <font class="preprocessor"></font>
00124 <font class="comment">/* -------------------------------------------------------------------- */</font>
00125 <font class="comment">/*      Predeclare various classes before pulling in gdal.h, the        */</font>
00126 <font class="comment">/*      public declarations.                                            */</font>
00127 <font class="comment">/* -------------------------------------------------------------------- */</font>
00128 <font class="keyword">class </font>GDALMajorObject;
00129 <font class="keyword">class </font><a class="code" href="class_GDALDataset.html">GDALDataset</a>;
00130 <font class="keyword">class </font><a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a>;
00131 <font class="keyword">class </font><a class="code" href="class_GDALDriver.html">GDALDriver</a>;
00132 
00133 <font class="comment">/* -------------------------------------------------------------------- */</font>
00134 <font class="comment">/*      Pull in the public declarations.  This gets the C apis, and     */</font>
00135 <font class="comment">/*      also various constants.  However, we will still get to          */</font>
00136 <font class="comment">/*      provide the real class definitions for the GDAL classes.        */</font>
00137 <font class="comment">/* -------------------------------------------------------------------- */</font>
00138 
00139 <font class="preprocessor">#include "<a class="code" href="gdal_h.html">gdal.h</a>"</font>
00140 <font class="preprocessor">#include "gdal_frmts.h"</font>
00141 <font class="preprocessor">#include "<a class="code" href="cpl_vsi_h.html">cpl_vsi.h</a>"</font>
00142 <font class="preprocessor">#include "<a class="code" href="cpl_conv_h.html">cpl_conv.h</a>"</font>
00143 
00144 <font class="comment">/* ******************************************************************** */</font>
00145 <font class="comment">/*                           GDALMajorObject                            */</font>
00146 <font class="comment">/*                                                                      */</font>
00147 <font class="comment">/*      Base class providing metadata, description and other            */</font>
00148 <font class="comment">/*      services shared by major objects.                               */</font>
00149 <font class="comment">/* ******************************************************************** */</font>
00150 
00151 <font class="keyword">class </font>CPL_DLL GDALMajorObject
00152 {
00153   <font class="keyword">protected</font>:
00154     <font class="keywordtype">char</font>             *pszDescription;
00155     <font class="keywordtype">char</font>            **papszMetadata;
00156     
00157   <font class="keyword">public</font>:
00158                         GDALMajorObject();
00159     <font class="keyword">virtual</font>            ~GDALMajorObject();
00160                         
00161     <font class="keyword">const</font> <font class="keywordtype">char</font> *        GetDescription() <font class="keyword">const</font>;
00162     <font class="keywordtype">void</font>                SetDescription( <font class="keyword">const</font> <font class="keywordtype">char</font> * );
00163 
00164     <font class="keyword">virtual</font> <font class="keywordtype">char</font>      **GetMetadata( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszDomain = <font class="stringliteral">""</font> );
00165     <font class="keyword">virtual</font> CPLErr      SetMetadata( <font class="keywordtype">char</font> ** papszMetadata,
00166                                      <font class="keyword">const</font> <font class="keywordtype">char</font> * pszDomain = <font class="stringliteral">""</font> );
00167     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *GetMetadataItem( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName,
00168                                          <font class="keyword">const</font> <font class="keywordtype">char</font> * pszDomain = <font class="stringliteral">""</font> );
00169     <font class="keyword">virtual</font> CPLErr      SetMetadataItem( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName,
00170                                          <font class="keyword">const</font> <font class="keywordtype">char</font> * pszValue,
00171                                          <font class="keyword">const</font> <font class="keywordtype">char</font> * pszDomain = <font class="stringliteral">""</font> );
00172 };
00173 
00174 <font class="comment">/* ******************************************************************** */</font>
00175 <font class="comment">/*                         GDALDefaultOverviews                         */</font>
00176 <font class="comment">/* ******************************************************************** */</font>
00177 <font class="keyword">class </font>CPL_DLL GDALDefaultOverviews
00178 {
00179     <a class="code" href="class_GDALDataset.html">GDALDataset</a> *poDS;
00180     <a class="code" href="class_GDALDataset.html">GDALDataset</a> *poODS;
00181     
00182     <font class="keywordtype">char</font>        *pszOvrFilename;
00183     
00184   <font class="keyword">public</font>:
00185                GDALDefaultOverviews();
00186                ~GDALDefaultOverviews();
00187 
00188     <font class="keywordtype">void</font>       Initialize( <a class="code" href="class_GDALDataset.html">GDALDataset</a> *poDS, <font class="keyword">const</font> <font class="keywordtype">char</font> *pszName = NULL, 
00189                            <font class="keywordtype">int</font> bNameIsOVR = FALSE );
00190     <font class="keywordtype">int</font>        IsInitialized()<font class="keyword"> </font>{ <font class="keywordflow">return</font> poDS != NULL; }
00191 
00192     <font class="keywordtype">int</font>        GetOverviewCount(<font class="keywordtype">int</font>);
00193     <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *GetOverview(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00194 
00195     CPLErr     BuildOverviews( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszBasename,
00196                                <font class="keyword">const</font> <font class="keywordtype">char</font> * pszResampling, 
00197                                <font class="keywordtype">int</font> nOverviews, <font class="keywordtype">int</font> * panOverviewList,
00198                                <font class="keywordtype">int</font> nBands, <font class="keywordtype">int</font> * panBandList,
00199                                GDALProgressFunc pfnProgress,
00200                                <font class="keywordtype">void</font> *pProgressData );
00201 };
00202 
00203 <font class="comment">/* ******************************************************************** */</font>
00204 <font class="comment">/*                             GDALDataset                              */</font>
00205 <font class="comment">/* ******************************************************************** */</font>
00206 
<a name="l00213"></a><a class="code" href="class_GDALDataset.html">00213</a> <font class="keyword">class </font>CPL_DLL <a class="code" href="class_GDALDataset.html">GDALDataset</a> : <font class="keyword">public</font> GDALMajorObject
00214 {
00215     <font class="keyword">friend</font> GDALDatasetH <a class="code" href="gdal_h.html#a60">GDALOpen</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> *, GDALAccess);
00216     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="class_GDALDriver.html">GDALDriver</a>;
00217     
00218   <font class="keyword">protected</font>:
00219     <a class="code" href="class_GDALDriver.html">GDALDriver</a>  *poDriver;
00220     GDALAccess  eAccess;
00221     
00222     <font class="comment">// Stored raster information.</font>
00223     <font class="keywordtype">int</font>         nRasterXSize;
00224     <font class="keywordtype">int</font>         nRasterYSize;
00225     <font class="keywordtype">int</font>         nBands;
00226     <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> **papoBands;
00227 
00228     <font class="keywordtype">int</font>         nRefCount;
00229 
00230                 GDALDataset(<font class="keywordtype">void</font>);
00231     <font class="keywordtype">void</font>        RasterInitialize( <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00232     <font class="keywordtype">void</font>        SetBand( <font class="keywordtype">int</font>, <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> * );
00233 
00234     GDALDefaultOverviews oOvManager;
00235     
00236     <font class="keyword">virtual</font> CPLErr IBuildOverviews( <font class="keyword">const</font> <font class="keywordtype">char</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font> *,
00237                                     <font class="keywordtype">int</font>, <font class="keywordtype">int</font> *, GDALProgressFunc, <font class="keywordtype">void</font> * );
00238     
00239     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a>;
00240     
00241   <font class="keyword">public</font>:
00242     <font class="keyword">virtual</font>     <a class="code" href="class_GDALDataset.html#a0">~GDALDataset</a>();
00243 
00244     <font class="keywordtype">int</font>         <a class="code" href="class_GDALDataset.html#a1">GetRasterXSize</a>( <font class="keywordtype">void</font> );
00245     <font class="keywordtype">int</font>         <a class="code" href="class_GDALDataset.html#a2">GetRasterYSize</a>( <font class="keywordtype">void</font> );
00246     <font class="keywordtype">int</font>         <a class="code" href="class_GDALDataset.html#a3">GetRasterCount</a>( <font class="keywordtype">void</font> );
00247     <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *<a class="code" href="class_GDALDataset.html#a4">GetRasterBand</a>( <font class="keywordtype">int</font> );
00248 
00249     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_GDALDataset.html#a5">FlushCache</a>(<font class="keywordtype">void</font>);
00250 
00251     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="class_GDALDataset.html#a6">GetProjectionRef</a>(<font class="keywordtype">void</font>);
00252     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALDataset.html#a7">SetProjection</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> * );
00253 
00254     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALDataset.html#a8">GetGeoTransform</a>( <font class="keywordtype">double</font> * );
00255     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALDataset.html#a9">SetGeoTransform</a>( <font class="keywordtype">double</font> * );
00256 
00257     <font class="keyword">virtual</font> CPLErr        <a class="code" href="class_GDALDataset.html#a10">AddBand</a>( GDALDataType eType, 
00258                                    <font class="keywordtype">char</font> **papszOptions=NULL );
00259 
00260     <font class="keyword">virtual</font> <font class="keywordtype">void</font> *<a class="code" href="class_GDALDataset.html#a11">GetInternalHandle</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> * );
00261     <font class="keyword">virtual</font> <a class="code" href="class_GDALDriver.html">GDALDriver</a> *<a class="code" href="class_GDALDataset.html#a12">GetDriver</a>(<font class="keywordtype">void</font>);
00262 
00263     <font class="keyword">virtual</font> <font class="keywordtype">int</font>    <a class="code" href="class_GDALDataset.html#a13">GetGCPCount</a>();
00264     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="class_GDALDataset.html#a14">GetGCPProjection</a>();
00265     <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="struct_GDAL_GCP.html">GDAL_GCP</a> *<a class="code" href="class_GDALDataset.html#a15">GetGCPs</a>();
00266     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALDataset.html#a16">SetGCPs</a>( <font class="keywordtype">int</font> nGCPCount, <font class="keyword">const</font> <a class="code" href="struct_GDAL_GCP.html">GDAL_GCP</a> *pasGCPList,
00267                             <font class="keyword">const</font> <font class="keywordtype">char</font> *pszGCPProjection );
00268  
00269     <font class="keywordtype">int</font>           <a class="code" href="class_GDALDataset.html#a17">Reference</a>();
00270     <font class="keywordtype">int</font>           <a class="code" href="class_GDALDataset.html#a18">Dereference</a>();
00271     GDALAccess    GetAccess()<font class="keyword"> </font>{ <font class="keywordflow">return</font> eAccess; }
00272 
00273     CPLErr <a class="code" href="class_GDALDataset.html#a20">BuildOverviews</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font> *,
00274                            <font class="keywordtype">int</font>, <font class="keywordtype">int</font> *, GDALProgressFunc, <font class="keywordtype">void</font> * );
00275 
00276 };
00277 
00278 <font class="comment">/* ******************************************************************** */</font>
00279 <font class="comment">/*                           GDALRasterBlock                            */</font>
00280 <font class="comment">/* ******************************************************************** */</font>
00281 
<a name="l00284"></a><a class="code" href="class_GDALRasterBlock.html">00284</a> <font class="keyword">class </font>CPL_DLL <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a>
00285 {
00286     GDALDataType        eType;
00287     
00288     <font class="keywordtype">int</font>                 nAge;
00289     <font class="keywordtype">int</font>                 bDirty;
00290 
00291     <font class="keywordtype">int</font>                 nXOff;
00292     <font class="keywordtype">int</font>                 nYOff;
00293        
00294     <font class="keywordtype">int</font>                 nXSize;
00295     <font class="keywordtype">int</font>                 nYSize;
00296     
00297     <font class="keywordtype">void</font>                *pData;
00298 
00299     <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a>      *poBand;
00300     
00301     <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a>     *poNext;
00302     <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a>     *poPrevious;
00303 
00304   <font class="keyword">public</font>:
00305                 GDALRasterBlock( <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00306     <font class="keyword">virtual</font>     ~GDALRasterBlock();
00307 
00308     CPLErr      Internalize( <font class="keywordtype">void</font> );    <font class="comment">/* make copy of data */</font>
00309     <font class="keywordtype">void</font>        Touch( <font class="keywordtype">void</font> );          <font class="comment">/* update age */</font>
00310     <font class="keywordtype">void</font>        MarkDirty( <font class="keywordtype">void</font> );      <font class="comment">/* data has been modified since read */</font>
00311     <font class="keywordtype">void</font>        MarkClean( <font class="keywordtype">void</font> );
00312 
00313     CPLErr      Write();
00314 
00315     GDALDataType GetDataType()<font class="keyword"> </font>{ <font class="keywordflow">return</font> eType; }
00316     <font class="keywordtype">int</font>         GetXOff()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nXOff; }
00317     <font class="keywordtype">int</font>         GetYOff()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nYOff; }
00318     <font class="keywordtype">int</font>         GetXSize()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nXSize; }
00319     <font class="keywordtype">int</font>         GetYSize()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nYSize; }
00320     <font class="keywordtype">int</font>         GetAge()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nAge; }
00321     <font class="keywordtype">int</font>         GetDirty()<font class="keyword"> </font>{ <font class="keywordflow">return</font> bDirty; }
00322 
00323     <font class="keywordtype">void</font>        *GetDataRef( <font class="keywordtype">void</font> )<font class="keyword"> </font>{ <font class="keywordflow">return</font> pData; }
00324 
00325     <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *GetBand()<font class="keyword"> </font>{ <font class="keywordflow">return</font> poBand; }
00326 
00327     <font class="keyword">static</font> <font class="keywordtype">void</font> FlushOldestBlock();
00328     <font class="keyword">static</font> <font class="keywordtype">void</font> Verify();
00329 
00330 };
00331 
00332 
00333 <font class="comment">/* ******************************************************************** */</font>
00334 <font class="comment">/*                             GDALColorTable                           */</font>
00335 <font class="comment">/* ******************************************************************** */</font>
00336 
00337 <font class="keyword">class </font>CPL_DLL GDALColorTable
00338 {
00339     GDALPaletteInterp eInterp;
00340 
00341     <font class="keywordtype">int</font>         nEntryCount;
00342     <a class="code" href="struct_GDALColorEntry.html">GDALColorEntry</a> *paoEntries;
00343 
00344 <font class="keyword">public</font>:
00345                 GDALColorTable( GDALPaletteInterp = GPI_RGB );
00346                 ~GDALColorTable();
00347 
00348     GDALColorTable *Clone() <font class="keyword">const</font>;
00349 
00350     GDALPaletteInterp GetPaletteInterpretation() <font class="keyword">const</font>;
00351 
00352     <font class="keywordtype">int</font>           GetColorEntryCount() <font class="keyword">const</font>;
00353     <font class="keyword">const</font> <a class="code" href="struct_GDALColorEntry.html">GDALColorEntry</a> *GetColorEntry( <font class="keywordtype">int</font> ) <font class="keyword">const</font>;
00354     <font class="keywordtype">int</font>           GetColorEntryAsRGB( <font class="keywordtype">int</font>, <a class="code" href="struct_GDALColorEntry.html">GDALColorEntry</a> * ) <font class="keyword">const</font>;
00355     <font class="keywordtype">void</font>          SetColorEntry( <font class="keywordtype">int</font>, <font class="keyword">const</font> <a class="code" href="struct_GDALColorEntry.html">GDALColorEntry</a> * );
00356 };
00357 
00358 <font class="comment">/* ******************************************************************** */</font>
00359 <font class="comment">/*                            GDALRasterBand                            */</font>
00360 <font class="comment">/* ******************************************************************** */</font>
00361 
00363 
<a name="l00364"></a><a class="code" href="class_GDALRasterBand.html">00364</a> <font class="keyword">class </font>CPL_DLL <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> : <font class="keyword">public</font> GDALMajorObject
00365 {
00366   <font class="keyword">protected</font>:
00367     <a class="code" href="class_GDALDataset.html">GDALDataset</a> *poDS;
00368     <font class="keywordtype">int</font>         nBand; <font class="comment">/* 1 based */</font>
00369 
00370     <font class="keywordtype">int</font>         nRasterXSize;
00371     <font class="keywordtype">int</font>         nRasterYSize;
00372     
00373     GDALDataType eDataType;
00374     GDALAccess  eAccess;
00375 
00376     <font class="comment">/* stuff related to blocking, and raster cache */</font>
00377     <font class="keywordtype">int</font>         nBlockXSize;
00378     <font class="keywordtype">int</font>         nBlockYSize;
00379     <font class="keywordtype">int</font>         nBlocksPerRow;
00380     <font class="keywordtype">int</font>         nBlocksPerColumn;
00381 
00382     <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a> **papoBlocks;
00383 
00384     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="class_GDALDataset.html">GDALDataset</a>;
00385     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a>;
00386 
00387   <font class="keyword">protected</font>:
00388     <font class="keyword">virtual</font> CPLErr IReadBlock( <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">void</font> * ) = 0;
00389     <font class="keyword">virtual</font> CPLErr IWriteBlock( <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">void</font> * );
00390     <font class="keyword">virtual</font> CPLErr IRasterIO( GDALRWFlag, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>,
00391                               <font class="keywordtype">void</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, GDALDataType,
00392                               <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00393     CPLErr         OverviewRasterIO( GDALRWFlag, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>,
00394                                      <font class="keywordtype">void</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, GDALDataType,
00395                                      <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00396 
00397     CPLErr         AdoptBlock( <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a> * );
00398     <font class="keywordtype">void</font>           InitBlockInfo();
00399 
00400   <font class="keyword">public</font>:
00401                 <a class="code" href="class_GDALRasterBand.html#a0">GDALRasterBand</a>();
00402                 
00403     <font class="keyword">virtual</font>     <a class="code" href="class_GDALRasterBand.html#a1">~GDALRasterBand</a>();
00404 
00405     <font class="keywordtype">int</font>         <a class="code" href="class_GDALRasterBand.html#a2">GetXSize</a>();
00406     <font class="keywordtype">int</font>         <a class="code" href="class_GDALRasterBand.html#a3">GetYSize</a>();
00407     <font class="keywordtype">int</font>         GetBand();
00408 
00409     GDALDataType <a class="code" href="class_GDALRasterBand.html#a5">GetRasterDataType</a>( <font class="keywordtype">void</font> );
00410     <font class="keywordtype">void</font>        <a class="code" href="class_GDALRasterBand.html#a6">GetBlockSize</a>( <font class="keywordtype">int</font> *, <font class="keywordtype">int</font> * );
00411     GDALAccess  <a class="code" href="class_GDALRasterBand.html#a7">GetAccess</a>();
00412     
00413     CPLErr      <a class="code" href="class_GDALRasterBand.html#a8">RasterIO</a>( GDALRWFlag, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>,
00414                           <font class="keywordtype">void</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, GDALDataType,
00415                           <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00416     CPLErr      <a class="code" href="class_GDALRasterBand.html#a9">ReadBlock</a>( <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">void</font> * );
00417 
00418     CPLErr      <a class="code" href="class_GDALRasterBand.html#a10">WriteBlock</a>( <font class="keywordtype">int</font>, <font class="keywordtype">int</font>, <font class="keywordtype">void</font> * );
00419 
00420     <a class="code" href="class_GDALRasterBlock.html">GDALRasterBlock</a> *<a class="code" href="class_GDALRasterBand.html#a11">GetBlockRef</a>( <font class="keywordtype">int</font>, <font class="keywordtype">int</font> );
00421     CPLErr      <a class="code" href="class_GDALRasterBand.html#a12">FlushCache</a>();
00422     CPLErr      FlushBlock( <font class="keywordtype">int</font> = -1, <font class="keywordtype">int</font> = -1 );
00423 
00424     <font class="comment">// New OpengIS CV_SampleDimension stuff.</font>
00425 
00426     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font>  *<a class="code" href="class_GDALRasterBand.html#a14">GetDescription</a>();
00427     <font class="keyword">virtual</font> <font class="keywordtype">char</font> **<a class="code" href="class_GDALRasterBand.html#a15">GetCategoryNames</a>();
00428     <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="class_GDALRasterBand.html#a16">GetNoDataValue</a>( <font class="keywordtype">int</font> *pbSuccess = NULL );
00429     <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="class_GDALRasterBand.html#a17">GetMinimum</a>( <font class="keywordtype">int</font> *pbSuccess = NULL );
00430     <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="class_GDALRasterBand.html#a18">GetMaximum</a>(<font class="keywordtype">int</font> *pbSuccess = NULL );
00431     <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="class_GDALRasterBand.html#a19">GetOffset</a>( <font class="keywordtype">int</font> *pbSuccess = NULL );
00432     <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="class_GDALRasterBand.html#a20">GetScale</a>( <font class="keywordtype">int</font> *pbSuccess = NULL );
00433     <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="class_GDALRasterBand.html#a21">GetUnitType</a>();
00434     <font class="keyword">virtual</font> GDALColorInterp <a class="code" href="class_GDALRasterBand.html#a22">GetColorInterpretation</a>();
00435     <font class="keyword">virtual</font> GDALColorTable *<a class="code" href="class_GDALRasterBand.html#a23">GetColorTable</a>();
00436 
00437     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALRasterBand.html#a24">SetCategoryNames</a>( <font class="keywordtype">char</font> ** );
00438     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALRasterBand.html#a25">SetNoDataValue</a>( <font class="keywordtype">double</font> );
00439     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALRasterBand.html#a26">SetColorTable</a>( GDALColorTable * ); 
00440 
00441     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_GDALRasterBand.html#a27">HasArbitraryOverviews</a>();
00442     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_GDALRasterBand.html#a28">GetOverviewCount</a>();
00443     <font class="keyword">virtual</font> <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *<a class="code" href="class_GDALRasterBand.html#a29">GetOverview</a>(<font class="keywordtype">int</font>);
00444     <font class="keyword">virtual</font> CPLErr <a class="code" href="class_GDALRasterBand.html#a30">BuildOverviews</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> *, <font class="keywordtype">int</font>, <font class="keywordtype">int</font> *,
00445                                    GDALProgressFunc, <font class="keywordtype">void</font> * );
00446 
00447     CPLErr  <a class="code" href="class_GDALRasterBand.html#a31">GetHistogram</a>( <font class="keywordtype">double</font> dfMin, <font class="keywordtype">double</font> dfMax,
00448                           <font class="keywordtype">int</font> nBuckets, <font class="keywordtype">int</font> * panHistogram,
00449                           <font class="keywordtype">int</font> bIncludeOutOfRange, <font class="keywordtype">int</font> bApproxOK,
00450                           GDALProgressFunc, <font class="keywordtype">void</font> *pProgressData );
00451 };
00452 
00453 <font class="comment">/* ******************************************************************** */</font>
00454 <font class="comment">/*                             GDALOpenInfo                             */</font>
00455 <font class="comment">/*                                                                      */</font>
00456 <font class="comment">/*      Structure of data about dataset for open functions.             */</font>
00457 <font class="comment">/* ******************************************************************** */</font>
00458 
00459 <font class="keyword">class </font>CPL_DLL GDALOpenInfo
00460 {
00461   <font class="keyword">public</font>:
00462 
00463                 GDALOpenInfo( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszFile, GDALAccess eAccessIn );
00464                 ~GDALOpenInfo( <font class="keywordtype">void</font> );
00465     
00466     <font class="keywordtype">char</font>        *pszFilename;
00467 
00468     GDALAccess  eAccess;
00469 
00470     GBool       bStatOK;
00471     VSIStatBuf  sStat;
00472     
00473     FILE        *fp;
00474 
00475     <font class="keywordtype">int</font>         nHeaderBytes;
00476     GByte       *pabyHeader;
00477 
00478 };
00479 
00480 <font class="comment">/* ******************************************************************** */</font>
00481 <font class="comment">/*                              GDALDriver                              */</font>
00482 <font class="comment">/* ******************************************************************** */</font>
00483 
<a name="l00493"></a><a class="code" href="class_GDALDriver.html">00493</a> <font class="keyword">class </font>CPL_DLL <a class="code" href="class_GDALDriver.html">GDALDriver</a> : <font class="keyword">public</font> GDALMajorObject
00494 {
00495   <font class="keyword">public</font>:
00496                         GDALDriver();
00497                         ~GDALDriver();
00498 
<a name="l00500"></a><a class="code" href="class_GDALDriver.html#m0">00500</a>     <font class="keywordtype">char</font>                *pszShortName;
00501 
<a name="l00503"></a><a class="code" href="class_GDALDriver.html#m1">00503</a>     <font class="keywordtype">char</font>                *pszLongName;
00504 
<a name="l00506"></a><a class="code" href="class_GDALDriver.html#m2">00506</a>     <font class="keywordtype">char</font>                *pszHelpTopic;
00507     
00508     <a class="code" href="class_GDALDataset.html">GDALDataset</a>         *(*pfnOpen)( GDALOpenInfo * );
00509 
00510     <a class="code" href="class_GDALDataset.html">GDALDataset</a>         *(*pfnCreate)( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName,
00511                                        <font class="keywordtype">int</font> nXSize, <font class="keywordtype">int</font> nYSize, <font class="keywordtype">int</font> nBands,
00512                                        GDALDataType eType,
00513                                        <font class="keywordtype">char</font> ** papszOptions );
00514 
00515     <a class="code" href="class_GDALDataset.html">GDALDataset</a>         *<a class="code" href="class_GDALDriver.html#a2">Create</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName,
00516                                  <font class="keywordtype">int</font> nXSize, <font class="keywordtype">int</font> nYSize, <font class="keywordtype">int</font> nBands,
00517                                  GDALDataType eType, <font class="keywordtype">char</font> ** papszOptions );
00518 
00519     CPLErr              (*pfnDelete)( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName );
00520 
00521     CPLErr              <a class="code" href="class_GDALDriver.html#a3">Delete</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszName );
00522 
00523     <a class="code" href="class_GDALDataset.html">GDALDataset</a>         *<a class="code" href="class_GDALDriver.html#a4">CreateCopy</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> *, <a class="code" href="class_GDALDataset.html">GDALDataset</a> *, 
00524                                      <font class="keywordtype">int</font>, <font class="keywordtype">char</font> **,
00525                                      GDALProgressFunc pfnProgress, 
00526                                      <font class="keywordtype">void</font> * pProgressData );
00527     
00528     <a class="code" href="class_GDALDataset.html">GDALDataset</a>         *(*pfnCreateCopy)( <font class="keyword">const</font> <font class="keywordtype">char</font> *, <a class="code" href="class_GDALDataset.html">GDALDataset</a> *, 
00529                                            <font class="keywordtype">int</font>, <font class="keywordtype">char</font> **,
00530                                            GDALProgressFunc pfnProgress, 
00531                                            <font class="keywordtype">void</font> * pProgressData );
00532 };
00533 
00534 <font class="comment">/* ******************************************************************** */</font>
00535 <font class="comment">/*                          GDALDriverManager                           */</font>
00536 <font class="comment">/* ******************************************************************** */</font>
00537 
<a name="l00545"></a><a class="code" href="class_GDALDriverManager.html">00545</a> <font class="keyword">class </font>CPL_DLL <a class="code" href="class_GDALDriverManager.html">GDALDriverManager</a> : <font class="keyword">public</font> GDALMajorObject
00546 {
00547     <font class="keywordtype">int</font>         nDrivers;
00548     <a class="code" href="class_GDALDriver.html">GDALDriver</a>  **papoDrivers;
00549 
00550     <font class="keywordtype">char</font>        *pszHome;
00551     
00552  <font class="keyword">public</font>:
00553                 GDALDriverManager();
00554                 ~GDALDriverManager();
00555                 
00556     <font class="keywordtype">int</font>         <a class="code" href="class_GDALDriverManager.html#a2">GetDriverCount</a>( <font class="keywordtype">void</font> );
00557     <a class="code" href="class_GDALDriver.html">GDALDriver</a>  *<a class="code" href="class_GDALDriverManager.html#a3">GetDriver</a>( <font class="keywordtype">int</font> );
00558     <a class="code" href="class_GDALDriver.html">GDALDriver</a>  *<a class="code" href="class_GDALDriverManager.html#a4">GetDriverByName</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> * );
00559 
00560     <font class="keywordtype">int</font>         <a class="code" href="class_GDALDriverManager.html#a5">RegisterDriver</a>( <a class="code" href="class_GDALDriver.html">GDALDriver</a> * );
00561     <font class="keywordtype">void</font>        MoveDriver( <a class="code" href="class_GDALDriver.html">GDALDriver</a> *, <font class="keywordtype">int</font> );
00562     <font class="keywordtype">void</font>        <a class="code" href="class_GDALDriverManager.html#a7">DeregisterDriver</a>( <a class="code" href="class_GDALDriver.html">GDALDriver</a> * );
00563 
00564     <font class="keywordtype">void</font>        <a class="code" href="class_GDALDriverManager.html#a8">AutoLoadDrivers</a>();
00565 
00566     <font class="keyword">const</font> <font class="keywordtype">char</font> *GetHome();
00567     <font class="keywordtype">void</font>        SetHome( <font class="keyword">const</font> <font class="keywordtype">char</font> * );
00568 };
00569 
00570 CPL_C_START
00571 <a class="code" href="class_GDALDriverManager.html">GDALDriverManager</a> CPL_DLL * GetGDALDriverManager( <font class="keywordtype">void</font> );
00572 CPL_C_END
00573 
00574 <font class="comment">/* ==================================================================== */</font>
00575 <font class="comment">/*      An assortment of overview related stuff.                        */</font>
00576 <font class="comment">/* ==================================================================== */</font>
00577 
00578 CPL_C_START
00579 
00580 CPLErr 
00581 GTIFFBuildOverviews( <font class="keyword">const</font> <font class="keywordtype">char</font> * pszFilename,
00582                      <font class="keywordtype">int</font> nBands, <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> **papoBandList, 
00583                      <font class="keywordtype">int</font> nOverviews, <font class="keywordtype">int</font> * panOverviewList,
00584                      <font class="keyword">const</font> <font class="keywordtype">char</font> * pszResampling, 
00585                      GDALProgressFunc pfnProgress, <font class="keywordtype">void</font> * pProgressData );
00586 
00587 CPLErr
00588 GDALDefaultBuildOverviews( <a class="code" href="class_GDALDataset.html">GDALDataset</a> *hSrcDS, <font class="keyword">const</font> <font class="keywordtype">char</font> * pszBasename,
00589                            <font class="keyword">const</font> <font class="keywordtype">char</font> * pszResampling, 
00590                            <font class="keywordtype">int</font> nOverviews, <font class="keywordtype">int</font> * panOverviewList,
00591                            <font class="keywordtype">int</font> nBands, <font class="keywordtype">int</font> * panBandList,
00592                            GDALProgressFunc pfnProgress, <font class="keywordtype">void</font> * pProgressData);
00593                            
00594 
00595 CPLErr
00596 GDALRegenerateOverviews( <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> *, <font class="keywordtype">int</font>, <a class="code" href="class_GDALRasterBand.html">GDALRasterBand</a> **,
00597                          <font class="keyword">const</font> <font class="keywordtype">char</font> *, GDALProgressFunc, <font class="keywordtype">void</font> * );
00598 
00599 CPL_C_END
00600 
00601 <font class="preprocessor">#endif </font><font class="comment">/* ndef GDAL_PRIV_H_INCLUDED */</font>
</div></pre><hr><address><small>Generated at Thu Mar 28 09:47:30 2002 for GDAL by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.3-20001105 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>