osg::Image Class Reference

`#include <Image>`

Inheritance diagram for osg::Image:

## Classes

class | DataIterator
struct | UpdateCallback
class | DimensionsChangedCallback

## Public Types

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

| Image ()
| Image (const Image &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const
virtual Object * | clone (const CopyOp &copyop) const
virtual bool | isSameKindAs (const Object *obj) const
virtual const char * | libraryName () const
virtual const char * | className () const
virtual osg::Image * | asImage ()
virtual const osg::Image * | asImage () const
virtual const GLvoid * | getDataPointer () const
virtual unsigned int | getTotalDataSize () const
virtual int | compare (const Image &rhs) 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 MipmapDataType & | getMipmapLevels () 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)
PixelBufferObject * | getPixelBufferObject ()
const PixelBufferObject * | getPixelBufferObject () const
virtual bool | requiresUpdateCall () const
virtual void | update (NodeVisitor *)
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::Array * | asArray ()
virtual const osg::Array * | asArray () const
virtual osg::PrimitiveSet * | asPrimitiveSet ()
virtual const osg::PrimitiveSet * | asPrimitiveSet () const
void | setBufferObject (BufferObject *bufferObject)
BufferObject * | getBufferObject ()
const BufferObject * | getBufferObject () const
void | setBufferIndex (unsigned int index)
unsigned int | getBufferIndex () const
GLBufferObject * | getGLBufferObject (unsigned int contextID) const
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const
void | setModifiedCallback (ModifiedCallback *md)
ModifiedCallback * | getModifiedCallback ()
const ModifiedCallback * | getModifiedCallback () 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 Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () 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::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () 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 &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Static Public Member Functions

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::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Protected Member Functions

