Changeset 908
- Timestamp:
- 03/27/08 12:45:35
- Files:
-
- trunk/applications/osgdem/osgdem.cpp (modified) (3 diffs)
- trunk/applications/vpbcache/vpbcache.cpp (modified) (2 diffs)
- trunk/include/vpb/Commandline (modified) (3 diffs)
- trunk/include/vpb/DataSet (modified) (2 diffs)
- trunk/include/vpb/FileCache (modified) (2 diffs)
- trunk/include/vpb/System (modified) (1 diff)
- trunk/include/vpb/TaskManager (modified) (2 diffs)
- trunk/src/vpb/Commandline.cpp (modified) (6 diffs)
- trunk/src/vpb/DataSet.cpp (modified) (12 diffs)
- trunk/src/vpb/Destination.cpp (modified) (8 diffs)
- trunk/src/vpb/FileCache.cpp (modified) (4 diffs)
- trunk/src/vpb/System.cpp (modified) (1 diff)
- trunk/src/vpb/TaskManager.cpp (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/applications/osgdem/osgdem.cpp
r903 r908 86 86 87 87 88 osg::ref_ptr<osgTerrain::Terrain > terrain = 0;88 osg::ref_ptr<osgTerrain::TerrainTile> terrain = 0; 89 89 90 90 … … 126 126 if (node.valid()) 127 127 { 128 osgTerrain::Terrain * loaded_terrain = dynamic_cast<osgTerrain::Terrain*>(node.get());128 osgTerrain::TerrainTile* loaded_terrain = dynamic_cast<osgTerrain::TerrainTile*>(node.get()); 129 129 if (loaded_terrain) 130 130 { … … 164 164 } 165 165 166 if (!terrain) terrain = new osgTerrain::Terrain ;166 if (!terrain) terrain = new osgTerrain::TerrainTile; 167 167 168 168 std::string terrainOutputName; trunk/applications/vpbcache/vpbcache.cpp
r832 r908 49 49 50 50 // read any source input definitions 51 osg::ref_ptr<osgTerrain::Terrain > terrain = new osgTerrain::Terrain;51 osg::ref_ptr<osgTerrain::TerrainTile> terrain = new osgTerrain::TerrainTile; 52 52 53 53 std::string filename; … … 57 57 if (node.valid()) 58 58 { 59 osgTerrain::Terrain * loaded_terrain = dynamic_cast<osgTerrain::Terrain*>(node.get());59 osgTerrain::TerrainTile* loaded_terrain = dynamic_cast<osgTerrain::TerrainTile*>(node.get()); 60 60 if (loaded_terrain) 61 61 { trunk/include/vpb/Commandline
r791 r908 13 13 14 14 #include <osg/ArgumentParser> 15 #include <osgTerrain/Terrain >15 #include <osgTerrain/TerrainTile> 16 16 17 17 #include <vpb/Source> … … 43 43 void getUsage(osg::ApplicationUsage& usage); 44 44 45 int read(std::ostream& fout, osg::ArgumentParser& arguments, osgTerrain::Terrain * terrainInput);45 int read(std::ostream& fout, osg::ArgumentParser& arguments, osgTerrain::TerrainTile* terrainInput); 46 46 47 47 protected: … … 49 49 unsigned int readMask(const std::string& maskstring); 50 50 51 osg::ref_ptr<osgTerrain::Terrain > terrain;52 osg::ref_ptr<BuildOptions> buildOptions;51 osg::ref_ptr<osgTerrain::TerrainTile> terrainTile; 52 osg::ref_ptr<BuildOptions> buildOptions; 53 53 54 vpb::SpatialProperties::DataType dataType;55 std::string currentCS;56 osg::Matrixd geoTransform;57 bool geoTransformSet;58 bool geoTransformScale;54 vpb::SpatialProperties::DataType dataType; 55 std::string currentCS; 56 osg::Matrixd geoTransform; 57 bool geoTransformSet; 58 bool geoTransformScale; 59 59 60 60 bool minmaxLevelSet; trunk/include/vpb/DataSet
r886 r908 28 28 #include <osg/CoordinateSystemNode> 29 29 30 #include <osgTerrain/Terrain >30 #include <osgTerrain/TerrainTile> 31 31 32 32 #include <osgDB/Archive> … … 109 109 bool addModel(Source::Type type, osg::Node* node); 110 110 bool addLayer(Source::Type type, osgTerrain::Layer* layer, unsigned layerNum); 111 bool addTerrain(osgTerrain::Terrain * terrain);112 113 osgTerrain::Terrain * createTerrainRepresentation();111 bool addTerrain(osgTerrain::TerrainTile* terrain); 112 113 osgTerrain::TerrainTile* createTerrainRepresentation(); 114 114 115 115 void loadSources(); trunk/include/vpb/FileCache
r828 r908 16 16 17 17 #include <osgDB/FileUtils> 18 #include <osgTerrain/Terrain >18 #include <osgTerrain/TerrainTile> 19 19 20 20 #include <OpenThreads/Mutex> … … 74 74 75 75 /** add FileDetails for each source file in specified source.*/ 76 void addSource(osgTerrain::Terrain * source);76 void addSource(osgTerrain::TerrainTile* source); 77 77 78 78 /** reproject any source files to the coordinate system required to build the specified source.*/ 79 void buildRequiredReprojections(osgTerrain::Terrain * source);79 void buildRequiredReprojections(osgTerrain::TerrainTile* source); 80 80 81 81 /** build overview levels for each source file.*/ 82 void buildOverviews(osgTerrain::Terrain * source);82 void buildOverviews(osgTerrain::TerrainTile* source); 83 83 84 84 /** copy files from the master to the specified machine's cache directory.*/ 85 void mirror(Machine* machine, osgTerrain::Terrain * source);85 void mirror(Machine* machine, osgTerrain::TerrainTile* source); 86 86 87 87 /** copy and individual file to specificed machines local cache.*/ trunk/include/vpb/System
r887 r908 106 106 107 107 /** Return the date of last modification from the list of source specified on the terrain source.*/ 108 bool getDateOfLastModification(osgTerrain::Terrain * source, Date& date);108 bool getDateOfLastModification(osgTerrain::TerrainTile* source, Date& date); 109 109 110 110 /** Return the size of a file in bytes.*/ trunk/include/vpb/TaskManager
r887 r908 38 38 int read(osg::ArgumentParser& arguments); 39 39 40 void setSource(osgTerrain::Terrain * terrain);41 osgTerrain::Terrain * getSource();40 void setSource(osgTerrain::TerrainTile* terrain); 41 osgTerrain::TerrainTile* getSource(); 42 42 43 43 /** start a new set of tasks.*/ … … 144 144 static void signalHandler(int sig); 145 145 146 std::string _runPath;147 std::string _buildName;146 std::string _runPath; 147 std::string _buildName; 148 148 149 osg::ref_ptr<Task> _taskFile;149 osg::ref_ptr<Task> _taskFile; 150 150 151 std::string _sourceFileName;152 osg::ref_ptr<osgTerrain::Terrain > _terrain;151 std::string _sourceFileName; 152 osg::ref_ptr<osgTerrain::TerrainTile> _terrainTile; 153 153 154 154 std::string _tasksFileName; trunk/src/vpb/Commandline.cpp
r894 r908 106 106 if (type==vpb::Source::IMAGE) 107 107 { 108 existingLayer = (layerNum < terrain ->getNumColorLayers()) ? terrain->getColorLayer(layerNum) : 0;108 existingLayer = (layerNum < terrainTile->getNumColorLayers()) ? terrainTile->getColorLayer(layerNum) : 0; 109 109 compositeLayer = dynamic_cast<osgTerrain::CompositeLayer*>(existingLayer); 110 110 … … 114 114 if (existingLayer) compositeLayer->addLayer(existingLayer); 115 115 116 terrain ->setColorLayer(layerNum, compositeLayer);116 terrainTile->setColorLayer(layerNum, compositeLayer); 117 117 } 118 118 } 119 119 else if (type==vpb::Source::HEIGHT_FIELD) 120 120 { 121 existingLayer = terrain ->getElevationLayer();121 existingLayer = terrainTile->getElevationLayer(); 122 122 compositeLayer = dynamic_cast<osgTerrain::CompositeLayer*>(existingLayer); 123 123 … … 127 127 if (existingLayer) compositeLayer->addLayer(existingLayer); 128 128 129 terrain ->setElevationLayer(compositeLayer);129 terrainTile->setElevationLayer(compositeLayer); 130 130 } 131 131 } … … 347 347 348 348 349 terrain ->addChild(model.get());349 terrainTile->addChild(model.get()); 350 350 } 351 351 else … … 385 385 model->addDescription("MODEL"); 386 386 387 terrain ->addChild(model.get());387 terrainTile->addChild(model.get()); 388 388 } 389 389 else … … 499 499 } 500 500 501 int Commandline::read(std::ostream& fout, osg::ArgumentParser& arguments, osgTerrain::Terrain * terrainInput)502 { 503 terrain = terrainInput;504 505 vpb::DatabaseBuilder* databaseBuilder = dynamic_cast<vpb::DatabaseBuilder*>(terrain ->getTerrainTechnique());501 int Commandline::read(std::ostream& fout, osg::ArgumentParser& arguments, osgTerrain::TerrainTile* terrainInput) 502 { 503 terrainTile = terrainInput; 504 505 vpb::DatabaseBuilder* databaseBuilder = dynamic_cast<vpb::DatabaseBuilder*>(terrainTile->getTerrainTechnique()); 506 506 if (!databaseBuilder) 507 507 { 508 508 databaseBuilder = new vpb::DatabaseBuilder; 509 terrain ->setTerrainTechnique(databaseBuilder);509 terrainTile->setTerrainTechnique(databaseBuilder); 510 510 } 511 511 trunk/src/vpb/DataSet.cpp
r899 r908 231 231 { 232 232 // place models and shapefiles into a separate temporary source list and then process these after 233 // the main handling of terrain /imagery sources.233 // the main handling of terrainTile/imagery sources. 234 234 continue; 235 235 … … 1507 1507 virtual void apply(osg::Group& group) 1508 1508 { 1509 osgTerrain::Terrain * terrain = dynamic_cast<osgTerrain::Terrain*>(&group);1510 if (terrain )1511 { 1512 applyTerrain(*terrain );1509 osgTerrain::TerrainTile* terrainTile = dynamic_cast<osgTerrain::TerrainTile*>(&group); 1510 if (terrainTile) 1511 { 1512 applyTerrain(*terrainTile); 1513 1513 } 1514 1514 else … … 1518 1518 } 1519 1519 1520 void applyTerrain(osgTerrain::Terrain & terrain)1521 { 1522 if (terrain .getStateSet()) apply(*(terrain.getStateSet()));1520 void applyTerrain(osgTerrain::TerrainTile& terrainTile) 1521 { 1522 if (terrainTile.getStateSet()) apply(*(terrainTile.getStateSet())); 1523 1523 1524 1524 // need to iterator through images stored in layers … … 2057 2057 } 2058 2058 2059 bool DataSet::addTerrain(osgTerrain::Terrain * terrain)2060 { 2061 log(osg::NOTICE,"Adding terrain %s",terrain->getName().c_str());2062 2063 if (terrain ->getLocator())2059 bool DataSet::addTerrain(osgTerrain::TerrainTile* terrainTile) 2060 { 2061 log(osg::NOTICE,"Adding terrainTile %s",terrainTile->getName().c_str()); 2062 2063 if (terrainTile->getLocator()) 2064 2064 { 2065 2065 } 2066 2066 2067 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(terrain ->getTerrainTechnique());2067 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(terrainTile->getTerrainTechnique()); 2068 2068 if (db && db->getBuildOptions()) 2069 2069 { … … 2071 2071 } 2072 2072 2073 if (terrain ->getElevationLayer())2074 { 2075 addLayer(vpb::Source::HEIGHT_FIELD, terrain ->getElevationLayer(), 0);2076 } 2077 2078 for(unsigned int i=0; i<terrain ->getNumColorLayers();++i)2079 { 2080 osgTerrain::Layer* layer = terrain ->getColorLayer(i);2073 if (terrainTile->getElevationLayer()) 2074 { 2075 addLayer(vpb::Source::HEIGHT_FIELD, terrainTile->getElevationLayer(), 0); 2076 } 2077 2078 for(unsigned int i=0; i<terrainTile->getNumColorLayers();++i) 2079 { 2080 osgTerrain::Layer* layer = terrainTile->getColorLayer(i); 2081 2081 if (layer) 2082 2082 { … … 2085 2085 } 2086 2086 2087 for(unsigned int ci=0; ci<terrain ->getNumChildren(); ++ci)2088 { 2089 2090 osg::Node* model = terrain ->getChild(ci);2087 for(unsigned int ci=0; ci<terrainTile->getNumChildren(); ++ci) 2088 { 2089 2090 osg::Node* model = terrainTile->getChild(ci); 2091 2091 2092 2092 osg::notify(osg::NOTICE)<<"Adding model"<<model->getName()<<std::endl; … … 2105 2105 } 2106 2106 2107 osgTerrain::Terrain * DataSet::createTerrainRepresentation()2108 { 2109 osg::ref_ptr<osgTerrain::Terrain > terrain = new osgTerrain::Terrain;2107 osgTerrain::TerrainTile* DataSet::createTerrainRepresentation() 2108 { 2109 osg::ref_ptr<osgTerrain::TerrainTile> terrainTile = new osgTerrain::TerrainTile; 2110 2110 2111 2111 for(CompositeSource::source_iterator itr(_sourceGraph.get());itr.valid();++itr) … … 2155 2155 if (source->getType()==Source::IMAGE) 2156 2156 { 2157 osgTerrain::Layer* existingLayer = (layerNum < terrain ->getNumColorLayers()) ? terrain->getColorLayer(layerNum) : 0;2157 osgTerrain::Layer* existingLayer = (layerNum < terrainTile->getNumColorLayers()) ? terrainTile->getColorLayer(layerNum) : 0; 2158 2158 osgTerrain::CompositeLayer* compositeLayer = dynamic_cast<osgTerrain::CompositeLayer*>(existingLayer); 2159 2159 … … 2168 2168 compositeLayer->addLayer( loadedLayer ); 2169 2169 2170 terrain ->setColorLayer(layerNum, compositeLayer);2170 terrainTile->setColorLayer(layerNum, compositeLayer); 2171 2171 } 2172 2172 else 2173 2173 { 2174 terrain ->setColorLayer(layerNum, loadedLayer);2174 terrainTile->setColorLayer(layerNum, loadedLayer); 2175 2175 } 2176 2176 } 2177 2177 else if (source->getType()==Source::HEIGHT_FIELD) 2178 2178 { 2179 osgTerrain::Layer* existingLayer = terrain ->getElevationLayer();2179 osgTerrain::Layer* existingLayer = terrainTile->getElevationLayer(); 2180 2180 osgTerrain::CompositeLayer* compositeLayer = dynamic_cast<osgTerrain::CompositeLayer*>(existingLayer); 2181 2181 … … 2190 2190 compositeLayer->addLayer( loadedLayer ); 2191 2191 2192 terrain ->setElevationLayer(compositeLayer);2192 terrainTile->setElevationLayer(compositeLayer); 2193 2193 } 2194 2194 else 2195 2195 { 2196 terrain ->setElevationLayer(loadedLayer);2196 terrainTile->setElevationLayer(loadedLayer); 2197 2197 } 2198 2198 } … … 2203 2203 builder->setBuildOptions(new BuildOptions(*this)); 2204 2204 builder->setBuildLog(getBuildLog()); 2205 terrain ->setTerrainTechnique(builder.get());2206 2207 return terrain .release();2205 terrainTile->setTerrainTechnique(builder.get()); 2206 2207 return terrainTile.release(); 2208 2208 } 2209 2209 … … 2809 2809 if (!getIntermediateBuildName().empty()) 2810 2810 { 2811 osg::ref_ptr<osgTerrain::Terrain > terrain= createTerrainRepresentation();2812 if (terrain .valid())2813 { 2814 DatabaseBuilder* db = dynamic_cast<DatabaseBuilder*>(terrain ->getTerrainTechnique());2811 osg::ref_ptr<osgTerrain::TerrainTile> terrainTile = createTerrainRepresentation(); 2812 if (terrainTile.valid()) 2813 { 2814 DatabaseBuilder* db = dynamic_cast<DatabaseBuilder*>(terrainTile->getTerrainTechnique()); 2815 2815 if (db && db->getBuildOptions()) 2816 2816 { 2817 2817 db->getBuildOptions()->setIntermediateBuildName(""); 2818 2818 } 2819 osgDB::writeNodeFile(*terrain ,getIntermediateBuildName());2819 osgDB::writeNodeFile(*terrainTile,getIntermediateBuildName()); 2820 2820 requiresGenerationOfTiles = false; 2821 2821 } trunk/src/vpb/Destination.cpp
r892 r908 1451 1451 1452 1452 // create the terrain node that we'll hang the height field off 1453 osgTerrain::Terrain * terrain = new osgTerrain::Terrain;1454 terrain ->setLocator(locator);1453 osgTerrain::TerrainTile* terrainTile = new osgTerrain::TerrainTile; 1454 terrainTile->setLocator(locator); 1455 1455 1456 1456 … … 1461 1461 hfLayer->setLocator(locator); 1462 1462 1463 terrain ->setElevationLayer(hfLayer);1463 terrainTile->setElevationLayer(hfLayer); 1464 1464 } 1465 1465 … … 1479 1479 imageLayer->setLocator(locator); 1480 1480 1481 terrain ->setColorLayer(layerNum, imageLayer);1481 terrainTile->setColorLayer(layerNum, imageLayer); 1482 1482 } 1483 1483 } … … 1493 1493 ++layerNum) 1494 1494 { 1495 layer = terrain ->getColorLayer(layerNum);1495 layer = terrainTile->getColorLayer(layerNum); 1496 1496 } 1497 1497 … … 1503 1503 ++layerNum) 1504 1504 { 1505 if (!terrain ->getColorLayer(layerNum))1505 if (!terrainTile->getColorLayer(layerNum)) 1506 1506 { 1507 terrain ->setColorLayer(layerNum,layer);1507 terrainTile->setColorLayer(layerNum,layer); 1508 1508 } 1509 1509 } … … 1519 1519 ++layerNum) 1520 1520 { 1521 osgTerrain::Layer* localLayer = terrain ->getColorLayer(layerNum);1521 osgTerrain::Layer* localLayer = terrainTile->getColorLayer(layerNum); 1522 1522 if (localLayer) layer = localLayer; 1523 else if (layer) terrain ->setColorLayer(layerNum, layer);1523 else if (layer) terrainTile->setColorLayer(layerNum, layer); 1524 1524 else ++noBlanks; 1525 1525 } … … 1532 1532 --layerNum) 1533 1533 { 1534 osgTerrain::Layer* localLayer = terrain ->getColorLayer(layerNum);1534 osgTerrain::Layer* localLayer = terrainTile->getColorLayer(layerNum); 1535 1535 if (localLayer) layer = localLayer; 1536 else if (layer) terrain ->setColorLayer(layerNum, layer);1536 else if (layer) terrainTile->setColorLayer(layerNum, layer); 1537 1537 } 1538 1538 } … … 1549 1549 // assign the terrain technique that will be used to render the terrain tile. 1550 1550 osgTerrain::GeometryTechnique* gt = new osgTerrain::GeometryTechnique; 1551 terrain ->setTerrainTechnique(gt);1551 terrainTile->setTerrainTechnique(gt); 1552 1552 1553 1553 // assign cluster culling callback to terrain 1554 terrain ->setCullCallback(createClusterCullingCallback());1555 1556 return terrain ;1554 terrainTile->setCullCallback(createClusterCullingCallback()); 1555 1556 return terrainTile; 1557 1557 } 1558 1558 trunk/src/vpb/FileCache.cpp
r870 r908 462 462 } 463 463 464 void FileCache::addSource(osgTerrain::Terrain * source)464 void FileCache::addSource(osgTerrain::TerrainTile* source) 465 465 { 466 466 if (!source) return; … … 487 487 } 488 488 489 void FileCache::buildRequiredReprojections(osgTerrain::Terrain * source)489 void FileCache::buildRequiredReprojections(osgTerrain::TerrainTile* source) 490 490 { 491 491 if (!source) return; … … 553 553 554 554 555 void FileCache::buildOverviews(osgTerrain::Terrain * source)555 void FileCache::buildOverviews(osgTerrain::TerrainTile* source) 556 556 { 557 557 … … 640 640 } 641 641 642 void FileCache::mirror(Machine* machine, osgTerrain::Terrain * source)642 void FileCache::mirror(Machine* machine, osgTerrain::TerrainTile* source) 643 643 { 644 644 log(osg::NOTICE,"FileCache::mirror(%s)",machine->getHostName().c_str()); trunk/src/vpb/System.cpp
r887 r908 339 339 } 340 340 341 bool System::getDateOfLastModification(osgTerrain::Terrain * source, Date& date)341 bool System::getDateOfLastModification(osgTerrain::TerrainTile* source, Date& date) 342 342 { 343 343 typedef std::list<osgTerrain::Layer*> Layers; trunk/src/vpb/TaskManager.cpp
r903 r908 89 89 } 90 90 91 if (!_terrain ) _terrain = new osgTerrain::Terrain;91 if (!_terrainTile) _terrainTile = new osgTerrain::TerrainTile; 92 92 93 93 std::string terrainOutputName; … … 98 98 99 99 100 int result = commandlineParser.read(std::cout, arguments, _terrain .get());100 int result = commandlineParser.read(std::cout, arguments, _terrainTile.get()); 101 101 if (result) return result; 102 102 … … 105 105 if (!terrainOutputName.empty()) 106 106 { 107 if (_terrain .valid())108 { 109 osgDB::writeNodeFile(*_terrain , terrainOutputName);107 if (_terrainTile.valid()) 108 { 109 osgDB::writeNodeFile(*_terrainTile, terrainOutputName); 110 110 111 111 // make sure the changes are written to disk. … … 134 134 } 135 135 136 void TaskManager::setSource(osgTerrain::Terrain * terrain)137 { 138 _terrain = terrain;139 } 140 141 osgTerrain::Terrain * TaskManager::getSource()142 { 143 return _terrain .get();136 void TaskManager::setSource(osgTerrain::TerrainTile* terrainTile) 137 { 138 _terrainTile = terrainTile; 139 } 140 141 osgTerrain::TerrainTile* TaskManager::getSource() 142 { 143 return _terrainTile.get(); 144 144 } 145 145 … … 184 184 { 185 185 186 if (_terrain .valid())186 if (_terrainTile.valid()) 187 187 { 188 188 try … … 190 190 osg::ref_ptr<vpb::DataSet> dataset = new vpb::DataSet; 191 191 192 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrain ->getTerrainTechnique());192 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrainTile->getTerrainTechnique()); 193 193 vpb::BuildOptions* bo = db ? db->getBuildOptions() : 0; 194 194 … … 203 203 } 204 204 205 dataset->addTerrain(_terrain .get());205 dataset->addTerrain(_terrainTile.get()); 206 206 207 207 int result = dataset->run(); … … 225 225 bool result = false; 226 226 227 if (_terrain .valid())227 if (_terrainTile.valid()) 228 228 { 229 229 try … … 231 231 osg::ref_ptr<vpb::DataSet> dataset = new vpb::DataSet; 232 232 233 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrain ->getTerrainTechnique());233 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrainTile->getTerrainTechnique()); 234 234 vpb::BuildOptions* bo = db ? db->getBuildOptions() : 0; 235 235 … … 244 244 } 245 245 246 dataset->addTerrain(_terrain .get());246 dataset->addTerrain(_terrainTile.get()); 247 247 248 248 if (dataset->requiresReprojection()) … … 439 439 bool TaskManager::writeSource(const std::string& filename) 440 440 { 441 if (_terrain .valid())441 if (_terrainTile.valid()) 442 442 { 443 443 _sourceFileName = filename; 444 444 445 osgDB::writeNodeFile(*_terrain , _sourceFileName);445 osgDB::writeNodeFile(*_terrainTile, _sourceFileName); 446 446 447 447 // make sure the OS writes the file to disk … … 461 461 if (node.valid()) 462 462 { 463 osgTerrain::Terrain * loaded_terrain = dynamic_cast<osgTerrain::Terrain*>(node.get());463 osgTerrain::TerrainTile* loaded_terrain = dynamic_cast<osgTerrain::TerrainTile*>(node.get()); 464 464 if (loaded_terrain) 465 465 { 466 466 _sourceFileName = filename; 467 _terrain = loaded_terrain;467 _terrainTile = loaded_terrain; 468 468 return true; 469 469 } … … 677 677 BuildOptions* TaskManager::getBuildOptions() 678 678 { 679 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrain ->getTerrainTechnique());679 vpb::DatabaseBuilder* db = dynamic_cast<vpb::DatabaseBuilder*>(_terrainTile->getTerrainTechnique()); 680 680 return db ? db->getBuildOptions() : 0; 681 681 } … … 719 719 { 720 720 osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile(sourceFile); 721 osgTerrain::Terrain * terrain = dynamic_cast<osgTerrain::Terrain*>(loadedModel.get());722 if (terrain )721 osgTerrain::TerrainTile* terrainTile = dynamic_cast<osgTerrain::TerrainTile*>(loadedModel.get()); 722 if (terrainTile) 723 723 { 724 System::instance()->getDateOfLastModification(terrain , sourceFileLastModified);724 System::instance()->getDateOfLastModification(terrainTile, sourceFileLastModified); 725 725 } 726 726 }
