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 #ifndef OSGEARTH_ENGINE_SERIAL_KEY_NODE_FACTORY 00020 #define OSGEARTH_ENGINE_SERIAL_KEY_NODE_FACTORY 1 00021 00022 #include "Common" 00023 #include "KeyNodeFactory" 00024 #include "Terrain" 00025 #include "TileBuilder" 00026 00027 using namespace osgEarth; 00028 00029 class SerialKeyNodeFactory : public KeyNodeFactory 00030 { 00031 public: 00032 SerialKeyNodeFactory( 00033 TileBuilder* builder, 00034 const OSGTerrainOptions& options, 00035 const MapInfo& mapInfo, 00036 Terrain* terrain, 00037 UID engineUID ); 00038 00039 osg::Node* createNode( const TileKey& key ); 00040 00041 protected: 00042 void addTile(Tile* tile, bool tileHasRealData, bool tileHasLodBlending, osg::Group* parent ); 00043 00044 TileBuilder* _builder; 00045 const OSGTerrainOptions& _options; 00046 const MapInfo _mapInfo; 00047 Terrain* _terrain; 00048 UID _engineUID; 00049 }; 00050 00051 #endif // OSGEARTH_ENGINE_PARALLEL_KEY_NODE_FACTORY