GDAL
gdalgeorefpamdataset.h
00001 /******************************************************************************
00002  * $Id: gdalgeorefpamdataset.h 36501 2016-11-25 14:09:24Z rouault $
00003  *
00004  * Project:  GDAL
00005  * Purpose:  GDALPamDataset with internal storage for georeferencing, with
00006  *           priority for PAM over internal georeferencing
00007  * Author:   Even Rouault <even dot rouault at mines-paris dot org>
00008  *
00009  ******************************************************************************
00010  * Copyright (c) 2013, Even Rouault <even dot rouault at mines-paris dot org>
00011  *
00012  * Permission is hereby granted, free of charge, to any person obtaining a
00013  * copy of this software and associated documentation files (the "Software"),
00014  * to deal in the Software without restriction, including without limitation
00015  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00016  * and/or sell copies of the Software, and to permit persons to whom the
00017  * Software is furnished to do so, subject to the following conditions:
00018  *
00019  * The above copyright notice and this permission notice shall be included
00020  * in all copies or substantial portions of the Software.
00021  *
00022  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00023  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00024  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00025  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00026  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00027  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00028  * DEALINGS IN THE SOFTWARE.
00029  ****************************************************************************/
00030 
00031 #ifndef GDAL_GEOREF_PAM_DATASET_H_INCLUDED
00032 #define GDAL_GEOREF_PAM_DATASET_H_INCLUDED
00033 
00034 #ifndef DOXYGEN_SKIP
00035 
00036 #include "gdal_pam.h"
00037 
00038 class CPL_DLL GDALGeorefPamDataset : public GDALPamDataset
00039 {
00040   protected:
00041     bool        bGeoTransformValid;
00042     double      adfGeoTransform[6];
00043     char        *pszProjection;
00044     int         nGCPCount;
00045     GDAL_GCP    *pasGCPList;
00046     char**      m_papszRPC;
00047     bool        m_bPixelIsPoint;
00048 
00049     int         m_nGeoTransformGeorefSrcIndex;
00050     int         m_nGCPGeorefSrcIndex;
00051     int         m_nProjectionGeorefSrcIndex;
00052     int         m_nRPCGeorefSrcIndex;
00053     int         m_nPixelIsPointGeorefSrcIndex;
00054 
00055     int         GetPAMGeorefSrcIndex();
00056     bool        m_bGotPAMGeorefSrcIndex;
00057     int         m_nPAMGeorefSrcIndex;
00058 
00059     bool        m_bPAMLoaded;
00060     char**      m_papszMainMD;
00061 
00062   public:
00063         GDALGeorefPamDataset();
00064         virtual ~GDALGeorefPamDataset();
00065 
00066     virtual CPLErr TryLoadXML(char **papszSiblingFiles = NULL) CPL_OVERRIDE;
00067 
00068     virtual CPLErr          GetGeoTransform( double * ) CPL_OVERRIDE;
00069     virtual const char     *GetProjectionRef() CPL_OVERRIDE;
00070 
00071     virtual int             GetGCPCount() CPL_OVERRIDE;
00072     virtual const char     *GetGCPProjection() CPL_OVERRIDE;
00073     virtual const GDAL_GCP *GetGCPs() CPL_OVERRIDE;
00074 
00075     virtual char      **GetMetadata( const char * pszDomain = "" ) CPL_OVERRIDE;
00076     virtual const char *GetMetadataItem( const char * pszName,
00077                                           const char * pszDomain = "" ) CPL_OVERRIDE;
00078     virtual CPLErr      SetMetadata( char ** papszMetadata,
00079                              const char * pszDomain = "" ) CPL_OVERRIDE;
00080     virtual CPLErr      SetMetadataItem( const char * pszName,
00081                                  const char * pszValue,
00082                                  const char * pszDomain = "" ) CPL_OVERRIDE;
00083 };
00084 
00085 #endif /* #ifndef DOXYGEN_SKIP */
00086 
00087 #endif /* GDAL_GEOREF_PAM_DATASET_H_INCLUDED */

Generated for GDAL by doxygen 1.7.6.1.