iflTileIter(3)
iflTileIter - tile iterator
As shipped in IRIX 6.5. First release of IRIX 6.5.
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) 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) 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