diff --git a/simgear/scene/tgdb/TileEntry.cxx b/simgear/scene/tgdb/TileEntry.cxx index fffb7f9a..71a7f57d 100644 --- a/simgear/scene/tgdb/TileEntry.cxx +++ b/simgear/scene/tgdb/TileEntry.cxx @@ -58,8 +58,6 @@ using std::string; using namespace simgear; -static ModelLoadHelper *_modelLoader=0; - static SGBucket getBucketFromFileName(const std::string& fileName) { std::istringstream ss(osgDB::getNameLessExtension(fileName)); @@ -152,17 +150,13 @@ loadStgFile(const std::string& absoluteFileName, osg::Group& group, const osgDB: /// Hmm, the findDataFile should happen downstream std::string absName = osgDB::findDataFile(name, staticOptions.get()); - if(_modelLoader) { - node = _modelLoader->loadTileModel(absName, false); - } else { - osg::ref_ptr opt; - opt = new SGReaderWriterOptions(*staticOptions); - if (SGPath(absName).lower_extension() == "ac") - opt->setInstantiateEffects(true); - else - opt->setInstantiateEffects(false); - node = osgDB::readRefNodeFile(absName, opt.get()); - } + osg::ref_ptr opt; + opt = new SGReaderWriterOptions(*staticOptions); + if (SGPath(absName).lower_extension() == "ac") + opt->setInstantiateEffects(true); + else + opt->setInstantiateEffects(false); + node = osgDB::readRefNodeFile(absName, opt.get()); if (!node.valid()) { SG_LOG( SG_TERRAIN, SG_ALERT, absoluteFileName @@ -171,25 +165,21 @@ loadStgFile(const std::string& absoluteFileName, osg::Group& group, const osgDB: } } else if ( token == "OBJECT_SHARED" ) { - if(_modelLoader) { - node = _modelLoader->loadTileModel(name, true); - } else { - osg::ref_ptr opt; - opt = new SGReaderWriterOptions(*sharedOptions); - - /// Hmm, the findDataFile should happen in the downstream readers - std::string absName = osgDB::findDataFile(name, opt.get()); - - osg::ProxyNode* proxyNode = new osg::ProxyNode; - proxyNode->setLoadingExternalReferenceMode(osg::ProxyNode::DEFER_LOADING_TO_DATABASE_PAGER); - proxyNode->setFileName(0, absName); - if (SGPath(absName).lower_extension() == "ac") - opt->setInstantiateEffects(true); - else - opt->setInstantiateEffects(false); - proxyNode->setDatabaseOptions(opt.get()); - node = proxyNode; - } + osg::ref_ptr opt; + opt = new SGReaderWriterOptions(*sharedOptions); + + /// Hmm, the findDataFile should happen in the downstream readers + std::string absName = osgDB::findDataFile(name, opt.get()); + + osg::ProxyNode* proxyNode = new osg::ProxyNode; + proxyNode->setLoadingExternalReferenceMode(osg::ProxyNode::DEFER_LOADING_TO_DATABASE_PAGER); + proxyNode->setFileName(0, absName); + if (SGPath(absName).lower_extension() == "ac") + opt->setInstantiateEffects(true); + else + opt->setInstantiateEffects(false); + proxyNode->setDatabaseOptions(opt.get()); + node = proxyNode; if (!node.valid()) { SG_LOG( SG_TERRAIN, SG_ALERT, absoluteFileName @@ -231,12 +221,6 @@ loadStgFile(const std::string& absoluteFileName, osg::Group& group, const osgDB: return has_base; } -void -TileEntry::setModelLoadHelper(ModelLoadHelper *m) -{ - _modelLoader=m; -} - // Constructor TileEntry::TileEntry ( const SGBucket& b ) : tile_bucket( b ), diff --git a/simgear/scene/tgdb/TileEntry.hxx b/simgear/scene/tgdb/TileEntry.hxx index 096caed9..b05978a7 100644 --- a/simgear/scene/tgdb/TileEntry.hxx +++ b/simgear/scene/tgdb/TileEntry.hxx @@ -48,8 +48,6 @@ namespace simgear { -class ModelLoadHelper; - /** * A class to encapsulate everything we need to know about a scenery tile. */ @@ -89,8 +87,6 @@ public: // Destructor ~TileEntry(); - static void setModelLoadHelper(ModelLoadHelper *m); - // Update the ssg transform node for this tile so it can be // properly drawn relative to our (0,0,0) point void prep_ssg_node(float vis); @@ -157,12 +153,6 @@ public: } }; -class ModelLoadHelper { -public: - virtual osg::Node *loadTileModel(const std::string& modelPath, bool cacheModel)=0; - -}; - } #endif // _TILEENTRY_HXX