Show
Ignore:
Timestamp:
12/18/14 18:47:08 (11 hours ago)
Author:
robert
Message:

From Aitor Moreno, LAS plugin - depends upon boost and liblas and liblas-c

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/include/osg/ImageSequence

    r13041 r13191  
    4949        virtual double getTimeMultiplier() const { return _timeMultiplier; } 
    5050 
    51         typedef std::vector< osg::ref_ptr<osg::Image> >   Images; 
    52         typedef std::vector< std::string >                FileNames; 
     51        struct OSG_EXPORT ImageData 
     52        { 
     53            ImageData(); 
     54            ImageData(const ImageData& id); 
     55            ImageData& operator = (const ImageData& id); 
     56 
     57            std::string                     _filename; 
     58            osg::ref_ptr<osg::Image>        _image; 
     59            osg::ref_ptr<osg::Referenced>   _imageRequest; 
     60        }; 
     61 
     62        typedef std::vector<ImageData> ImageDataList; 
    5363 
    5464        virtual void seek(double time); 
     
    7989        std::string getImageFile(unsigned int pos) const; 
    8090 
    81         unsigned int getNumImageFiles() const { return _fileNames.size(); } 
    82  
    83         FileNames& getFileNames() { return _fileNames; } 
    84         const FileNames& getFileNames() const { return _fileNames; } 
    85  
    8691        void addImage(osg::Image* image); 
    8792 
     
    97102        const Image* getImage(unsigned int pos) const; 
    98103 
    99         unsigned int getNumImages() const { return _images.size(); } 
     104        unsigned int getNumImageData() const { return _imageDataList.size(); } 
    100105 
    101         Images& getImages() { return _images; } 
    102         const Images& getImages() const { return _images; } 
     106        ImageDataList& getImageDataList() { return _imageDataList; } 
     107        const ImageDataList& getImageDataList() const { return _imageDataList; } 
    103108 
     109         
    104110        /** ImageSequence requires a call to update(NodeVisitor*) during the update traversal so return true.*/ 
    105111        virtual bool requiresUpdateCall() const { return true; } 
     
    108114        virtual void update(NodeVisitor* nv); 
    109115 
    110     protected: 
     116 
     117        /** Set the optional osgDB::Options object to use when reading images.*/ 
     118        void setReadOptions(osg::Referenced* options) { _readOptions = options; } 
     119 
     120        /** Get the optional osgDB::Options object used when reading images.*/ 
     121        osg::Referenced* getReadOptions() { return _readOptions.get(); } 
     122 
     123        /** Get the optional osgDB::Options object used when reading images.*/ 
     124        const osg::Referenced* getReadOptions() const { return _readOptions.get(); } 
     125 
     126protected: 
    111127 
    112128        virtual ~ImageSequence() {} 
     
    114130        virtual void applyLoopingMode(); 
    115131 
    116         void setImageToChild(const osg::Image* image); 
     132        void setImageToChild(int pos); 
    117133 
    118134        void computeTimePerImage(); 
     
    130146 
    131147        mutable OpenThreads::Mutex      _mutex; 
    132         FileNames                       _fileNames; 
    133148 
    134         Images                          _images; 
    135  
    136         typedef std::set< std::string > FilesRequested; 
    137         FilesRequested                  _filesRequested; 
     149        ImageDataList                   _imageDataList; 
    138150 
    139151        int                             _previousAppliedImageIndex; 
     
    143155        double                          _seekTime; 
    144156 
    145  
     157        osg::ref_ptr<osg::Referenced>       _readOptions; 
    146158 
    147159};