virtual | ~Image ()
Image & | operator= (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

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

## Detailed Description

Image class for encapsulating the storage texture image data.

## Member Typedef Documentation

## DimensionsChangedCallbackVector

typedef std::vector< osg::ref_ptr<DimensionsChangedCallback> > osg::Image::DimensionsChangedCallbackVector

## MipmapDataType

typedef std::vector< unsigned int > osg::Image::MipmapDataType

Precomputed mipmaps stuff.

## Member Enumeration Documentation

## AllocationMode

enum osg::Image::AllocationMode

Enumerator
NO_DELETE |
USE_NEW_DELETE |
USE_MALLOC_FREE |

## Origin

enum osg::Image::Origin

Enumerator
BOTTOM_LEFT |
TOP_LEFT |

## WriteHint

enum osg::Image::WriteHint

Enumerator
NO_PREFERENCE |
STORE_INLINE |
EXTERNAL_FILE |

## Constructor & Destructor Documentation

## Image() [1/2]

osg::Image::Image | ( |  | ) |

Referenced by clone(), cloneType(), compare(), osg::ImageStream::compare(), osg::Image::DataIterator::DataIterator(), Image(), isSameKindAs(), and operator=().

## Image() [2/2]

osg::Image::Image | ( | const Image & | image,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

Copy constructor using CopyOp to manage deep vs shallow copy.

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

## ~Image()

virtual osg::Image::~Image | ( |  | ) |

protected virtual

## Member Function Documentation

## addDimensionsChangedCallback()

void osg::Image::addDimensionsChangedCallback | ( | DimensionsChangedCallback * | cb | ) |

## allocateImage()

virtual void osg::Image::allocateImage | ( | int | s,
|  | int | t,
|  | int | r,
|  | GLenum | pixelFormat,
|  | GLenum | type,
|  | int | packing = 1 )

virtual

Allocate a pixel block of specified size and type.

References r(), s(), and t().

## asImage() [1/2]

virtual osg::Image * osg::Image::asImage | ( |  | ) |

inline virtual

Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. Equivalent to dynamic_cast<Image*>(this).

Reimplemented from osg::BufferData.

## asImage() [2/2]

virtual const osg::Image * osg::Image::asImage | ( |  | ) | const

inline virtual

Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. Equivalent to dynamic_cast<Image*>(this).

Reimplemented from osg::BufferData.

## className()

virtual const char * osg::Image::className | ( |  | ) | const

inline virtual

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

Reimplemented from osg::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

## clone()

virtual Object * osg::Image::clone | ( | const CopyOp & |  | ) | const

inline virtual

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

Implements osg::Object.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

References Image().

## cloneType()

virtual Object * osg::Image::cloneType | ( |  | ) | const

inline virtual

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

Implements osg::Object.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

References Image().

## compare()

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

virtual

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

Reimplemented in osg::ImageSequence, and osg::ImageStream.

References Image().

## computeBlockFootprint()

osg::Vec3i osg::Image::computeBlockFootprint | ( | GLenum | pixelFormat | ) |

static

return the dimensions of a block of compressed pixels

## computeBlockSize()

unsigned int osg::Image::computeBlockSize | ( | GLenum | pixelFormat,
|  | GLenum | packing )

static

return the size in bytes of a block of compressed pixels

## computeFormatDataType()

GLenum osg::Image::computeFormatDataType | ( | GLenum | pixelFormat | ) |

static

## computeImageSizeInBytes()

unsigned int osg::Image::computeImageSizeInBytes | ( | int | width,
|  | int | height,
|  | int | depth,
|  | GLenum | pixelFormat,
|  | GLenum | type,
|  | int | packing = 1,
|  | int | slice_packing = 1,
|  | int | image_packing = 1 )

static

## computeNearestPowerOfTwo()

int osg::Image::computeNearestPowerOfTwo | ( | int | s,
|  | float | bias = 0.5f )

static

References s().

## computeNumberOfMipmapLevels()

int osg::Image::computeNumberOfMipmapLevels | ( | int | s,
|  | int | t = 1,
|  | int | r = 1 )

static

References r(), s(), and t().

## computeNumComponents()

unsigned int osg::Image::computeNumComponents | ( | GLenum | pixelFormat | ) |

static

## computePixelFormat()

GLenum osg::Image::computePixelFormat | ( | GLenum | pixelFormat | ) |

static

## computePixelSizeInBits()

unsigned int osg::Image::computePixelSizeInBits | ( | GLenum | pixelFormat,
|  | GLenum | type )

static

Referenced by getPixelSizeInBits().

## computeRowWidthInBytes()

unsigned int osg::Image::computeRowWidthInBytes | ( | int | width,
|  | GLenum | pixelFormat,
|  | GLenum | type,
|  | int | packing )

static

Referenced by getRowSizeInBytes(), and getRowStepInBytes().

## copySubImage()

virtual void osg::Image::copySubImage | ( | int | s_offset,
|  | int | t_offset,
|  | int | r_offset,
|  | const osg::Image * | source )

virtual

Copy a source Image into a subpart of this Image at specified position. Typically used to copy to an already allocated image, such as creating a 3D image from a stack 2D images. If this Image is empty then image data is created to accommodate the source image in its offset position. If source is NULL then no operation happens, this Image is left unchanged.

## data() [1/4]

unsigned char * osg::Image::data | ( |  | ) |

inline

Raw image data. Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should take care to access the data per row rather than treating the whole data as a single block.

References _data.

Referenced by getDataPointer(), osg::modifyImage(), osg::readImage(), osgUtil::CubeMapGenerator::set_pixel(), setData(), setImage(), and osg::ImageSequence::setImage().

## data() [2/4]

const unsigned char * osg::Image::data | ( |  | ) | const

inline

Raw const image data. Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should take care to access the data per row rather than treating the whole data as a single block.

References _data.

## data() [3/4]

unsigned char * osg::Image::data | ( | unsigned int | column,
|  | unsigned int | row = 0,
|  | unsigned int | image = 0 )

inline

References _data, getImageSizeInBytes(), getPixelSizeInBits(), getRowStepInBytes(), and NULL.

## data() [4/4]

const unsigned char * osg::Image::data | ( | unsigned int | column,
|  | unsigned int | row = 0,
|  | unsigned int | image = 0 ) const

inline

References _data, getImageSizeInBytes(), getPixelSizeInBits(), getRowStepInBytes(), and NULL.

## deallocateData()

void osg::Image::deallocateData | ( |  | ) |

protected

## ensureValidSizeForTexturing()

void osg::Image::ensureValidSizeForTexturing | ( | GLint | maxTextureSize | ) |

Ensure image dimensions are a power of two. Mipmapped textures require the image dimensions to be power of two and are within the maximum texture size for the host machine.

## flipDepth()

void osg::Image::flipDepth | ( |  | ) |

Flip the image around the r dimension. Only relevant for 3D textures.

## flipHorizontal()

void osg::Image::flipHorizontal | ( |  | ) |

Flip the image horizontally, around s dimension.

## flipVertical()

void osg::Image::flipVertical | ( |  | ) |

Flip the image vertically, around t dimension.

## getAllocationMode()

AllocationMode osg::Image::getAllocationMode | ( |  | ) | const

inline

Get the method used for deleting data once it goes out of scope.

References _allocationMode.

## getColor() [1/3]

Vec4 osg::Image::getColor | ( | const Vec2 & | texcoord | ) | const

inline

Get the color value for specified texcoord.

References getColor(), osg::Vec2f::x(), and osg::Vec2f::y().

Referenced by getColor().

## getColor() [2/3]

Vec4 osg::Image::getColor | ( | const Vec3 & | texcoord | ) | const

Get the color value for specified texcoord.

## getColor() [3/3]

Vec4 osg::Image::getColor | ( | unsigned int | s,
|  | unsigned | t = 0,
|  | unsigned | r = 0 ) const

Get the color value for specified texcoord.

References r(), s(), and t().

## getDataPointer()

virtual const GLvoid * osg::Image::getDataPointer | ( |  | ) | const

inline virtual

Implements osg::BufferData.

References data().

## getDataType()

GLenum osg::Image::getDataType | ( |  | ) | const

inline

References _dataType.

Referenced by osg::modifyImage(), osg::readImage(), and scaleImage().

## getFileName()

const std::string & osg::Image::getFileName | ( |  | ) | const

inline

References _fileName.

## getImageSizeInBytes()

unsigned int osg::Image::getImageSizeInBytes | ( |  | ) | const

inline

Return the number of bytes each image (_s*_t) of pixels occupies.

References _t, and getRowSizeInBytes().

Referenced by data(), data(), and getTotalSizeInBytes().

## getImageStepInBytes()

unsigned int osg::Image::getImageStepInBytes | ( |  | ) | const

inline

Return the number of bytes between each successive image. Note, getImageSizeInBytes() will only equal getImageStepInBytes() when isDataContiguous() return true.

References _t, and getRowStepInBytes().

## getInternalTextureFormat()

GLint osg::Image::getInternalTextureFormat | ( |  | ) | const

inline

References _internalTextureFormat.

## getMipmapData() [1/2]

unsigned char * osg::Image::getMipmapData | ( | unsigned int | mipmapLevel | ) |

inline

References _data, and getMipmapOffset().

## getMipmapData() [2/2]

const unsigned char * osg::Image::getMipmapData | ( | unsigned int | mipmapLevel | ) | const

inline

References _data, and getMipmapOffset().

## getMipmapLevels()

const MipmapDataType & osg::Image::getMipmapLevels | ( |  | ) | const

inline

References _mipmapData.

## getMipmapOffset()

unsigned int osg::Image::getMipmapOffset | ( | unsigned int | mipmapLevel | ) | const

inline

References _mipmapData, and getNumMipmapLevels().

Referenced by getMipmapData(), and getMipmapData().

## getNumMipmapLevels()

unsigned int osg::Image::getNumMipmapLevels | ( |  | ) | const

inline

References _mipmapData.

Referenced by getMipmapOffset().

## getOrigin()

Origin osg::Image::getOrigin | ( |  | ) | const

inline

Get the origin of the image.

References _origin.

## getPacking()

unsigned int osg::Image::getPacking | ( |  | ) | const

inline

References _packing.

## getPixelAspectRatio()

float osg::Image::getPixelAspectRatio | ( |  | ) | const

inline

Get the pixel aspect ratio.

References _pixelAspectRatio.

## getPixelBufferObject() [1/2]

PixelBufferObject * osg::Image::getPixelBufferObject | ( |  | ) |

inline

Get the PixelBufferObject.

References osg::BufferData::getBufferObject().

## getPixelBufferObject() [2/2]

const PixelBufferObject * osg::Image::getPixelBufferObject | ( |  | ) | const

inline

Get the const PixelBufferObject.

References osg::BufferData::getBufferObject().

## getPixelFormat()

GLenum osg::Image::getPixelFormat | ( |  | ) | const

inline

References _pixelFormat.

Referenced by osg::modifyImage(), and osg::readImage().

## getPixelSizeInBits()

unsigned int osg::Image::getPixelSizeInBits | ( |  | ) | const

inline

Return the number of bits required for each pixel.

References _dataType, _pixelFormat, and computePixelSizeInBits().

Referenced by data(), and data().

## getRowLength()

int osg::Image::getRowLength | ( |  | ) | const

inline

References _rowLength.

## getRowSizeInBytes()

unsigned int osg::Image::getRowSizeInBytes | ( |  | ) | const

inline

Return the number of bytes each row of pixels occupies once it has been packed.

References _dataType, _packing, _pixelFormat, _s, and computeRowWidthInBytes().

Referenced by getImageSizeInBytes().

## getRowStepInBytes()

unsigned int osg::Image::getRowStepInBytes | ( |  | ) | const

inline

Return the number of bytes between each successive row. Note, getRowSizeInBytes() will only equal getRowStepInBytes() when isDataContiguous() return true.

References _dataType, _packing, _pixelFormat, _rowLength, _s, and computeRowWidthInBytes().

Referenced by data(), data(), and getImageStepInBytes().

## getTotalDataSize()

virtual unsigned int osg::Image::getTotalDataSize | ( |  | ) | const

inline virtual

Implements osg::BufferData.

References getTotalSizeInBytesIncludingMipmaps().

## getTotalSizeInBytes()

unsigned int osg::Image::getTotalSizeInBytes | ( |  | ) | const

inline

Return the number of bytes the whole row/image/volume of pixels occupies.

References _r, and getImageSizeInBytes().

## getTotalSizeInBytesIncludingMipmaps()

unsigned int osg::Image::getTotalSizeInBytesIncludingMipmaps | ( |  | ) | const

Return the number of bytes the whole row/image/volume of pixels occupies, including all mip maps if included.

Referenced by getTotalDataSize().

## getWriteHint()

WriteHint osg::Image::getWriteHint | ( |  | ) | const

inline

References _writeHint.

## handleDimensionsChangedCallbacks()

void osg::Image::handleDimensionsChangedCallbacks | ( |  | ) |

inline protected

References _dimensionsChangedCallbacks.

## isCompressed()

bool osg::Image::isCompressed | ( |  | ) | const

Return true of the pixel format is an OpenGL compressed pixel format.

## isDataContiguous()

bool osg::Image::isDataContiguous | ( |  | ) | const

inline

return true if the data stored in the image is a contiguous block of data.

References _rowLength, and _s.

## isImageTranslucent()

virtual bool osg::Image::isImageTranslucent | ( |  | ) | const

virtual

Return true if this image is translucent - i.e. it has alpha values that are less 1.0 (when normalized).

## isMipmap()

bool osg::Image::isMipmap | ( |  | ) | const

inline

References _mipmapData.

## isPackedType()

bool osg::Image::isPackedType | ( | GLenum | type | ) |

static

## isSameKindAs()

virtual bool osg::Image::isSameKindAs | ( | const Object * | obj | ) | const

inline virtual

Reimplemented from osg::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

References Image().

## libraryName()

virtual const char * osg::Image::libraryName | ( |  | ) | const

inline virtual

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::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

## operator=()

Image & osg::Image::operator= | ( | const Image & |  | ) |

inline protected

References Image().

## r()

int osg::Image::r | ( |  | ) | const

inline

Depth of image.

References _r.

Referenced by allocateImage(), computeNumberOfMipmapLevels(), getColor(), osg::modifyImage(), osg::readImage(), scaleImage(), scaleImage(), setColor(), setImage(), and osg::ImageSequence::setImage().

## readImageFromCurrentTexture()

virtual void osg::Image::readImageFromCurrentTexture | ( | unsigned int | contextID,
|  | bool | copyMipMapsIfAvailable,
|  | GLenum | type = GL_UNSIGNED_BYTE,
|  | unsigned int | face = 0 )

virtual

Read the contents of the current bound texture, handling compressed pixelFormats if present. Create memory for storage if required, reuse existing pixel coords if possible.

## readPixels()

virtual void osg::Image::readPixels | ( | int | x,
|  | int | y,
|  | int | width,
|  | int | height,
|  | GLenum | pixelFormat,
|  | GLenum | type,
|  | int | packing = 1 )

virtual

Read pixels from current frame buffer at specified position and size, using glReadPixels. Create memory for storage if required, reuse existing pixel coords if possible.

## removeDimensionsChangedCallback()

void osg::Image::removeDimensionsChangedCallback | ( | DimensionsChangedCallback * | cb | ) |

## requiresUpdateCall()

virtual bool osg::Image::requiresUpdateCall | ( |  | ) | const

inline virtual

Return whether the update(NodeVisitor* nv) should be required on each frame to enable proper working of osg::Image.

Reimplemented in osg::ImageSequence.

## roudUpToMultiple()

int osg::Image::roudUpToMultiple | ( | int | s,
|  | int | pack )

static

References s().

## s()

int osg::Image::s | ( |  | ) | const

inline

Width of image.

References _s.

Referenced by allocateImage(), computeNearestPowerOfTwo(), computeNumberOfMipmapLevels(), getColor(), osg::modifyImage(), osg::readImage(), roudUpToMultiple(), scaleImage(), scaleImage(), setColor(), setImage(), and osg::ImageSequence::setImage().

## scaleImage() [1/2]

void osg::Image::scaleImage | ( | int | s,
|  | int | t,
|  | int | r )

inline

Scale image to specified size.

References getDataType(), r(), s(), scaleImage(), and t().

Referenced by scaleImage().

## scaleImage() [2/2]

virtual void osg::Image::scaleImage | ( | int | s,
|  | int | t,
|  | int | r,
|  | GLenum | newDataType )

virtual

Scale image to specified size and with specified data type.

References r(), s(), and t().

## sendFocusHint()

virtual bool osg::Image::sendFocusHint | ( | bool |  | ) |

inline virtual

Hint whether to enable or disable focus to images acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

## sendKeyEvent()

virtual bool osg::Image::sendKeyEvent | ( | int | ,
|  | bool | )

inline virtual

Send key events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

## sendPointerEvent()

virtual bool osg::Image::sendPointerEvent | ( | int | ,
|  | int | ,
|  | int | )

inline virtual

Send pointer events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

## setAllocationMode()

void osg::Image::setAllocationMode | ( | AllocationMode | mode | ) |

inline

Set the method used for deleting data once it goes out of scope.

References _allocationMode.

## setColor() [1/3]

void osg::Image::setColor | ( | const osg::Vec4 & | color,
|  | const osg::Vec2 & | texcoord )

inline

Set the color value for specified texcoord. Note texcoord is clamped to edge.

References setColor().

Referenced by setColor().

## setColor() [2/3]

void osg::Image::setColor | ( | const osg::Vec4 & | color,
|  | const osg::Vec3 & | texcoord )

Set the color value for specified texcoord. Note texcoord is clamped to edge.

## setColor() [3/3]

void osg::Image::setColor | ( | const osg::Vec4 & | color,
|  | unsigned int | s,
|  | unsigned int | t = 0,
|  | unsigned int | r = 0 )

Set the color value for specified texcoord.

References r(), s(), and t().

## setData()

void osg::Image::setData | ( | unsigned char * | data,
|  | AllocationMode | allocationMode )

protected

References data().

## setDataType()

void osg::Image::setDataType | ( | GLenum | dataType | ) |

## setFileName()

void osg::Image::setFileName | ( | const std::string & | fileName | ) |

## setFrameLastRendered()

virtual void osg::Image::setFrameLastRendered | ( | const osg::FrameStamp * |  | ) |

inline virtual

Pass frame information to the custom Image classes, to be called only when objects associated with imagery are not culled.

## setImage()

virtual void osg::Image::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

Set the image dimensions, format and data.

References data(), r(), s(), and t().

Referenced by osg::ImageSequence::setImage(), and osgFX::AnisotropicLighting::setLightingMap().

## setInternalTextureFormat()

void osg::Image::setInternalTextureFormat | ( | GLint | internalFormat | ) |

## setMipmapLevels()

void osg::Image::setMipmapLevels | ( | const MipmapDataType & | mipmapDataVector | ) |

inline

Send offsets into data. It is assumed that first mipmap offset (index 0) is 0.

References _mipmapData.

## setOrigin()

void osg::Image::setOrigin | ( | Origin | origin | ) |

inline

Set the origin of the image. The default value is BOTTOM_LEFT and is consistent with OpenGL. TOP_LEFT is used for imagery that follows standard Imagery convention, such as movies, and hasn't been flipped yet. For such images one much flip the t axis of the tex coords. to handle this origin position.

References _origin.

## setPacking()

void osg::Image::setPacking | ( | unsigned int | packing | ) |

inline

References _packing.

## setPixelAspectRatio()

void osg::Image::setPixelAspectRatio | ( | float | pixelAspectRatio | ) |

inline

Set the pixel aspect ratio, defined as the pixel width divided by the pixel height.

References _pixelAspectRatio.

## setPixelBufferObject()

void osg::Image::setPixelBufferObject | ( | PixelBufferObject * | buffer | ) |

inline

Set the optional PixelBufferObject used to map the image memory efficiently to graphics memory.

References osg::BufferData::setBufferObject().

## setPixelFormat()

void osg::Image::setPixelFormat | ( | GLenum | pixelFormat | ) |

## setRowLength()

void osg::Image::setRowLength | ( | int | length | ) |

## setWriteHint()

void osg::Image::setWriteHint | ( | WriteHint | writeHint | ) |

inline

References _writeHint.

## supportsTextureSubloading()

bool osg::Image::supportsTextureSubloading | ( |  | ) | const

returns false for texture formats that do not support texture subloading

## swap()

void osg::Image::swap | ( | osg::Image & | rhs | ) |

swap the data and settings between two image objects.

## t()

int osg::Image::t | ( |  | ) | const

inline

Height of image.

References _t.

Referenced by allocateImage(), computeNumberOfMipmapLevels(), getColor(), osg::modifyImage(), osg::readImage(), scaleImage(), scaleImage(), setColor(), setImage(), osg::ImageSequence::setImage(), and osg::ImageSequence::setReferenceTime().

## update()

virtual void osg::Image::update | ( | NodeVisitor * |  | ) |

inline virtual

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

Reimplemented in osg::ImageSequence.

## valid()

bool osg::Image::valid | ( |  | ) | const

inline

Return true if the Image represent a valid and usable imagery.

References _data, _dataType, _r, _s, and _t.

## Member Data Documentation

## _allocationMode

AllocationMode osg::Image::_allocationMode

protected

Referenced by getAllocationMode(), and setAllocationMode().

## _data

unsigned char* osg::Image::_data

protected

Referenced by data(), data(), data(), data(), getMipmapData(), getMipmapData(), and valid().

## _dataType

GLenum osg::Image::_dataType

protected

Referenced by getDataType(), getPixelSizeInBits(), getRowSizeInBytes(), getRowStepInBytes(), and valid().

## _dimensionsChangedCallbacks

DimensionsChangedCallbackVector osg::Image::_dimensionsChangedCallbacks

protected

Referenced by handleDimensionsChangedCallbacks().

## _fileName

std::string osg::Image::_fileName

protected

Referenced by getFileName().

## _internalTextureFormat

GLint osg::Image::_internalTextureFormat

protected

Referenced by getInternalTextureFormat().

## _mipmapData

MipmapDataType osg::Image::_mipmapData

protected

Referenced by getMipmapLevels(), getMipmapOffset(), getNumMipmapLevels(), isMipmap(), and setMipmapLevels().

## _origin

Origin osg::Image::_origin

protected

Referenced by getOrigin(), and setOrigin().

## _packing

unsigned int osg::Image::_packing

protected

Referenced by getPacking(), getRowSizeInBytes(), getRowStepInBytes(), and setPacking().

## _pixelAspectRatio

float osg::Image::_pixelAspectRatio

protected

Referenced by getPixelAspectRatio(), and setPixelAspectRatio().

## _pixelFormat

GLenum osg::Image::_pixelFormat

protected

Referenced by getPixelFormat(), getPixelSizeInBits(), getRowSizeInBytes(), and getRowStepInBytes().

## _r

int osg::Image::_r

protected

Referenced by getTotalSizeInBytes(), r(), and valid().

## _rowLength

int osg::Image::_rowLength

protected

Referenced by getRowLength(), getRowStepInBytes(), and isDataContiguous().

## _s

int osg::Image::_s

protected

Referenced by getRowSizeInBytes(), getRowStepInBytes(), isDataContiguous(), s(), and valid().

## _t

int osg::Image::_t

protected

Referenced by getImageSizeInBytes(), getImageStepInBytes(), t(), and valid().

## _writeHint

WriteHint osg::Image::_writeHint

protected

Referenced by getWriteHint(), and setWriteHint().

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

- Image