Ignore:
Timestamp:
May 25, 2011, 10:20:27 PM (13 years ago)
Author:
Torben Dannhauer
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • experimental/TerrainTest/ReaderWriterTerrainMod.cpp

    r255 r284  
    11#include "ReaderWriterTerrainMod.h"
     2#include <osg/KdTree>
    23
    34ReaderWriterTerrainMod::ReaderWriterTerrainMod()
     
    2324                return ReadResult::FILE_NOT_FOUND;
    2425
     26        // Check and postphone KdTree creation
     27        bool doKdTreeBuilder = (options && options->getBuildKdTreesHint()!=Options::NO_PREFERENCE) ?
     28                options->getBuildKdTreesHint() == Options::BUILD_KDTREES :
     29                                osgDB::Registry::instance()->getBuildKdTreesHint() == Options::BUILD_KDTREES;
     30        // TODO: Modify passed option or create option with Options::DO_NOT_BUILD_KDTREES
     31        if(!options)
     32                options = new osgDB::ReaderWriter::Options();
     33        options->setBuildKdTreesHint(Options::DO_NOT_BUILD_KDTREES);
     34         
     35
     36
    2537        // Load real file
    2638        osg::Node *node = osgDB::readNodeFile( fileName, options );
     
    3244    }
    3345
    34         // Traverse through loaded graph, check for PagedLOD and modify all filenames of external references
     46        // Traverse through loaded graph and
     47        // a) check for PagedLOD and modify all filenames of external references
     48        // b) modify tile if it is inside a modification ROI
    3549        // This ensures ensures that higher LODs are loaded via terrainmod pseudo loader as well.
    3650        ModificationVisitor modVisitor(extensionToAdd);
    3751        node->accept( modVisitor );
     52
     53        // Finally create KdTree
     54        if(doKdTreeBuilder)
     55        {
     56                OSG_WARN << "Building KdTree" << std::endl;
     57                osg::ref_ptr<osg::KdTreeBuilder> builder = osgDB::Registry::instance()->getKdTreeBuilder();
     58                node->accept(*builder);
     59        }
     60        else OSG_WARN << "No KdTree" << std::endl;
     61
    3862
    3963        return node;
Note: See TracChangeset for help on using the changeset viewer.