14#ifndef OSG_IMAGESEQUENCE
15#define OSG_IMAGESEQUENCE 1
17#include <OpenThreads/Mutex>
40 virtual const char*
className()
const {
return "ImageSequence"; }
64 virtual void seek(
double time);
98 GLint internalTextureformat,
99 GLenum pixelFormat,GLenum type,
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Image class for encapsulating the storage texture image data.
Definition Image:179
int s() const
Width of image.
Definition Image:291
int t() const
Height of image.
Definition Image:294
AllocationMode
Definition Image:215
virtual void setImage(int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1, int rowLength=0)
Set the image dimensions, format and data.
int r() const
Depth of image.
Definition Image:297
unsigned char * data()
Raw image data.
Definition Image:352
bool _seekTimeSet
Definition ImageSequence:163
virtual void update(NodeVisitor *nv)
update method for osg::Image subclasses that update themselves during the update traversal.
void addImage(const osg::ref_ptr< T > &image)
Definition ImageSequence:95
Image * getImage(unsigned int pos)
void setReadOptions(osg::Referenced *options)
Set the optional osgDB::Options object to use when reading images.
Definition ImageSequence:125
void setImage(unsigned int pos, const osg::ref_ptr< T > &image)
Definition ImageSequence:106
void setImage(int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1)
Definition ImageSequence:97
osg::ref_ptr< osg::Referenced > _readOptions
Definition ImageSequence:166
Mode
Definition ImageSequence:73
@ LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL
Definition ImageSequence:78
@ PAGE_AND_RETAIN_IMAGES
Definition ImageSequence:75
@ LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL
Definition ImageSequence:77
@ PAGE_AND_DISCARD_USED_IMAGES
Definition ImageSequence:76
@ PRE_LOAD_ALL_IMAGES
Definition ImageSequence:74
virtual ~ImageSequence()
Definition ImageSequence:135
virtual double getLength() const
Definition ImageSequence:85
unsigned int getNumImageData() const
Definition ImageSequence:111
void addImage(osg::Image *image)
const ImageDataList & getImageDataList() const
Definition ImageSequence:114
Mode _mode
Definition ImageSequence:151
Mode getMode() const
Definition ImageSequence:82
virtual Object * clone(const CopyOp ©op) const
Clone an object, with Object* return type.
Definition ImageSequence:37
void setImageToChild(int pos)
void setImageFile(unsigned int pos, const std::string &fileName)
virtual Object * cloneType() const
Clone the type of an object, with Object* return type.
Definition ImageSequence:36
double _length
Definition ImageSequence:152
virtual int compare(const Image &rhs) const
Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
int _previousAppliedImageIndex
Definition ImageSequence:160
double _seekTime
Definition ImageSequence:164
void computeTimePerImage()
void setImage(unsigned int pos, osg::Image *image)
std::vector< ImageData > ImageDataList
Definition ImageSequence:62
virtual double getReferenceTime() const
Definition ImageSequence:46
virtual const char * className() const
return the name of the object's class type.
Definition ImageSequence:40
virtual double getTimeMultiplier() const
Definition ImageSequence:49
double _timeMultiplier
Definition ImageSequence:149
const Image * getImage(unsigned int pos) const
double _referenceTime
Definition ImageSequence:148
const osg::Referenced * getReadOptions() const
Get the optional osgDB::Options object used when reading images.
Definition ImageSequence:131
virtual void setReferenceTime(double t)
Definition ImageSequence:45
ImageDataList & getImageDataList()
Definition ImageSequence:113
virtual const char * libraryName() const
return the name of the object's library.
Definition ImageSequence:39
std::string getImageFile(unsigned int pos) const
virtual void setTimeMultiplier(double tm)
Definition ImageSequence:48
void addImageFile(const std::string &fileName)
void setLength(double length)
virtual void seek(double time)
osg::Referenced * getReadOptions()
Get the optional osgDB::Options object used when reading images.
Definition ImageSequence:128
ImageSequence(const ImageSequence &ImageSequence, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy.
double _timePerImage
Definition ImageSequence:154
virtual bool requiresUpdateCall() const
ImageSequence requires a call to update(NodeVisitor*) during the update traversal so return true.
Definition ImageSequence:118
virtual bool isSameKindAs(const Object *obj) const
Definition ImageSequence:38
virtual void applyLoopingMode()
void _setImage(unsigned int pos, osg::Image *image)
ImageDataList _imageDataList
Definition ImageSequence:158
OpenThreads::Mutex _mutex
Definition ImageSequence:156
int imageIndex(double time)
std::string _filename
Definition ImageSequence:57
osg::ref_ptr< osg::Referenced > _imageRequest
Definition ImageSequence:59
osg::ref_ptr< osg::Image > _image
Definition ImageSequence:58
ImageData(const ImageData &id)
Visitor for type safe operations on osg::Nodes.
Definition NodeVisitor:82
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
T * get() const
Definition ref_ptr:117
Base class for providing reference counted objects.
Definition Referenced:44
#define OSG_EXPORT
Definition Export:39