Changeset 862

Show
Ignore:
Timestamp:
01/26/08 22:42:39
Author:
robert
Message:

Fixed filename handling when using WriteOperation? so that it shares exactly the
same filename being used when running single threaded.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/vpb/DataSet.cpp

    r860 r862  
    16071607    public: 
    16081608 
    1609         WriteOperation(ThreadPool* threadPool, DataSet* dataset,CompositeDestination* cd): 
     1609        WriteOperation(ThreadPool* threadPool, DataSet* dataset,CompositeDestination* cd, const std::string& filename): 
    16101610            BuildOperation(threadPool, dataset->getBuildLog(), "WriteOperation", false), 
    16111611            _dataset(dataset), 
    1612             _cd(cd) {} 
     1612            _cd(cd), 
     1613            _filename(filename) {} 
    16131614 
    16141615        virtual void build() 
     
    16171618 
    16181619            osg::ref_ptr<osg::Node> node = _cd->createSubTileScene(); 
    1619             std::string filename = _dataset->getDirectory() + _cd->getSubTileName(); 
    16201620            if (node.valid()) 
    16211621            { 
    1622                 if (_buildLog.valid()) _buildLog->log(osg::NOTICE, "   writeSubTile filename= %s",filename.c_str()); 
     1622                if (_buildLog.valid()) _buildLog->log(osg::NOTICE, "   writeSubTile filename= %s",_filename.c_str()); 
    16231623                 
    1624                 _dataset->_writeNodeFile(*node,filename); 
     1624                _dataset->_writeNodeFile(*node,_filename); 
    16251625 
    16261626                if (_dataset->getDestinationTileExtension()==".osg") 
     
    16351635            else 
    16361636            { 
    1637                 log(osg::WARN, "   failed to writeSubTile node for tile, filename=%s",filename.c_str()); 
     1637                log(osg::WARN, "   failed to writeSubTile node for tile, filename=%s",_filename.c_str()); 
    16381638            } 
    16391639        } 
    16401640       
    1641         DataSet* _dataset; 
    1642         osg::ref_ptr<CompositeDestination> _cd; 
     1641        DataSet*                            _dataset; 
     1642        osg::ref_ptr<CompositeDestination>  _cd; 
     1643        std::string                         _filename; 
    16431644}; 
    16441645 
     
    16591660                parent->setSubTilesGenerated(true); 
    16601661                 
     1662                std::string filename = _taskOutputDirectory+parent->getSubTileName(); 
     1663 
    16611664                if (_writeThreadPool.valid()) 
    16621665                { 
    1663                     _writeThreadPool->run(new WriteOperation(_writeThreadPool.get(), this, parent)); 
     1666                    _writeThreadPool->run(new WriteOperation(_writeThreadPool.get(), this, parent, filename)); 
    16641667                } 
    16651668                else 
    16661669                { 
    16671670                    osg::ref_ptr<osg::Node> node = parent->createSubTileScene(); 
    1668                     std::string filename = _taskOutputDirectory+parent->getSubTileName(); 
    16691671                    if (node.valid()) 
    16701672                    {