OpenSceneGraph/doc/doc++/osg/Image.html
2002-11-13 12:42:58 +00:00

523 lines
26 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::Image</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Image</A></H2></H2><BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CImage,MImage.html">
<param name=before value="M,M,M">
<param name=after value="Md_SP,Md_,M">
<param name=indent value="0,1,2">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.75.1">Image</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.75.2">Image</A></B>(const <!1><A HREF="Image.html#DOC.2.75.2">Image</A>&amp; image, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.75.3">cloneType</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.75.4">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.75.5">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.75.6">libraryName</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.75.7">className</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.8">setFileName</A></B>(const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const std::string&amp; <B><A HREF="#DOC.2.75.9">getFileName</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.10">allocateImage</A></B>(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>, GLenum format, GLenum type, int packing=1)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.11">setImage</A></B>(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>, GLint internalTextureformat, GLenum format, GLenum type, unsigned char* <!1><A HREF="Image.html#DOC.2.75.28">data</A>, int packing=1)
<DD><I>set the image data and format.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.12">readPixels</A></B>(int <!1><A HREF="Viewport.html#DOC.2.200.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.200.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.200.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.200.10">height</A>, GLenum format, GLenum type)
<DD><I>readPixels from screen at specified position and size, using glReadPixels.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.13">scaleImage</A></B>(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>)
<DD><I>Scale image to specified size.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.14">copySubImage</A></B>(int s_offset, int t_offset, int r_offset, <!1><A HREF="Image.html">osg::Image</A>* source)
<DD><I>Copy a source Image into a subpart of this Image at specified position.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline int <B><A HREF="#DOC.2.75.15">s</A></B>() const
<DD><I>Width of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline int <B><A HREF="#DOC.2.75.16">t</A></B>() const
<DD><I>Height of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline int <B><A HREF="#DOC.2.75.17">r</A></B>() const
<DD><I>Depth of image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.18">setInternalTextureFormat</A></B>(GLint internalFormat)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline GLint <B><A HREF="#DOC.2.75.19">getInternalTextureFormat</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.20">setPixelFormat</A></B>(GLenum format)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline GLenum <B><A HREF="#DOC.2.75.21">getPixelFormat</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline GLenum <B><A HREF="#DOC.2.75.22">getDataType</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.23">getPacking</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.24">getPixelSizeInBits</A></B>() const
<DD><I>return the numbers of bits required for each pixel</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.25">getRowSizeInBytes</A></B>() const
<DD><I>return the numbers of bytes each row of pixels occupies once it has been packed</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.26">getImageSizeInBytes</A></B>() const
<DD><I>return the numbers of bytes each image (_s*_t) of pixels occupies</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.27">getTotalSizeInBytes</A></B>() const
<DD><I>return the numbers of bytes the whole row/image/volume of pixels occupies</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned char* <B><A HREF="#DOC.2.75.28">data</A></B>()
<DD><I>raw image data</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const unsigned char* <B><A HREF="#DOC.2.75.29">data</A></B>() const
<DD><I>raw const image data</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned char* <B><A HREF="#DOC.2.75.30">data</A></B>(int column, int row=0, int image=0) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.31">flipHorizontal</A></B>(int image=0)
<DD><I>Flip the image horizontally</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.32">flipVertical</A></B>(int image=0)
<DD><I>Flip the image vertically</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.33">ensureValidSizeForTexturing</A></B>(GLint <!1><A HREF="Extensions.html#DOC.2.175.38.11">maxTextureSize</A>)
<DD><I>Ensure image dimensions are a power of two.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.75.34">dirty</A></B>()
<DD><I>Dirty the image, which increments the modified flag, to force osg::Texture to reload the image</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.75.35">setModifiedTag</A></B>(unsigned int value)
<DD><I>Set the modified tag value, only used by osg::Texture when using texture subloading.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int <B><A HREF="#DOC.2.75.36">getModifiedTag</A></B>() const
<DD><I>Get modified tag value, only used by osg::Texture when using texture subloading.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static bool <B><A HREF="#DOC.2.75.37">isPackedType</A></B>(GLenum type)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static unsigned int <B><A HREF="#DOC.2.75.38">computeNumComponents</A></B>(GLenum format)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static unsigned int <B><A HREF="#DOC.2.75.39">computePixelSizeInBits</A></B>(GLenum format, GLenum type)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static unsigned int <B><A HREF="#DOC.2.75.40">computeRowWidthInBytes</A></B>(int <!1><A HREF="Viewport.html#DOC.2.200.9">width</A>, GLenum format, GLenum type, int packing)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static unsigned int <B><A HREF="#DOC.2.75.41">computeNearestPowerOfTwo</A></B>(unsigned int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, float bias=0.5f)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.75.43">isMipmap</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.75.44">getNumMipmapLevels</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.75.45">setMipmapData</A></B>(const <!1><A HREF="Image.html#DOC.2.75.42">MipmapDataType</A>&amp; mipmapDataVector)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned char* <B><A HREF="#DOC.2.75.46">getMipmapData</A></B>(unsigned int mipmapNumber) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.75.47">computeMipMaps</A></B>()
<DD><I>converts a single image into mip mapped version image</I>
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt; unsigned int &gt; <B><A HREF="#DOC.2.75.42">MipmapDataType</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.75.50">_fileName</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.75.51">_s</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.75.52">_t</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.75.53">_r</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint <B><A HREF="#DOC.2.75.54">_internalTextureFormat</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.75.55">_pixelFormat</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.75.56">_dataType</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.75.57">_packing</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned char* <B><A HREF="#DOC.2.75.58">_data</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.75.59">_modifiedTag</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html#DOC.2.75.42">MipmapDataType</A> <B><A HREF="#DOC.2.75.60">_mipmapData</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.75.48">~Image</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html">Image</A>&amp; <B><A HREF="#DOC.2.75.49">operator = </A></B>(const <!1><A HREF="Image.html">Image</A>&amp;)
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setDataVariance</B>(<!1><A HREF="Object.html#DOC.2.106.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.106.8">DataVariance</A> <B>getDataVariance</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.106.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt; <B>_userData</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline int <B>referenceCount</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline static int <B>createdCount</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline static int <B>deletedCount</B>()
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>static int <B>_createdCount</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>static int <B>_deletedCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
<DL>
<A NAME="Image"></A>
<A NAME="DOC.2.75.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Image()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Image"></A>
<A NAME="DOC.2.75.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Image(const <!1><A HREF="Image.html#DOC.2.75.2">Image</A>&amp; image, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.75.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* cloneType() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.75.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* clone(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.75.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>* obj) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="libraryName"></A>
<A NAME="DOC.2.75.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* libraryName() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.75.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setFileName"></A>
<A NAME="DOC.2.75.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFileName(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getFileName"></A>
<A NAME="DOC.2.75.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const std::string&amp; getFileName() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="allocateImage"></A>
<A NAME="DOC.2.75.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void allocateImage(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>, GLenum format, GLenum type, int packing=1)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.75.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>, GLint internalTextureformat, GLenum format, GLenum type, unsigned char* <!1><A HREF="Image.html#DOC.2.75.28">data</A>, int packing=1)</B></TT>
<DD>set the image data and format.
note, when the packing value is negative (the default is -1) this method assumes
a _packing width of 1 if the width is not a multiple of 4,
otherwise automatically sets to _packing to 4. If a positive
value of packing is supplied than _packing is simply set to that value.
<DL><DT><DD></DL><P>
<A NAME="readPixels"></A>
<A NAME="DOC.2.75.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void readPixels(int <!1><A HREF="Viewport.html#DOC.2.200.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.200.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.200.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.200.10">height</A>, GLenum format, GLenum type)</B></TT>
<DD>readPixels from screen at specified position and size, using glReadPixels.
Create memory for storage if required, reuse existing pixel coords if possible.
if pixelFormat or dataType
<DL><DT><DD></DL><P>
<A NAME="scaleImage"></A>
<A NAME="DOC.2.75.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void scaleImage(int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, int <!1><A HREF="Image.html#DOC.2.75.16">t</A>, int <!1><A HREF="Image.html#DOC.2.75.17">r</A>)</B></TT>
<DD>Scale image to specified size.
<DL><DT><DD></DL><P>
<A NAME="copySubImage"></A>
<A NAME="DOC.2.75.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copySubImage(int s_offset, int t_offset, int r_offset, <!1><A HREF="Image.html">osg::Image</A>* source)</B></TT>
<DD>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 the this Image is empty then image data is created to
accomodate the imaging image in its offset position.
If source is NULL then no operation happens, this Image is left unchanged.
<DL><DT><DD></DL><P>
<A NAME="s"></A>
<A NAME="DOC.2.75.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline int s() const </B></TT>
<DD>Width of image
<DL><DT><DD></DL><P>
<A NAME="t"></A>
<A NAME="DOC.2.75.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline int t() const </B></TT>
<DD>Height of image
<DL><DT><DD></DL><P>
<A NAME="r"></A>
<A NAME="DOC.2.75.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline int r() const </B></TT>
<DD>Depth of image
<DL><DT><DD></DL><P>
<A NAME="setInternalTextureFormat"></A>
<A NAME="DOC.2.75.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setInternalTextureFormat(GLint internalFormat)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getInternalTextureFormat"></A>
<A NAME="DOC.2.75.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline GLint getInternalTextureFormat() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setPixelFormat"></A>
<A NAME="DOC.2.75.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPixelFormat(GLenum format)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPixelFormat"></A>
<A NAME="DOC.2.75.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline GLenum getPixelFormat() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getDataType"></A>
<A NAME="DOC.2.75.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline GLenum getDataType() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPacking"></A>
<A NAME="DOC.2.75.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getPacking() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPixelSizeInBits"></A>
<A NAME="DOC.2.75.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getPixelSizeInBits() const </B></TT>
<DD>return the numbers of bits required for each pixel
<DL><DT><DD></DL><P>
<A NAME="getRowSizeInBytes"></A>
<A NAME="DOC.2.75.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getRowSizeInBytes() const </B></TT>
<DD>return the numbers of bytes each row of pixels occupies once it has been packed
<DL><DT><DD></DL><P>
<A NAME="getImageSizeInBytes"></A>
<A NAME="DOC.2.75.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getImageSizeInBytes() const </B></TT>
<DD>return the numbers of bytes each image (_s*_t) of pixels occupies
<DL><DT><DD></DL><P>
<A NAME="getTotalSizeInBytes"></A>
<A NAME="DOC.2.75.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getTotalSizeInBytes() const </B></TT>
<DD>return the numbers of bytes the whole row/image/volume of pixels occupies
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.75.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned char* data()</B></TT>
<DD>raw image data
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.75.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const unsigned char* data() const </B></TT>
<DD>raw const image data
<DL><DT><DD></DL><P>
<A NAME="data"></A>
<A NAME="DOC.2.75.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned char* data(int column, int row=0, int image=0) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="flipHorizontal"></A>
<A NAME="DOC.2.75.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flipHorizontal(int image=0)</B></TT>
<DD>Flip the image horizontally
<DL><DT><DD></DL><P>
<A NAME="flipVertical"></A>
<A NAME="DOC.2.75.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flipVertical(int image=0)</B></TT>
<DD>Flip the image vertically
<DL><DT><DD></DL><P>
<A NAME="ensureValidSizeForTexturing"></A>
<A NAME="DOC.2.75.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void ensureValidSizeForTexturing(GLint <!1><A HREF="Extensions.html#DOC.2.175.38.11">maxTextureSize</A>)</B></TT>
<DD>Ensure image dimensions are a power of two.
Mip Mapped texture require the image dimensions to be
power of two and are within the maxiumum texture size for
the host machine.
<DL><DT><DD></DL><P>
<A NAME="dirty"></A>
<A NAME="DOC.2.75.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void dirty()</B></TT>
<DD>Dirty the image, which increments the modified flag, to force osg::Texture to reload the image
<DL><DT><DD></DL><P>
<A NAME="setModifiedTag"></A>
<A NAME="DOC.2.75.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setModifiedTag(unsigned int value)</B></TT>
<DD>Set the modified tag value, only used by osg::Texture when using texture subloading.
<DL><DT><DD></DL><P>
<A NAME="getModifiedTag"></A>
<A NAME="DOC.2.75.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int getModifiedTag() const </B></TT>
<DD>Get modified tag value, only used by osg::Texture when using texture subloading.
<DL><DT><DD></DL><P>
<A NAME="isPackedType"></A>
<A NAME="DOC.2.75.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static bool isPackedType(GLenum type)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeNumComponents"></A>
<A NAME="DOC.2.75.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static unsigned int computeNumComponents(GLenum format)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computePixelSizeInBits"></A>
<A NAME="DOC.2.75.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static unsigned int computePixelSizeInBits(GLenum format, GLenum type)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeRowWidthInBytes"></A>
<A NAME="DOC.2.75.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static unsigned int computeRowWidthInBytes(int <!1><A HREF="Viewport.html#DOC.2.200.9">width</A>, GLenum format, GLenum type, int packing)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeNearestPowerOfTwo"></A>
<A NAME="DOC.2.75.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static unsigned int computeNearestPowerOfTwo(unsigned int <!1><A HREF="Image.html#DOC.2.75.15">s</A>, float bias=0.5f)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MipmapDataType"></A>
<A NAME="DOC.2.75.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt; unsigned int &gt; MipmapDataType</B></TT>
<DL><DT><DD></DL><P>
<A NAME="isMipmap"></A>
<A NAME="DOC.2.75.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool isMipmap() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getNumMipmapLevels"></A>
<A NAME="DOC.2.75.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int getNumMipmapLevels() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setMipmapData"></A>
<A NAME="DOC.2.75.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setMipmapData(const <!1><A HREF="Image.html#DOC.2.75.42">MipmapDataType</A>&amp; mipmapDataVector)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getMipmapData"></A>
<A NAME="DOC.2.75.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned char* getMipmapData(unsigned int mipmapNumber) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeMipMaps"></A>
<A NAME="DOC.2.75.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void computeMipMaps()</B></TT>
<DD>converts a single image into mip mapped version image
<DL><DT><DD></DL><P>
<A NAME="~Image"></A>
<A NAME="DOC.2.75.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Image()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.75.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>&amp; operator = (const <!1><A HREF="Image.html">Image</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_fileName"></A>
<A NAME="DOC.2.75.50"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _fileName</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_s"></A>
<A NAME="DOC.2.75.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _s</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_t"></A>
<A NAME="DOC.2.75.52"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _t</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_r"></A>
<A NAME="DOC.2.75.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _r</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalTextureFormat"></A>
<A NAME="DOC.2.75.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _internalTextureFormat</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_pixelFormat"></A>
<A NAME="DOC.2.75.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _pixelFormat</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_dataType"></A>
<A NAME="DOC.2.75.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _dataType</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_packing"></A>
<A NAME="DOC.2.75.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _packing</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_data"></A>
<A NAME="DOC.2.75.58"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned char* _data</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
<A NAME="DOC.2.75.59"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _modifiedTag</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_mipmapData"></A>
<A NAME="DOC.2.75.60"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html#DOC.2.75.42">MipmapDataType</A> _mipmapData</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>