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;
201 virtual std::list<std::string>
vrvPluginsToLoad(
const std::string& pluginDir);
300 virtual osgDB::ReaderWriter::ReadResult
readImage(
const std::string& filename,
const osgDB::ReaderWriter::Options* options)
304 DtVerbose <<
"Reading Image: " << filename << std::endl;
312 return osgDB::Registry::instance()->readImageImplementation(filename, options);
319 boost::unordered_map<std::string, osg::ref_ptr<osg::Image> >::iterator iter =
myMappedImages.find(filename);
320 osg::ref_ptr<osg::Image> img;
324 img =
new osg::Image;
327 DtFilename stripDown(filename.c_str());
329 stripDown.stripPath();
331 img->setFileName(stripDown.c_str());
339 return osgDB::ReaderWriter::ReadResult(img.get(), osgDB::ReaderWriter::ReadResult::FILE_NOT_HANDLED);
345 const std::string& filename,osgDB::ReaderWriter::ArchiveStatus status,
346 unsigned int indexBlockSizeHint,
347 const osgDB::ReaderWriter::Options* useObjectCache)
352 status, indexBlockSizeHint, useObjectCache);
356 return osgDB::Registry::instance()->openArchiveImplementation(filename,
357 status, indexBlockSizeHint, useObjectCache);
362 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
370 return osgDB::Registry::instance()->readObjectImplementation(filename,
376 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
384 return osgDB::Registry::instance()->readHeightFieldImplementation(filename,
390 const std::string& filename,
const osgDB::ReaderWriter::Options* options)
398 return osgDB::Registry::instance()->readShaderImplementation(filename,
403 virtual osgDB::ReaderWriter::ReadResult
readNode(
const std::string& filename,
const osgDB::ReaderWriter::Options* options)
405 osgDB::ReaderWriter::ReadResult readResult;
413 readResult = osgDB::Registry::instance()->readNodeImplementation(filename, options);
416 std::string className;
418 if (readResult.getNode())
420 className = readResult.getNode()->className();
424 DtVerbose <<
" Reading " << className <<
": " << filename << std::endl;
426 else if (readResult.status() == osgDB::ReaderWriter::ReadResult::FILE_NOT_FOUND)
457 const osgEarth::Map* map,
unsigned lod,
458 double bias=30000,
double factor=2);
470 const osgEarth::TileKey& tilekey,
const osgEarth::Map* map,
unsigned lod,
472 double bias,
double factor);
476 const osgEarth::TileKey& tilekey,
477 const osg::HeightField* field,
478 unsigned xmin,
unsigned xmax,
unsigned ymin,
unsigned ymax,
480 double bias,
double factor);