Initial cut of osgimagesequence example

This commit is contained in:
Robert Osfield
2008-07-21 10:57:06 +00:00
parent d930308de4
commit ac61676368
5 changed files with 160 additions and 15 deletions

View File

@@ -17,7 +17,7 @@
#include <OpenThreads/Mutex>
#include <osg/ImageStream>
#include <map>
#include <list>
namespace osg {
@@ -48,14 +48,15 @@ class OSG_EXPORT ImageSequence : public ImageStream
virtual double getTimeMultiplier() const { return _timeMultiplier; }
typedef std::map<double, std::string> FileNameSequence;
typedef std::pair<double, osg::ref_ptr<osg::Image> > TimeImagePair;
typedef std::vector<TimeImagePair> TimeImageSequence;
typedef std::pair<osg::ref_ptr<osg::Image>, double> ImageDurationPair;
typedef std::pair<std::string, double> FileNameDurationPair;
void addImageFile(double time, std::string& fileName);
typedef std::list<ImageDurationPair> ImageDurationSequence;
typedef std::list<FileNameDurationPair> FileNameDurationSequence;
void addImage(double time, osg::Image* image);
void addImageFile(const std::string& fileName, double duration = 0.040);
void addImage(osg::Image* image, double duration = 0.040);
virtual void update(osg::FrameStamp* fs);
@@ -67,9 +68,9 @@ class OSG_EXPORT ImageSequence : public ImageStream
double _timeMultiplier;
OpenThreads::Mutex _mutex;
FileNameSequence _timeFileNameSequence;
TimeImageSequence _timeImageSequence;
OpenThreads::Mutex _mutex;
FileNameDurationSequence _fileNameDurationSequence;
ImageDurationSequence _imageDuationSequence;
};