Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       SbImage -

       The SbImage class is an abstract datatype for 2D and 3D images.

       Be aware that this class is an extension for Coin, and it is not available in the original
       SGI Open Inventor v2.1 API.

SYNOPSIS

       #include <Inventor/SbImage.h>

   Public Member Functions
       SbImage (void)
       SbImage (const unsigned char *bytes, const SbVec2s &size, const int bytesperpixel)
       SbImage (const unsigned char *bytes, const SbVec3s &size, const int bytesperpixel)
       SbImage (const SbImage &image)
       ~SbImage ()
       void setValue (const SbVec2s &size, const int bytesperpixel, const unsigned char *bytes)
       void setValue (const SbVec3s &size, const int bytesperpixel, const unsigned char *bytes)
       void setValuePtr (const SbVec2s &size, const int bytesperpixel, const unsigned char
           *bytes)
       void setValuePtr (const SbVec3s &size, const int bytesperpixel, const unsigned char
           *bytes)
       unsigned char * getValue (SbVec2s &size, int &bytesperpixel) const
       unsigned char * getValue (SbVec3s &size, int &bytesperpixel) const
       SbVec3s getSize (void) const
       SbBool readFile (const SbString &filename, const SbString *const *searchdirectories=NULL,
           const int numdirectories=0)
       int operator== (const SbImage &image) const
       int operator!= (const SbImage &image) const
       SbImage & operator= (const SbImage &image)
       SbBool hasData (void) const
       void readLock (void) const
       void readUnlock (void) const
       SbBool scheduleReadFile (SbImageScheduleReadCB *cb, void *closure, const SbString
           &filename, const SbString *const *searchdirectories=NULL, const int numdirectories=0)

   Static Public Member Functions
       static void addReadImageCB (SbImageReadImageCB *cb, void *closure)
       static void removeReadImageCB (SbImageReadImageCB *cb, void *closure)
       static SbString searchForFile (const SbString &basename, const SbString *const *dirlist,
           const int numdirs)

Detailed Description

       The SbImage class is an abstract datatype for 2D and 3D images.

       Be aware that this class is an extension for Coin, and it is not available in the original
       SGI Open Inventor v2.1 API.

       Since:
           Coin 1.0

Constructor & Destructor Documentation

   SbImage::SbImage (void)
       Default constructor.

   SbImage::SbImage (const unsigned char *bytes, const SbVec2s &size, const intbytesperpixel)
       Constructor which sets 2D data using setValue().

       See Also:
           setValue()

   SbImage::SbImage (const unsigned char *bytes, const SbVec3s &size, const intbytesperpixel)
       Constructor which sets 3D data using setValue().

       This function is an extension for Coin, and it is not available in the original SGI Open
       Inventor v2.1 API.

       See Also:
           setValue()

       Since:
           Coin 2.0

   SbImage::SbImage (const SbImage &that)
       Copy constructor

       Since:
           Coin 4.0

   SbImage::~SbImage (void)
       Destructor.

