#include "ReaderWriterTXP.h" #include #include #include #include #include #include #include #include "TrPageArchive.h" #include "TerrapageNode.h" using namespace txp; using namespace osg; osgDB::ReaderWriter::ReadResult ReaderWriterTXP::readNode(const std::string& fileName, const osgDB::ReaderWriter::Options* options) { if( !acceptsExtension(osgDB::getFileExtension(fileName) )) return ReadResult::FILE_NOT_HANDLED; osg::ref_ptr pager = new TerrapageNode; pager->setDatabaseName(fileName); if (options) { pager->setDatabaseOptions(options->getOptionString()); } if (pager->loadDatabase()) { return pager.get(); } else return ReadResult::ERROR_IN_READING_FILE; } osgDB::RegisterReaderWriterProxy g_txpReaderWriterProxy;