34 #ifndef __READERWRITER_TXP_H_
35 #define __READERWRITER_TXP_H_
41 #include <osgDB/Registry>
42 #include <osgDB/FileNameUtils>
43 #include <osg/Referenced>
47 #include <OpenThreads/ScopedLock>
48 #include <OpenThreads/ReentrantMutex>
60 supportsExtension(
"txp",
"Terrapage txp format");
64 return "TXP Reader/Writer";
67 virtual ReadResult
readNode(
const std::string& file,
const osgDB::ReaderWriter::Options* options)
const override
69 if( !acceptsExtension(osgDB::getFileExtension(file) ))
70 return ReadResult::FILE_NOT_HANDLED;
72 OpenThreads::ScopedLock<OpenThreads::ReentrantMutex> lock(_serializerMutex);
74 return const_cast<ReaderWriterTXP*
>(
this)->local_readNode(file, options);
77 bool removeArchive(
int id );
82 ReadResult local_readNode(
const std::string& file,
const osgDB::ReaderWriter::Options* options);
84 std::string getArchiveName(
const std::string& dir);
88 osg::Node* getTileContent(
const TXPArchive::TileInfo &info,
int x,
int y,
int lod,
TXPArchive* archive, std::vector<TXPArchive::TileLocationInfo>& childrenLoc);
90 void createChildrenLocationString(
const std::vector<TXPArchive::TileLocationInfo>& locs, std::string& locString)
const;
91 bool extractChildrenLocations(
const std::string& name,
int parentLod, std::vector<TXPArchive::TileLocationInfo>& locs,
int nbChild)
const;
Definition: TXPArchive.h:65
ReaderWriterTXP()
Definition: readerWriterTXP.h:58
Definition: readerWriterTXP.h:54
#define DT_DLL_osgdb_vrftxp
Contains DLL export macros.
Definition: osgdb_vrftxpDefines.h:25
Definition: featureContext.h:36
Gets some informations for a given tile.
Definition: TXPArchive.h:111
virtual ReadResult readNode(const std::string &file, const osgDB::ReaderWriter::Options *options) const override
Definition: readerWriterTXP.h:67
std::map< int, osg::ref_ptr< TXPArchive > > _archives
Definition: readerWriterTXP.h:95
virtual const char * className() const override
Definition: readerWriterTXP.h:63
OpenThreads::ReentrantMutex _serializerMutex
Definition: readerWriterTXP.h:93
Definition: TXPArchive.h:121
static int _archiveId
Definition: readerWriterTXP.h:96