21 #include <vlutil/vlPrint.h>
22 #include <vlutil/vlFilename.h>
28 #include <osgDB/Registry>
29 #include <osgTerrain/TerrainTile>
32 #include <tbb/concurrent_queue.h>
33 #include <tbb/tbb_thread.h>
34 #include <tbb/mutex.h>
36 #include <boost/scoped_ptr.hpp>
37 #include <boost/ptr_container/ptr_vector.hpp>
43 class DtCollsionWorld;
48 class DtTerrainEngineCommand;
190 virtual std::list<std::string>
vrvPluginsToLoad(
const std::string& pluginDir);
289 virtual osgDB::ReaderWriter::ReadResult
readImage(
const std::string& filename,
const osgDB::ReaderWriter::Options* options)
293 DtVerbose <<
"Reading Image: " << filename << std::endl;
301 return osgDB::Registry::instance()->readImageImplementation(filename, options);
308 std::map<std::string, osg::ref_ptr<osg::Image> >::iterator iter =
myMappedImages.find(filename);
309 osg::ref_ptr<osg::Image> img;
313 img =
new osg::Image;
316 DtFilename stripDown(filename.c_str());
318 stripDown.stripPath();
320 img->setFileName(stripDown.c_str());
328 return osgDB::ReaderWriter::ReadResult(img.get(), osgDB::ReaderWriter::ReadResult::FILE_NOT_HANDLED);
334 const std::string& filename,osgDB::ReaderWriter::ArchiveStatus status,
335 unsigned int indexBlockSizeHint,
336 const osgDB::ReaderWriter::Options* useObjectCache)
341 status, indexBlockSizeHint, useObjectCache);
345 return osgDB::Registry::instance()->openArchiveImplementation(filename,
346 status, indexBlockSizeHint, useObjectCache);
351 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
359 return osgDB::Registry::instance()->readObjectImplementation(filename,
365 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
373 return osgDB::Registry::instance()->readHeightFieldImplementation(filename,
379 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
387 return osgDB::Registry::instance()->readShaderImplementation(filename,
392 virtual osgDB::ReaderWriter::ReadResult
readNode(
const std::string& filename,
const osgDB::ReaderWriter::Options* options)
394 osgDB::ReaderWriter::ReadResult readResult;
402 readResult = osgDB::Registry::instance()->readNodeImplementation(filename, options);
405 std::string className;
407 if (readResult.getNode())
409 className = readResult.getNode()->className();
413 DtVerbose <<
" Reading " << className <<
": " << filename << std::endl;
415 else if (readResult.status() == osgDB::ReaderWriter::ReadResult::FILE_NOT_FOUND)
446 const osgEarth::Map* map,
unsigned lod,
447 double bias=30000,
double factor=2);
459 const osgEarth::TileKey& tilekey,
const osgEarth::Map* map,
unsigned lod,
461 double bias,
double factor);
465 const osgEarth::TileKey& tilekey,
466 const osg::HeightField* field,
467 unsigned xmin,
unsigned xmax,
unsigned ymin,
unsigned ymax,
469 double bias,
double factor);