Member Function Documentation

   void SbImage::setValue (const SbVec2s &size, const intbytesperpixel, const unsigned char
       *bytes)
       Convenience 2D version of setValue.

   void SbImage::setValue (const SbVec3s &size, const intbytesperpixel, const unsigned char
       *bytes)
       Sets the image to size and bytesperpixel. If bytes != NULL, data is copied from bytes into
       this class' image data. If bytes == NULL, the image data is left uninitialized.

       The image data will always be allocated in multiples of four. This means that if you set
       an image with size == (1,1,1) and bytesperpixel == 1, four bytes will be allocated to hold
       the data. This is mainly done to simplify the export code in SoSFImage and normally you'll
       not have to worry about this feature.

       If the depth of the image (size[2]) is zero, the image is considered a 2D image.

       Since:
           Coin 2.0

   void SbImage::setValuePtr (const SbVec2s &size, const intbytesperpixel, const unsigned char
       *bytes)
       Convenience 2D version of setValuePtr.

       See Also:
           setValue()

       Since:
           Coin 2.0

   void SbImage::setValuePtr (const SbVec3s &size, const intbytesperpixel, const unsigned char
       *bytes)
       Sets the image data without copying the data. bytes will be used directly, and the data
       will not be freed when the image instance is destructed.

       If the depth of the image (size[2]) is zero, the image is considered a 2D image.

       See Also:
           setValue()

       Since:
           Coin 2.0

   unsigned char * SbImage::getValue (SbVec2s &size, int &bytesperpixel) const
       Returns the 2D image data.

   unsigned char * SbImage::getValue (SbVec3s &size, int &bytesperpixel) const
       Returns the 3D image data.

       Since:
           Coin 2.0

   SbVec3s SbImage::getSize (void) const
       Returns the size of the image. If this is a 2D image, the z component is zero. If this is
       a 3D image, the z component is >= 1.

       Since:
           Coin 2.0

   SbBool SbImage::readFile (const SbString &filename, const SbString *const *searchdirectories =
       NULL, const intnumdirectories = 0)
       Reads image data from filename. In Coin, simage is used to load image files, and several
       common file formats are supported. simage can be downloaded from our webpages. If loading
       fails for some reason this method returns FALSE, and the instance is set to an empty
       image. If the file is successfully loaded, the file image data is copied into this class.

       If numdirectories > 0, this method will search for filename in all directories in
       searchdirectories.

   int SbImage::operator== (const SbImage &image) const
       Compare image of image with the image in this class and return TRUE if they are equal.

   int SbImage::operator!= (const SbImage &image) const [inline]
       Compare image of image with the image in this class and return FALSE if they are equal.

   SbImage & SbImage::operator= (const SbImage &image)
       Assignment operator.

   void SbImage::addReadImageCB (SbImageReadImageCB *cb, void *closure) [static]
       Add a callback which will be called whenever Coin wants to read an image file. The
       callback should return TRUE if it was able to successfully read and set the image data,
       and FALSE otherwise.

       The callback(s) will be called before attempting to use simage to load images.

       See Also:
           removeReadImageCB()

       Since:
           Coin 3.0

   void SbImage::removeReadImageCB (SbImageReadImageCB *cb, void *closure) [static]
       Remove a read image callback added with addReadImageCB().

       See Also:
           addReadImageCB()

       Since:
           Coin 3.0

   SbString SbImage::searchForFile (const SbString &basename, const SbString *const *dirlist,
       const intnumdirs) [static]
       Given a basename for a file and and array of directories to search (in dirlist, of length
       numdirs), returns the full name of the file found.

       In addition to looking at the root of each directory in dirlist, we also look into the
       subdirectories texture/, textures/, images/, pics/ and pictures/ of each dirlist
       directory.

       If no file matching basename could be found, returns an empty string.

   SbBool SbImage::hasData (void) const
       Returns TRUE if the image is not empty. This can be useful, since getValue() will start
       loading the image if scheduleReadFile() has been used to set the image data.

       Since:
           Coin 2.0

   void SbImage::readLock (void) const
       Apply a read lock on this image. This will make it impossible for other threads to change
       the image while this lock is active. Other threads can do read-only operations on this
       image, of course.

       For the single thread version of Coin, this method does nothing.

       See Also:
           readUnlock()

       Since:
           Coin 2.0

   void SbImage::readUnlock (void) const
       Release a read lock on this image.

       For the single thread version of Coin, this method does nothing.

       See Also:
           readLock()

       Since:
           Coin 2.0

   SbBool SbImage::scheduleReadFile (SbImageScheduleReadCB *cb, void *closure, const SbString
       &filename, const SbString *const *searchdirectories = NULL, const intnumdirectories = 0)
       Schedule a file for reading. cb will be called the first time getValue() is called for
       this image, and the callback should then start a thread to read the image. Do not read the
       image in the callback, as this will lock up the application.

       See Also:
           readFile()

       Since:
           Coin 2.0

Author

       Generated automatically by Doxygen for Coin from the source code.