openscenegraph
osg::ImageSequence Class Reference

#include <ImageSequence>

Inheritance diagram for osg::ImageSequence:
osg::ImageStream osg::Image osg::BufferData osg::Object osg::Referenced

Classes

struct  ImageData

Public Types

enum  Mode {
  PRE_LOAD_ALL_IMAGES , PAGE_AND_RETAIN_IMAGES , PAGE_AND_DISCARD_USED_IMAGES , LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL ,
  LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL
}
typedef std::vector< ImageDataImageDataList
Public Types inherited from osg::ImageStream
enum  StreamStatus { INVALID , PLAYING , PAUSED , REWINDING }
enum  LoopingMode { NO_LOOPING , LOOPING }
typedef std::vector< osg::ref_ptr< osg::AudioStream > > AudioStreams
Public Types inherited from osg::Image
enum  WriteHint { NO_PREFERENCE , STORE_INLINE , EXTERNAL_FILE }
enum  AllocationMode { NO_DELETE , USE_NEW_DELETE , USE_MALLOC_FREE }
enum  Origin { BOTTOM_LEFT , TOP_LEFT }
typedef std::vector< unsigned int > MipmapDataType
typedef std::vector< osg::ref_ptr< DimensionsChangedCallback > > DimensionsChangedCallbackVector
Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

