|
| Iterator (ImageBuf &ib, WrapMode wrap=WrapDefault) |
|
| Iterator (ImageBuf &ib, int x, int y, int z=0, WrapMode wrap=WrapDefault) |
|
| Iterator (ImageBuf &ib, const ROI &roi, WrapMode wrap=WrapDefault) |
| Construct read-write iteration region from ImageBuf and ROI. More...
|
|
| Iterator (ImageBuf &ib, int xbegin, int xend, int ybegin, int yend, int zbegin=0, int zend=1, WrapMode wrap=WrapDefault) |
|
| Iterator (Iterator &i) |
|
| ~Iterator () |
|
const Iterator & | operator= (const Iterator &i) |
|
DataArrayProxy< BUFT, USERT > & | operator* () |
|
USERT | operator[] (int i) const |
|
DataProxy< BUFT, USERT > | operator[] (int i) |
|
void * | rawptr () const |
|
void | set_deep_samples (int n) |
|
USERT | deep_value (int c, int s) const |
| Retrieve the deep data value of sample s of channel c. More...
|
|
uint32_t | deep_value_uint (int c, int s) const |
|
void | set_deep_value (int c, int s, float value) |
|
void | set_deep_value (int c, int s, uint32_t value) |
|
| IteratorBase (const ImageBuf &ib, WrapMode wrap) |
|
| IteratorBase (const ImageBuf &ib, const ROI &roi, WrapMode wrap) |
| Construct valid iteration region from ImageBuf and ROI. More...
|
|
| IteratorBase (const ImageBuf &ib, int xbegin, int xend, int ybegin, int yend, int zbegin, int zend, WrapMode wrap) |
|
| IteratorBase (const IteratorBase &i) |
|
| ~IteratorBase () |
|
const IteratorBase & | assign_base (const IteratorBase &i) |
|
int | x () const |
|
int | y () const |
|
int | z () const |
|
bool | valid () const |
| Is the current location within the designated iteration range? More...
|
|
bool | valid (int x_, int y_, int z_=0) const |
|
bool | exists (int x_, int y_, int z_=0) const |
|
bool | exists () const |
|
bool | done () const |
| Are we finished iterating over the region? More...
|
|
int | deep_samples () const |
| Retrieve the number of deep data samples at this pixel. More...
|
|
WrapMode | wrap () const |
| Return the wrap mode. More...
|
|
void | pos (int x_, int y_, int z_=0) |
|
OIIO_FORCEINLINE void | operator++ () |
|
void | operator++ (int) |
|
ROI | range () const |
| Return the iteration range. More...
|
|
void | rerange (int xbegin, int xend, int ybegin, int yend, int zbegin, int zend, WrapMode wrap=WrapDefault) |
|
template<typename BUFT, typename USERT = float>
class ImageBuf::Iterator< BUFT, USERT >
Templated class for referring to an individual pixel in an ImageBuf, iterating over the pixels of an ImageBuf, or iterating over the pixels of a specified region of the ImageBuf [xbegin..xend) X [ybegin..yend). It is templated on BUFT, the type known to be in the internal representation of the ImageBuf, and USERT, the type that the user wants to retrieve or set the data (defaulting to float). the whole idea is to allow this:
for ( ; ! pixel.done(); ++pixel) {
for (
int c = 0; c <
img.nchannels(); ++c) {
pixel[c] = ...;
}
}
Definition at line 1562 of file imagebuf.h.