Man Linux: Main Page and Category List

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 ()
       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
       int bytesperpixel) Constructor which sets 2D data using setValue().
       See also:
           setValue()

   SbImage::SbImage (const unsigned char * bytes, const SbVec3s & size, const
       int bytesperpixel) 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 (void) Destructor.

Member Function Documentation

   void SbImage::setValue (const SbVec2s & size, const int bytesperpixel,
       const unsigned char * bytes) Convenience 2D version of setValue.
   void SbImage::setValue (const SbVec3s & size, const int bytesperpixel,
       const unsigned char * bytes) Sets the image to size and bytesperpixel.
       If bytes != NULL, data is copied from bytes into this classimage
       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 int bytesperpixel,
       const unsigned char * bytes) Convenience 2D version of setValuePtr.
       See also:
           setValue()

       Since:
           Coin 2.0

   void SbImage::setValuePtr (const SbVec3s & size, const int bytesperpixel,
       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 int numdirectories = 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 int numdirs) [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 int numdirectories = 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.