iflConfig(3)
iflConfig - class for pixel abstraction
As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.
NAME iflConfig - class for pixel abstraction INHERITS FROM This is a base class and therefore has no inheritance. HEADER FILE #include <ifl/iflCdefs.h> CLASS DESCRIPTION The iflConfig class is used to describe the configuration of pixel data. It is used in iflFile functions such as iflGetTile() and iflSetTile() to describe the configuration of data in the user's buffer. An iflConfig contains six public member variables describing a collection of pixels: iflType dtype Data type of the pixels iflOrder order Order of the pixels iflOrientation orientation Orientation of the pixels int nchans Number of data channels the pixels contain int choff Offset in the channel list for the purpose of mapping from one collection of channels to another. int* channels List that maps channels from one collection to another. This array is not maintained by this object, the data pointed to must persist while the object is in use. Using iflConfig The iflConfig object contains a list that maps channels from one collection to another. In this code fragment, unsigned char buffer[10*10*3]; static int list[] = { 2, 1, 0 }; iflConfig cfg(iflUChar, iflInterleaved, 3, list); someFile.getTile(0, 0, 0, 10, 10, 1, buffer, &cfg); cfg is used to indicate that buffer is going to receive a 10-by-10 array of three-component pixels stored in interleaved order with an unsigned char data type. This would override the actual configuration of the data in someFile. The channel list provides the buffer's channel information. The first channel of the buffer receives data from channel 2 of someFile. The second channel is from someFile's channel 1. The third buffer channel gets channel 0 of someFile. In general, when an iflConfig is defaulted, the operation being performed assumes that the source and destination configurations match. If someFile was actually a four-channel float image stored in separate order, then someFile.getTile(0, 0, 0, 10, 10, 1, buffer); would require a buffer declared as float buffer[10*10*4]; and would receive a verbatim copy of the requested section of someFile. CLASS MEMBER FUNCTION SUMMARY Constructor iflConfig* iflConfigCreate(iflDataType type, iflOrder ord, int nchan, int* chanList, int chanOff, iflOrientation ori(0)) Destructor void iflConfigDelete(iflConfig *img) FUNCTION DESCRIPTIONS iflConfig() iflConfig* iflConfigCreate(iflDataType type, iflOrder ord, int nchan, int* chanList, int chanOff, iflOrientation ori(0)) The constructor creates an iflConfig with data type, type; data ordering, order; and channel list defined by chanList of nc channels. If chanList is omitted, all nchan channels are used in ascending order. Optionally, the orientation is set to ori. If omitted, the orientation matches that of the image being accessed. iflConfigDelete() void iflConfigDelete(iflConfig *img) Deletes an object of class iflConfig, thus freeing any associated resources. SEE ALSO iflFile