Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ iflTileIter(3) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



iflTileIter(3)    Image Format Library C++ Reference Manual     iflTileIter(3)



NAME
     iflTileIter - tile iterator

INHERITS FROM
     iflTile3D

HEADER FILE
     #include <il/iflTileIter.h>

CLASS DESCRIPTION
     This class is primarily used to iterate through the pages covering a
     tile. It assumes that pages are fixed size and that the origin of the
     first page is aligned with (0,0).  The alignment assumption can be
     overridden by setting the tileAligned flag, either in the constructor or
     in the setTile() method. Pages are assumed to be abutted unless the page
     border attribute is set using setPageBorder(); in this case, the page
     origins will be altered so that each page overlaps its neigbors by twice
     the page border and the first page will have it's origin at (-bx,-by,-
     bz).

     The iflTileIter class contains eight public member variables, six of
     which are derived from iflTile3D, that together specify the current page:


          int (x,y,z,c)               The origin of the current page.

          int (nx,ny,nz,nc)           The size of the current page.  (These
                                      values are constant.)

     Constructors

          iflTileIter(const iflTile3Dint& parent, const iflSize& pageSize,
                      int cSize, const iflConfig* cfg=NULL, int tileAligned=0)
          iflTileIter(const iflTile3Dint& parent, int cSize,
                      const iflConfig* cfg=NULL, int tileAligned=FALSE)
          iflTileIter()                        protected

     Iteration

          int more()
          int getCount()

     Initialization

          void setPageSize(const iflSize& pageSize)
          void setTile(const iflTile3Dint& parent, int cSize,
                       const iflConfig* cfg=NULL, int tileAligned=0)
          void setPageBorder(const iflXYZint& border, int includeBorder=FALSE)







                                                                        Page 1





iflTileIter(3)    Image Format Library C++ Reference Manual     iflTileIter(3)



FUNCTION DESCRIPTIONS
     iflTileIter()

          iflTileIter(const iflTile3Dint& parent, const iflSize& pageSize,
                      int cSize, const iflConfig* cfg=NULL, int tileAligned=0)
          iflTileIter(const iflTile3Dint& parent, int cSize,
                      const iflConfig* cfg=NULL, int tileAligned=FALSE)
          iflTileIter()                            protected


          The first constructor takes a parent tile and a page size
          (pageSize). This will make a tile with same size as the page that
          can be stepped across the parent tile in a row by row fashion. The
          constructed tile will have its origin aligned to a multiple of its
          size (unless tileAligned is TRUE, in which case this tile will have
          is origin aligned to the parent's origin). The constructor also
          takes the number of channels int the parent tile, cSize, and a
          channel list/channel offset (in cfg), to control stepping in the
          channel dimension.

          The second version of the constructor defers setting the page size
          to a later call to setPageSize().

          The protected constructor is used by derived classes, which are
          responsible initializing the object.

     getCount()

          int getCount()


          This method returns the total number of pages that will be iterated
          through for the current parameter values.

     more()

          int more()


          This method is used to iterate through the page locations that cover
          the parent tile. It must be called prior to accessing the first page
          location. It will return FALSE when there are no more page locations
          to iterate through, TRUE otherwise. After each call to more() the
          public member variables, (x,y,z,c), will indicate to origin of the
          next page.

     setPageBorder()

          void setPageBorder(const iflXYZint& border, int includeBorder=FALSE)






                                                                        Page 2





iflTileIter(3)    Image Format Library C++ Reference Manual     iflTileIter(3)



          This method is used to apply a page border, (border) to this tile;
          this will cause the iterated locations to overlap by twice the page
          border in each dimension; reflecting the way pages with borders are
          stored in an image cache.  If includeBorder is TRUE then pages that
          only supply border data will be included (useful when iterating for
          write access to a cache).

     setPageSize()

          void setPageSize(const iflSize& pageSize)


          This method sets the size of this tile (i.e. the page size that will
          be iterated).

     setTile()

          void setTile(const iflTile3Dint& parent, int cSize,
                       const iflConfig* cfg=NULL, int tileAligned=0)


          This method resets the dimensions of the parent tile that will be
          iterated across.  The parameters have the same meanings as on the
          constructor.

INHERITED MEMBER FUNCTIONS
   Inherited from iflTile3D
     boundingBox(), contains(), grow(), init(), intersect(), operator!=(),
     operator+=(), operator-=(), operator==(), shrink()

SEE ALSO
     iflTile3D, ilTileIter























                                                                        Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026