osgEarth 2.1.1
|
00001 /* -*-c++-*- */ 00002 /* osgEarth - Dynamic map generation toolkit for OpenSceneGraph 00003 * Copyright 2008-2010 Pelican Mapping 00004 * http://osgearth.org 00005 * 00006 * osgEarth is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU Lesser General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public License 00017 * along with this program. If not, see <http://www.gnu.org/licenses/> 00018 */ 00019 00020 #ifndef OSGEARTH_WCS_PLUGIN_WCS11SOURCE_H_ 00021 #define OSGEARTH_WCS_PLUGIN_WCS11SOURCE_H_ 1 00022 00023 #include <osgEarth/TileKey> 00024 #include <osgEarth/TileSource> 00025 #include <osgEarth/HTTPClient> 00026 #include <osg/Image> 00027 #include <osg/Shape> 00028 #include <osgDB/ReaderWriter> 00029 #include <string> 00030 #include "WCSOptions" 00031 00032 using namespace osgEarth; 00033 using namespace osgEarth::Drivers; 00034 00035 class WCS11Source : public TileSource 00036 { 00037 public: 00038 WCS11Source( const TileSourceOptions& opt ); 00039 00040 osg::Image* createImage( const TileKey& key, 00041 ProgressCallback* progress = 0 ); 00042 00043 osg::HeightField* createHeightField( const TileKey& key, 00044 ProgressCallback* progress = 0 ); 00045 00046 std::string getExtension() const; 00047 00048 public: // TileSource interface 00049 00050 // override 00051 void initialize( const std::string& referenceURI, const Profile* overrideProfile); 00052 00053 private: 00054 const WCSOptions _options; 00055 std::string _covFormat, _osgFormat; 00056 00057 HTTPRequest createRequest( const TileKey& key ) const; 00058 }; 00059 00060 #endif // OSGEARTH_WCS_PLUGIN_WCS11SOURCE_H_