Public Member Functions

 ImageSequence ()
 ImageSequence (const ImageSequence &ImageSequence, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const
virtual Objectclone (const CopyOp &copyop) const
virtual bool isSameKindAs (const Object *obj) const
virtual const char * libraryName () const
virtual const char * className () const
virtual int compare (const Image &rhs) const
virtual void setReferenceTime (double t)
virtual double getReferenceTime () const
virtual void setTimeMultiplier (double tm)
virtual double getTimeMultiplier () const
virtual void seek (double time)
virtual void play ()
virtual void pause ()
virtual void rewind ()
void setMode (Mode mode)
Mode getMode () const
void setLength (double length)
virtual double getLength () const
void addImageFile (const std::string &fileName)
void setImageFile (unsigned int pos, const std::string &fileName)
std::string getImageFile (unsigned int pos) const
void addImage (osg::Image *image)
template<class T>
void addImage (const osg::ref_ptr< T > &image)
void setImage (int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1)
void setImage (unsigned int pos, osg::Image *image)
template<class T>
void setImage (unsigned int pos, const osg::ref_ptr< T > &image)
ImagegetImage (unsigned int pos)
const ImagegetImage (unsigned int pos) const
unsigned int getNumImageData () const
ImageDataListgetImageDataList ()
const ImageDataListgetImageDataList () const
virtual bool requiresUpdateCall () const
virtual void update (NodeVisitor *nv)
void setReadOptions (osg::Referenced *options)
osg::ReferencedgetReadOptions ()
const osg::ReferencedgetReadOptions () const
Public Member Functions inherited from osg::ImageStream
 ImageStream ()
 ImageStream (const ImageStream &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual void quit (bool=true)
StreamStatus getStatus () const
void setLoopingMode (LoopingMode mode)
LoopingMode getLoopingMode () const
virtual double getCreationTime () const
virtual double getFrameRate () const
virtual double getCurrentTime () const
virtual void setVolume (float)
virtual float getVolume () const
virtual float getAudioBalance ()
 set the balance of the audio: -1 = left, 0 = center, 1 = right
virtual void setAudioBalance (float)
void setAudioStreams (const AudioStreams &asl)
AudioStreamsgetAudioStreams ()
const AudioStreamsgetAudioStreams () const
virtual osg::TexturecreateSuitableTexture ()
Public Member Functions inherited from osg::Image
 Image ()
 Image (const Image &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::ImageasImage ()
virtual const osg::ImageasImage () const
virtual const GLvoid * getDataPointer () const
virtual unsigned int getTotalDataSize () const
void setFileName (const std::string &fileName)
const std::string & getFileName () const
void setWriteHint (WriteHint writeHint)
WriteHint getWriteHint () const
void setAllocationMode (AllocationMode mode)
AllocationMode getAllocationMode () const
virtual void allocateImage (int s, int t, int r, GLenum pixelFormat, GLenum type, int packing=1)
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)
virtual void readPixels (int x, int y, int width, int height, GLenum pixelFormat, GLenum type, int packing=1)
virtual void readImageFromCurrentTexture (unsigned int contextID, bool copyMipMapsIfAvailable, GLenum type=GL_UNSIGNED_BYTE, unsigned int face=0)
void swap (osg::Image &rhs)
void scaleImage (int s, int t, int r)
virtual void scaleImage (int s, int t, int r, GLenum newDataType)
virtual void copySubImage (int s_offset, int t_offset, int r_offset, const osg::Image *source)
void setOrigin (Origin origin)
Origin getOrigin () const
int s () const
int t () const
int r () const
void setRowLength (int length)
int getRowLength () const
void setInternalTextureFormat (GLint internalFormat)
GLint getInternalTextureFormat () const
void setPixelFormat (GLenum pixelFormat)
GLenum getPixelFormat () const
void setDataType (GLenum dataType)
GLenum getDataType () const
void setPacking (unsigned int packing)
unsigned int getPacking () const
bool isCompressed () const
void setPixelAspectRatio (float pixelAspectRatio)
float getPixelAspectRatio () const
unsigned int getPixelSizeInBits () const
unsigned int getRowSizeInBytes () const
unsigned int getRowStepInBytes () const
unsigned int getImageSizeInBytes () const
unsigned int getImageStepInBytes () const
unsigned int getTotalSizeInBytes () const
unsigned int getTotalSizeInBytesIncludingMipmaps () const
bool valid () const
unsigned char * data ()
const unsigned char * data () const
unsigned char * data (unsigned int column, unsigned int row=0, unsigned int image=0)
const unsigned char * data (unsigned int column, unsigned int row=0, unsigned int image=0) const
bool isDataContiguous () const
Vec4 getColor (unsigned int s, unsigned t=0, unsigned r=0) const
Vec4 getColor (const Vec2 &texcoord) const
Vec4 getColor (const Vec3 &texcoord) const
void setColor (const osg::Vec4 &color, unsigned int s, unsigned int t=0, unsigned int r=0)
void setColor (const osg::Vec4 &color, const osg::Vec2 &texcoord)
void setColor (const osg::Vec4 &color, const osg::Vec3 &texcoord)
void flipHorizontal ()
void flipVertical ()
void flipDepth ()
void ensureValidSizeForTexturing (GLint maxTextureSize)
bool isMipmap () const
unsigned int getNumMipmapLevels () const
void setMipmapLevels (const MipmapDataType &mipmapDataVector)
const MipmapDataTypegetMipmapLevels () const
unsigned int getMipmapOffset (unsigned int mipmapLevel) const
unsigned char * getMipmapData (unsigned int mipmapLevel)
const unsigned char * getMipmapData (unsigned int mipmapLevel) const
bool supportsTextureSubloading () const
virtual bool isImageTranslucent () const
void setPixelBufferObject (PixelBufferObject *buffer)
PixelBufferObjectgetPixelBufferObject ()
const PixelBufferObjectgetPixelBufferObject () const
virtual bool sendFocusHint (bool)
virtual bool sendPointerEvent (int, int, int)
virtual bool sendKeyEvent (int, bool)
virtual void setFrameLastRendered (const osg::FrameStamp *)
void addDimensionsChangedCallback (DimensionsChangedCallback *cb)
void removeDimensionsChangedCallback (DimensionsChangedCallback *cb)
Public Member Functions inherited from osg::BufferData
 BufferData ()
 BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::ArrayasArray ()
virtual const osg::ArrayasArray () const
virtual osg::PrimitiveSetasPrimitiveSet ()
virtual const osg::PrimitiveSetasPrimitiveSet () const
void setBufferObject (BufferObject *bufferObject)
BufferObjectgetBufferObject ()
const BufferObjectgetBufferObject () const
void setBufferIndex (unsigned int index)
unsigned int getBufferIndex () const
GLBufferObjectgetGLBufferObject (unsigned int contextID) const
GLBufferObjectgetOrCreateGLBufferObject (unsigned int contextID) const
void setModifiedCallback (ModifiedCallback *md)
ModifiedCallbackgetModifiedCallback ()
const ModifiedCallbackgetModifiedCallback () const
void dirty ()
void setModifiedCount (unsigned int value)
unsigned int getModifiedCount () const
virtual void resizeGLObjectBuffers (unsigned int maxSize)
void releaseGLObjects (State *state=0) const
unsigned int getNumClients () const
void addClient (osg::Object *)
void removeClient (osg::Object *)
Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string getCompoundClassName () const
virtual NodeasNode ()
virtual const NodeasNode () const
virtual NodeVisitorasNodeVisitor ()
virtual const NodeVisitorasNodeVisitor () const
virtual StateSetasStateSet ()
virtual const StateSetasStateSet () const
virtual StateAttributeasStateAttribute ()
virtual const StateAttributeasStateAttribute () const
virtual UniformasUniform ()
virtual const UniformasUniform () const
virtual CameraasCamera ()
virtual const CameraasCamera () const
virtual DrawableasDrawable ()
virtual const DrawableasDrawable () const
virtual CallbackasCallback ()
virtual const CallbackasCallback () const
virtual CallbackObjectasCallbackObject ()
virtual const CallbackObjectasCallbackObject () const
virtual UserDataContainerasUserDataContainer ()
virtual const UserDataContainerasUserDataContainer () const
virtual ValueObjectasValueObject ()
virtual const ValueObjectasValueObject () const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () const
template<typename T>
bool getUserValue (const std::string &name, T &value) const
template<typename T>
void setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Member Functions

virtual ~ImageSequence ()
virtual void applyLoopingMode ()
void setImageToChild (int pos)
void computeTimePerImage ()
int imageIndex (double time)
void _setImage (unsigned int pos, osg::Image *image)
Protected Member Functions inherited from osg::ImageStream
virtual ~ImageStream ()
Protected Member Functions inherited from osg::Image
virtual ~Image ()
Imageoperator= (const Image &)
void handleDimensionsChangedCallbacks ()
void deallocateData ()
void setData (unsigned char *data, AllocationMode allocationMode)
Protected Member Functions inherited from osg::BufferData
virtual ~BufferData ()
Protected Member Functions inherited from osg::Object
virtual ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Protected Attributes

double _referenceTime
double _timeMultiplier
Mode _mode
double _length
double _timePerImage
OpenThreads::Mutex _mutex
ImageDataList _imageDataList
int _previousAppliedImageIndex
bool _seekTimeSet
double _seekTime
osg::ref_ptr< osg::Referenced_readOptions
Protected Attributes inherited from osg::ImageStream
StreamStatus _status
LoopingMode _loopingMode
AudioStreams _audioStreams
Protected Attributes inherited from osg::Image
std::string _fileName
WriteHint _writeHint
Origin _origin
int _s
int _t
int _r
int _rowLength
GLint _internalTextureFormat
GLenum _pixelFormat
GLenum _dataType
unsigned int _packing
float _pixelAspectRatio
AllocationMode _allocationMode
unsigned char * _data
MipmapDataType _mipmapData
DimensionsChangedCallbackVector _dimensionsChangedCallbacks
Protected Attributes inherited from osg::BufferData
unsigned int _modifiedCount
unsigned int _bufferIndex
osg::ref_ptr< BufferObject_bufferObject
osg::ref_ptr< ModifiedCallback_modifiedCallback
unsigned int _numClients
Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer_userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Additional Inherited Members

Static Public Member Functions inherited from osg::Image
static bool isPackedType (GLenum type)
static GLenum computePixelFormat (GLenum pixelFormat)
static GLenum computeFormatDataType (GLenum pixelFormat)
static osg::Vec3i computeBlockFootprint (GLenum pixelFormat)
static unsigned int computeBlockSize (GLenum pixelFormat, GLenum packing)
static unsigned int computeNumComponents (GLenum pixelFormat)
static unsigned int computePixelSizeInBits (GLenum pixelFormat, GLenum type)
static unsigned int computeRowWidthInBytes (int width, GLenum pixelFormat, GLenum type, int packing)
static unsigned int computeImageSizeInBytes (int width, int height, int depth, GLenum pixelFormat, GLenum type, int packing=1, int slice_packing=1, int image_packing=1)
static int roudUpToMultiple (int s, int pack)
static int computeNearestPowerOfTwo (int s, float bias=0.5f)
static int computeNumberOfMipmapLevels (int s, int t=1, int r=1)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

Detailed Description

Image Buffer class.

Member Typedef Documentation

◆ ImageDataList

Member Enumeration Documentation

◆ Mode

Enumerator
PRE_LOAD_ALL_IMAGES 
PAGE_AND_RETAIN_IMAGES 
PAGE_AND_DISCARD_USED_IMAGES 
LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL 
LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL 

Constructor & Destructor Documentation

◆ ImageSequence() [1/2]

osg::ImageSequence::ImageSequence ( )

◆ ImageSequence() [2/2]

osg::ImageSequence::ImageSequence ( const ImageSequence & ImageSequence,
const CopyOp & copyop = CopyOp::SHALLOW_COPY )

Copy constructor using CopyOp to manage deep vs shallow copy.

References ImageSequence(), and osg::CopyOp::SHALLOW_COPY.

◆ ~ImageSequence()

virtual osg::ImageSequence::~ImageSequence ( )
inlineprotectedvirtual

Member Function Documentation

◆ _setImage()

void osg::ImageSequence::_setImage ( unsigned int pos,
osg::Image * image )
protected

◆ addImage() [1/2]

template<class T>
void osg::ImageSequence::addImage ( const osg::ref_ptr< T > & image)
inline

References addImage(), and osg::ref_ptr< T >::get().

Referenced by addImage().

◆ addImage() [2/2]

void osg::ImageSequence::addImage ( osg::Image * image)

◆ addImageFile()

void osg::ImageSequence::addImageFile ( const std::string & fileName)

◆ applyLoopingMode()

virtual void osg::ImageSequence::applyLoopingMode ( )
protectedvirtual

Reimplemented from osg::ImageStream.

◆ className()

virtual const char * osg::ImageSequence::className ( ) const
inlinevirtual

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osg::ImageStream.

◆ clone()

virtual Object * osg::ImageSequence::clone ( const CopyOp & ) const
inlinevirtual

Clone an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osg::ImageStream.

References ImageSequence().

◆ cloneType()

virtual Object * osg::ImageSequence::cloneType ( ) const
inlinevirtual

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osg::ImageStream.

References ImageSequence().

◆ compare()

virtual int osg::ImageSequence::compare ( const Image & rhs) const
virtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Reimplemented from osg::ImageStream.

◆ computeTimePerImage()

void osg::ImageSequence::computeTimePerImage ( )
protected

◆ getImage() [1/2]

Image * osg::ImageSequence::getImage ( unsigned int pos)

◆ getImage() [2/2]

const Image * osg::ImageSequence::getImage ( unsigned int pos) const

◆ getImageDataList() [1/2]

ImageDataList & osg::ImageSequence::getImageDataList ( )
inline

References _imageDataList.

◆ getImageDataList() [2/2]

const ImageDataList & osg::ImageSequence::getImageDataList ( ) const
inline

References _imageDataList.

◆ getImageFile()

std::string osg::ImageSequence::getImageFile ( unsigned int pos) const

◆ getLength()

virtual double osg::ImageSequence::getLength ( ) const
inlinevirtual

Reimplemented from osg::ImageStream.

References _length.

◆ getMode()

Mode osg::ImageSequence::getMode ( ) const
inline

References _mode.

◆ getNumImageData()

unsigned int osg::ImageSequence::getNumImageData ( ) const
inline

References _imageDataList.

◆ getReadOptions() [1/2]

osg::Referenced * osg::ImageSequence::getReadOptions ( )
inline

Get the optional osgDB::Options object used when reading images.

References _readOptions.

◆ getReadOptions() [2/2]

const osg::Referenced * osg::ImageSequence::getReadOptions ( ) const
inline

Get the optional osgDB::Options object used when reading images.

References _readOptions.

◆ getReferenceTime()

virtual double osg::ImageSequence::getReferenceTime ( ) const
inlinevirtual

Reimplemented from osg::ImageStream.

References _referenceTime.

◆ getTimeMultiplier()

virtual double osg::ImageSequence::getTimeMultiplier ( ) const
inlinevirtual

Reimplemented from osg::ImageStream.

References _timeMultiplier.

◆ imageIndex()

int osg::ImageSequence::imageIndex ( double time)
protected

◆ isSameKindAs()

virtual bool osg::ImageSequence::isSameKindAs ( const Object * obj) const
inlinevirtual

Reimplemented from osg::ImageStream.

References ImageSequence().

◆ libraryName()

virtual const char * osg::ImageSequence::libraryName ( ) const
inlinevirtual

return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Reimplemented from osg::ImageStream.

◆ pause()

virtual void osg::ImageSequence::pause ( )
virtual

Reimplemented from osg::ImageStream.

◆ play()

virtual void osg::ImageSequence::play ( )
virtual

Reimplemented from osg::ImageStream.

◆ requiresUpdateCall()

virtual bool osg::ImageSequence::requiresUpdateCall ( ) const
inlinevirtual

ImageSequence requires a call to update(NodeVisitor*) during the update traversal so return true.

Reimplemented from osg::Image.

◆ rewind()

virtual void osg::ImageSequence::rewind ( )
virtual

Reimplemented from osg::ImageStream.

◆ seek()

virtual void osg::ImageSequence::seek ( double time)
virtual

Reimplemented from osg::ImageStream.

◆ setImage() [1/3]

void osg::ImageSequence::setImage ( int s,
int t,
int r,
GLint internalTextureformat,
GLenum pixelFormat,
GLenum type,
unsigned char * data,
AllocationMode mode,
int packing = 1 )
inline

◆ setImage() [2/3]

template<class T>
void osg::ImageSequence::setImage ( unsigned int pos,
const osg::ref_ptr< T > & image )
inline

References osg::ref_ptr< T >::get(), and setImage().

Referenced by setImage().

◆ setImage() [3/3]

void osg::ImageSequence::setImage ( unsigned int pos,
osg::Image * image )

◆ setImageFile()

void osg::ImageSequence::setImageFile ( unsigned int pos,
const std::string & fileName )

◆ setImageToChild()

void osg::ImageSequence::setImageToChild ( int pos)
protected

◆ setLength()

void osg::ImageSequence::setLength ( double length)

◆ setMode()

void osg::ImageSequence::setMode ( Mode mode)

◆ setReadOptions()

void osg::ImageSequence::setReadOptions ( osg::Referenced * options)
inline

Set the optional osgDB::Options object to use when reading images.

References _readOptions.

◆ setReferenceTime()

virtual void osg::ImageSequence::setReferenceTime ( double t)
inlinevirtual

Reimplemented from osg::ImageStream.

References _referenceTime, and osg::Image::t().

◆ setTimeMultiplier()

virtual void osg::ImageSequence::setTimeMultiplier ( double tm)
inlinevirtual

Reimplemented from osg::ImageStream.

References _timeMultiplier.

◆ update()

virtual void osg::ImageSequence::update ( NodeVisitor * nv)
virtual

update method for osg::Image subclasses that update themselves during the update traversal.

Reimplemented from osg::Image.

Member Data Documentation

◆ _imageDataList

ImageDataList osg::ImageSequence::_imageDataList
protected

◆ _length

double osg::ImageSequence::_length
protected

Referenced by getLength().

◆ _mode

Mode osg::ImageSequence::_mode
protected

Referenced by getMode().

◆ _mutex

OpenThreads::Mutex osg::ImageSequence::_mutex
mutableprotected

◆ _previousAppliedImageIndex

int osg::ImageSequence::_previousAppliedImageIndex
protected

◆ _readOptions

osg::ref_ptr<osg::Referenced> osg::ImageSequence::_readOptions
protected

◆ _referenceTime

double osg::ImageSequence::_referenceTime
protected

◆ _seekTime

double osg::ImageSequence::_seekTime
protected

◆ _seekTimeSet

bool osg::ImageSequence::_seekTimeSet
protected

◆ _timeMultiplier

double osg::ImageSequence::_timeMultiplier
protected

◆ _timePerImage

double osg::ImageSequence::_timePerImage
protected

The documentation for this class was generated from the following file: