OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osg::ImageStream Class Reference

Image Stream class. More...

Inheritance diagram for osg::ImageStream:
Inheritance graph
[legend]

List of all members.

Public Types

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
 Precomputed mipmaps stuff.

Public Member Functions

 ImageStream ()
 ImageStream (const ImageStream &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
virtual ObjectcloneType () const
 Clone the type of an object, with Object* return type.
virtual Objectclone (const CopyOp &copyop) const
 Clone an object, with Object* return type.
virtual bool isSameKindAs (const Object *obj) const
virtual const char * libraryName () const
 return the name of the object's library.
virtual const char * className () const
 return the name of the object's class type.
virtual int compare (const Image &rhs) const
 Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
virtual void seek (double)
virtual void play ()
virtual void pause ()
virtual void rewind ()
virtual void quit (bool=true)
StreamStatus getStatus ()
void setLoopingMode (LoopingMode mode)
LoopingMode getLoopingMode () const
virtual double getCreationTime () const
virtual double getLength () const
virtual double getFrameRate () const
virtual void setReferenceTime (double)
virtual double getReferenceTime () const
virtual void setTimeMultiplier (double)
virtual double getTimeMultiplier () const
virtual void setVolume (float)
virtual float getVolume () const
void setAudioStreams (const AudioStreams &asl)
AudioStreamsgetAudioStreams ()
const AudioStreamsgetAudioStreams () const
- Public Member Functions inherited from osg::Image
 Image ()
 Image (const Image &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
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)
 Set the method used for deleting data once it goes out of scope.
AllocationMode getAllocationMode () const
 Get the method used for deleting data once it goes out of scope.
virtual void allocateImage (int s, int t, int r, GLenum pixelFormat, GLenum type, int packing=1)
 Allocate a pixel block of specified size and type.
virtual void setImage (int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1)
 Set the image dimensions, format and data.
virtual void readPixels (int x, int y, int width, int height, GLenum pixelFormat, GLenum type)
 Read pixels from current frame buffer at specified position and size, using glReadPixels.
virtual void readImageFromCurrentTexture (unsigned int contextID, bool copyMipMapsIfAvailable, GLenum type=GL_UNSIGNED_BYTE)
 Read the contents of the current bound texture, handling compressed pixelFormats if present.
void scaleImage (int s, int t, int r)
 Scale image to specified size.
virtual void scaleImage (int s, int t, int r, GLenum newDataType)
 Scale image to specified size and with specified data type.
virtual void copySubImage (int s_offset, int t_offset, int r_offset, const osg::Image *source)
 Copy a source Image into a subpart of this Image at specified position.
void setOrigin (Origin origin)
 Set the origin of the image.
Origin getOrigin () const
 Get the origin of the image.
int s () const
 Width of image.
int t () const
 Height of image.
int r () const
 Depth of image.
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
 return true of the pixel format is an OpenGL compressed pixel format.
void setPixelAspectRatio (float pixelAspectRatio)
 Set the pixel aspect ratio, defined as the pixel width divided by the pixel height.
float getPixelAspectRatio () const
 Get the pixel aspect ratio.
unsigned int getPixelSizeInBits () const
 Return the number of bits required for each pixel.
unsigned int getRowSizeInBytes () const
 Return the number of bytes each row of pixels occupies once it has been packed.
unsigned int getImageSizeInBytes () const
 Return the number of bytes each image (_s*_t) of pixels occupies.
unsigned int getTotalSizeInBytes () const
 Return the number of bytes the whole row/image/volume of pixels occupies.
unsigned int getTotalSizeInBytesIncludingMipmaps () const
 Return the number of bytes the whole row/image/volume of pixels occupies, including all mip maps if included.
bool valid () const
 Return true if the Image represent a valid and usable imagery.
unsigned char * data ()
 Raw image data.
const unsigned char * data () const
 Raw const image data.
unsigned char * data (int column, int row=0, int image=0)
const unsigned char * data (int column, int row=0, int image=0) const
Vec4 getColor (unsigned int s, unsigned t=0, unsigned r=0) const
 Get the color value for specified texcoord.
Vec4 getColor (const Vec2 &texcoord) const
 Get the color value for specified texcoord.
Vec4 getColor (const Vec3 &texcoord) const
 Get the color value for specified texcoord.
void flipHorizontal ()
 Flip the image horizontally.
void flipVertical ()
 Flip the image vertically.
void ensureValidSizeForTexturing (GLint maxTextureSize)
 Ensure image dimensions are a power of two.
bool isMipmap () const
unsigned int getNumMipmapLevels () const
void setMipmapLevels (const MipmapDataType &mipmapDataVector)
 Send offsets into data.
const MipmapDataTypegetMipmapLevels () const
unsigned int getMipmapOffset (unsigned int mipmapLevel) const
unsigned char * getMipmapData (unsigned int mipmapLevel)
const unsigned char * getMipmapData (unsigned int mipmapLevel) const
virtual bool isImageTranslucent () const
 Return true if this image is translucent - i.e.
void setPixelBufferObject (PixelBufferObject *buffer)
 Set the optional PixelBufferObject used to map the image memory efficiently to graphics memory.
PixelBufferObjectgetPixelBufferObject ()
 Get the PixelBufferObject.
const PixelBufferObjectgetPixelBufferObject () const
 Get the const PixelBufferObject.
virtual bool requiresUpdateCall () const
 return whether the update(NodeVisitor* nv) should be required on each frame to enable proper working of osg::Image.
virtual void update (NodeVisitor *)
 update method for osg::Image subclasses that update themselves during the update traversal.
virtual bool sendFocusHint (bool)
 method for hinting whether to enable or disable focus to images acting as front ends to interactive surfaces such as a vnc or browser window.
virtual bool sendPointerEvent (int, int, int)
 method for sending pointer events to images that are acting as front ends to interactive surfaces such as a vnc or browser window.
virtual bool sendKeyEvent (int, bool)
 method for sending key events to images that are acting as front ends to interactive surfaces such as a vnc or browser window.
virtual void setFrameLastRendered (const osg::FrameStamp *)
 method for passing frame information to the custom Image classes, to be called only when objects associated with imagery are not culled.
- Public Member Functions inherited from osg::BufferData
 BufferData ()
 BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
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 ()
 Dirty the primitive, which increments the modified count, to force buffer objects to update.
void setModifiedCount (unsigned int value)
 Set the modified count value.
unsigned int getModifiedCount () const
 Get modified count value.
virtual void resizeGLObjectBuffers (unsigned int maxSize)
 Resize any per context GLObject buffers to specified size.
void releaseGLObjects (State *state=0) const
 If State is non-zero, this function releases OpenGL objects for the specified graphics context.
- Public Member Functions inherited from osg::Object
 Object ()
 Construct an object.
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data.
virtual void setThreadSafeRefUnref (bool threadSafe)
 Set whether to use a mutex to ensure ref() and unref() are thread safe.
virtual void setName (const std::string &name)
 Set the name of object using C++ style string.
void setName (const char *name)
 Set the name of object using a C style string.
const std::string & getName () const
 Get the name of object.
void setDataVariance (DataVariance dv)
 Set the data variance of this object.
DataVariance getDataVariance () const
 Get the data variance of this object.
virtual void computeDataVariance ()
 Compute the DataVariance based on an assessment of callback etc.
void setUserDataContainer (osg::UserDataContainer *udc)
 set the UserDataContainer object.
osg::UserDataContainergetUserDataContainer ()
 get the UserDataContainer attached to this object.
const osg::UserDataContainergetUserDataContainer () const
 get the const UserDataContainer attached to this object.
osg::UserDataContainergetOrCreateUserDataContainer ()
 Convinience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer.
virtual void setUserData (Referenced *obj)
 Set user data, data must be subclassed from Referenced to allow automatic memory handling.
virtual ReferencedgetUserData ()
 Get user data.
virtual const ReferencedgetUserData () const
 Get const user data.
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 Convinience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value.
template<typename T >
void setUserValue (const std::string &name, const T &value)
 Convinience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject.
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
 Get whether a mutex is used to ensure ref() and unref() are thread safe.
OpenThreads::Mutex * getRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref().
int ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it.
int unref () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
int unref_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
int referenceCount () const
 Return the number of pointers currently referencing this object.
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL.
ObserverSetgetOrCreateObserverSet () const
 Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.
void addObserver (Observer *observer) const
 Add a Observer that is observing this object, notify the Observer when this object gets deleted.
void removeObserver (Observer *observer) const
 Remove Observer that is observing this object.

Protected Member Functions

virtual void applyLoopingMode ()
virtual ~ImageStream ()
- Protected Member Functions inherited from osg::Image
virtual ~Image ()
Imageoperator= (const Image &)
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 ()
 Object destructor.
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Protected Attributes

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
GLint _internalTextureFormat
GLenum _pixelFormat
GLenum _dataType
unsigned int _packing
float _pixelAspectRatio
AllocationMode _allocationMode
unsigned char * _data
MipmapDataType _mipmapData
ref_ptr< PixelBufferObject_bufferObject
- Protected Attributes inherited from osg::BufferData
unsigned int _modifiedCount
unsigned int _bufferIndex
osg::ref_ptr< ModifiedCallback_modifiedCallback
- 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 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 int computeNearestPowerOfTwo (int s, float bias=0.5f)
static int computeNumberOfMipmapLevels (int s, int t=1, int r=1)

Detailed Description

Image Stream class.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
NO_LOOPING 
LOOPING 
Enumerator:
INVALID 
PLAYING 
PAUSED 
REWINDING 

Constructor & Destructor Documentation

osg::ImageStream::ImageStream ( )
osg::ImageStream::ImageStream ( const ImageStream image,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::ImageStream::~ImageStream ( )
inlineprotectedvirtual

Member Function Documentation

virtual void osg::ImageStream::applyLoopingMode ( )
inlineprotectedvirtual

Reimplemented in osg::ImageSequence.

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

return the name of the object's class type.

Must be defined by derived classes.

Reimplemented from osg::Image.

Reimplemented in osg::ImageSequence.

virtual Object* osg::ImageStream::clone ( const CopyOp ) const
inlinevirtual

Clone an object, with Object* return type.

Must be defined by derived classes.

Reimplemented from osg::Image.

Reimplemented in osg::ImageSequence.

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

Clone the type of an object, with Object* return type.

Must be defined by derived classes.

Reimplemented from osg::Image.

Reimplemented in osg::ImageSequence.

virtual int osg::ImageStream::compare ( const Image rhs) const
virtual

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

Reimplemented from osg::Image.

Reimplemented in osg::ImageSequence.

AudioStreams& osg::ImageStream::getAudioStreams ( )
inline
const AudioStreams& osg::ImageStream::getAudioStreams ( ) const
inline
virtual double osg::ImageStream::getCreationTime ( ) const
inlinevirtual
virtual double osg::ImageStream::getFrameRate ( ) const
inlinevirtual
virtual double osg::ImageStream::getLength ( ) const
inlinevirtual

Reimplemented in osg::ImageSequence.

LoopingMode osg::ImageStream::getLoopingMode ( ) const
inline
virtual double osg::ImageStream::getReferenceTime ( ) const
inlinevirtual

Reimplemented in osg::ImageSequence.

StreamStatus osg::ImageStream::getStatus ( )
inline
virtual double osg::ImageStream::getTimeMultiplier ( ) const
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual float osg::ImageStream::getVolume ( ) const
inlinevirtual
virtual bool osg::ImageStream::isSameKindAs ( const Object obj) const
inlinevirtual

Reimplemented from osg::Image.

Reimplemented in osg::ImageSequence.

virtual const char* osg::ImageStream::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::Image.

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::pause ( )
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::play ( )
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::quit ( bool  = true)
inlinevirtual
virtual void osg::ImageStream::rewind ( )
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::seek ( double  )
inlinevirtual

Reimplemented in osg::ImageSequence.

void osg::ImageStream::setAudioStreams ( const AudioStreams asl)
inline
void osg::ImageStream::setLoopingMode ( LoopingMode  mode)
inline
virtual void osg::ImageStream::setReferenceTime ( double  )
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::setTimeMultiplier ( double  )
inlinevirtual

Reimplemented in osg::ImageSequence.

virtual void osg::ImageStream::setVolume ( float  )
inlinevirtual

Member Data Documentation

AudioStreams osg::ImageStream::_audioStreams
protected
LoopingMode osg::ImageStream::_loopingMode
protected
StreamStatus osg::ImageStream::_status
protected

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

osg logo
Generated at Thu Oct 4 2012 13:45:07 for the OpenSceneGraph by doxygen 1.8.1.1.