osgEarth 2.1.1

/home/cube/sources/osgearth/src/osgEarth/MapNodeOptions

Go to the documentation of this file.
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 #ifndef OSGEARTH_MAP_NODE_OPTIONS_H
00020 #define OSGEARTH_MAP_NODE_OPTIONS_H 1
00021 
00022 #include <osgEarth/Common>
00023 #include <osgEarth/Config>
00024 #include <osgEarth/HeightFieldUtils>
00025 #include <osgEarth/HTTPClient>
00026 #include <osgEarth/Profile>
00027 #include <osgEarth/Revisioning>
00028 #include <osgEarth/TerrainOptions>
00029 #include <set>
00030 
00031 namespace osgEarth
00032 {
00036     class OSGEARTH_EXPORT MapNodeOptions : public ConfigOptions
00037     {
00038     public:
00039         MapNodeOptions( const Config& conf =Config() );
00040         MapNodeOptions( const TerrainOptions& terrainOpts );
00041         virtual ~MapNodeOptions();
00042 
00047         optional<ProxySettings>& proxySettings() { return _proxySettings; }
00048         const optional<ProxySettings>& proxySettings() const { return _proxySettings; }
00049 
00054         optional<bool>& cacheOnly() { return _cacheOnly; }
00055         const optional<bool>& cacheOnly() const { return _cacheOnly; }
00056 
00060         optional<bool>& enableLighting() { return _enableLighting; }
00061         const optional<bool>& enableLighting() const { return _enableLighting; } 
00062 
00066         optional<bool>& overlayVertexWarping() { return _overlayVertexWarping; }
00067         const optional<bool>& overlayVertexWarping() const { return _overlayVertexWarping; }
00068 
00072         optional<bool>& overlayBlending() { return _overlayBlending; }
00073         const optional<bool>& overlayBlending() const { return _overlayBlending; }
00074 
00078         optional<unsigned>& overlayTextureSize() { return _overlayTextureSize; }
00079         const optional<unsigned>& overlayTextureSize() const { return _overlayTextureSize; }
00080 
00085         const TerrainOptions& getTerrainOptions() const;
00086         void setTerrainOptions( const TerrainOptions& options );     
00087     
00088     public:
00089         virtual Config getConfig() const;
00090         virtual void mergeConfig( const Config& conf );
00091 
00092         static std::string OPTIONS_TAG;
00093 
00094     private:            
00095         optional<ProxySettings> _proxySettings;
00096         optional<bool> _cacheOnly;
00097         optional<bool> _enableLighting;
00098         optional<bool> _overlayVertexWarping;
00099         optional<bool> _overlayBlending;
00100         optional<unsigned> _overlayTextureSize;
00101 
00102         optional<Config> _terrainOptionsConf;
00103         TerrainOptions* _terrainOptions;
00104     };
00105 }
00106 
00107 #endif // OSGEARTH_MAP_NODE_OPTIONS_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines