HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageBuf::IteratorBase Class Reference

#include <imagebuf.h>

+ Inheritance diagram for ImageBuf::IteratorBase:

Public Member Functions

 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 IteratorBaseassign_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)
 

Protected Member Functions

void init_ib (WrapMode wrap)
 
void range_is_image ()
 
OIIO_FORCEINLINE void pos_xincr ()
 
void pos_done ()
 
void make_writeable ()
 

Protected Attributes

const ImageBufm_ib = nullptr
 
bool m_valid = false
 
bool m_exists = false
 
bool m_deep = false
 
bool m_localpixels = false
 
int m_img_xbegin
 
int m_img_xend
 
int m_img_ybegin
 
int m_img_yend
 
int m_img_zbegin
 
int m_img_zend
 
int m_rng_xbegin
 
int m_rng_xend
 
int m_rng_ybegin
 
int m_rng_yend
 
int m_rng_zbegin
 
int m_rng_zend
 
int m_x
 
int m_y
 
int m_z
 
ImageCache::Tile * m_tile = nullptr
 
int m_tilexbegin
 
int m_tileybegin
 
int m_tilezbegin
 
int m_tilexend
 
int m_nchannels
 
size_t m_pixel_bytes
 
char * m_proxydata = nullptr
 
WrapMode m_wrap = WrapBlack
 

Friends

class ImageBuf
 
class ImageBufImpl
 

Detailed Description

Definition at line 661 of file imagebuf.h.

Constructor & Destructor Documentation

ImageBuf::IteratorBase::IteratorBase ( const ImageBuf ib,
WrapMode  wrap 
)
inline

Definition at line 663 of file imagebuf.h.

ImageBuf::IteratorBase::IteratorBase ( const ImageBuf ib,
const ROI roi,
WrapMode  wrap 
)
inline

Construct valid iteration region from ImageBuf and ROI.

Definition at line 671 of file imagebuf.h.

ImageBuf::IteratorBase::IteratorBase ( const ImageBuf ib,
int  xbegin,
int  xend,
int  ybegin,
int  yend,
int  zbegin,
int  zend,
WrapMode  wrap 
)
inline

Construct from an ImageBuf and designated region – iterate over region, starting with the upper left pixel.

Definition at line 689 of file imagebuf.h.

ImageBuf::IteratorBase::IteratorBase ( const IteratorBase i)
inline

Definition at line 702 of file imagebuf.h.

ImageBuf::IteratorBase::~IteratorBase ( )
inline

Definition at line 715 of file imagebuf.h.

Member Function Documentation

const IteratorBase& ImageBuf::IteratorBase::assign_base ( const IteratorBase i)
inline

Assign one IteratorBase to another

Definition at line 723 of file imagebuf.h.

int ImageBuf::IteratorBase::deep_samples ( ) const
inline

Retrieve the number of deep data samples at this pixel.

Definition at line 787 of file imagebuf.h.

bool ImageBuf::IteratorBase::done ( ) const
inline

Are we finished iterating over the region?

Definition at line 776 of file imagebuf.h.

bool ImageBuf::IteratorBase::exists ( int  x_,
int  y_,
int  z_ = 0 
) const
inline

Is the location (x,y[,z]) within the region of the ImageBuf that contains pixel values (sometimes called the "data window")?

Definition at line 764 of file imagebuf.h.

bool ImageBuf::IteratorBase::exists ( ) const
inline

Does the current location exist within the ImageBuf's data window?

Definition at line 772 of file imagebuf.h.

void ImageBuf::IteratorBase::init_ib ( WrapMode  wrap)
inlineprotected

Definition at line 918 of file imagebuf.h.

void ImageBuf::IteratorBase::make_writeable ( )
inlineprotected

Definition at line 999 of file imagebuf.h.

OIIO_FORCEINLINE void ImageBuf::IteratorBase::operator++ ( )
inline

Increment to the next pixel in the region.

Definition at line 841 of file imagebuf.h.

void ImageBuf::IteratorBase::operator++ ( int  )
inline

Increment to the next pixel in the region.

Definition at line 866 of file imagebuf.h.

void ImageBuf::IteratorBase::pos ( int  x_,
int  y_,
int  z_ = 0 
)
inline

Explicitly point the iterator. This results in an invalid iterator if outside the previously-designated region.

Definition at line 794 of file imagebuf.h.

void ImageBuf::IteratorBase::pos_done ( )
inlineprotected

Definition at line 990 of file imagebuf.h.

OIIO_FORCEINLINE void ImageBuf::IteratorBase::pos_xincr ( )
inlineprotected

Definition at line 953 of file imagebuf.h.

ROI ImageBuf::IteratorBase::range ( ) const
inline

Return the iteration range.

Definition at line 869 of file imagebuf.h.

void ImageBuf::IteratorBase::range_is_image ( )
inlineprotected

Definition at line 940 of file imagebuf.h.

void ImageBuf::IteratorBase::rerange ( int  xbegin,
int  xend,
int  ybegin,
int  yend,
int  zbegin,
int  zend,
WrapMode  wrap = WrapDefault 
)
inline

Reset the iteration range for this iterator and reposition to the beginning of the range, but keep referring to the same image.

Definition at line 878 of file imagebuf.h.

bool ImageBuf::IteratorBase::valid ( ) const
inline

Is the current location within the designated iteration range?

Definition at line 751 of file imagebuf.h.

bool ImageBuf::IteratorBase::valid ( int  x_,
int  y_,
int  z_ = 0 
) const
inline

Is the location (x,y[,z]) within the designated iteration range?

Definition at line 755 of file imagebuf.h.

WrapMode ImageBuf::IteratorBase::wrap ( ) const
inline

Return the wrap mode.

Definition at line 790 of file imagebuf.h.

int ImageBuf::IteratorBase::x ( ) const
inline

Retrieve the current x location of the iterator.

Definition at line 742 of file imagebuf.h.

int ImageBuf::IteratorBase::y ( ) const
inline

Retrieve the current y location of the iterator.

Definition at line 745 of file imagebuf.h.

int ImageBuf::IteratorBase::z ( ) const
inline

Retrieve the current z location of the iterator.

Definition at line 748 of file imagebuf.h.

Friends And Related Function Documentation

friend class ImageBuf
friend

Definition at line 895 of file imagebuf.h.

friend class ImageBufImpl
friend

Definition at line 896 of file imagebuf.h.

Member Data Documentation

bool ImageBuf::IteratorBase::m_deep = false
protected

Definition at line 899 of file imagebuf.h.

bool ImageBuf::IteratorBase::m_exists = false
protected

Definition at line 898 of file imagebuf.h.

const ImageBuf* ImageBuf::IteratorBase::m_ib = nullptr
protected

Definition at line 897 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_xbegin
protected

Definition at line 902 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_xend
protected

Definition at line 902 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_ybegin
protected

Definition at line 902 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_yend
protected

Definition at line 902 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_zbegin
protected

Definition at line 902 of file imagebuf.h.

int ImageBuf::IteratorBase::m_img_zend
protected

Definition at line 902 of file imagebuf.h.

bool ImageBuf::IteratorBase::m_localpixels = false
protected

Definition at line 900 of file imagebuf.h.

int ImageBuf::IteratorBase::m_nchannels
protected

Definition at line 911 of file imagebuf.h.

size_t ImageBuf::IteratorBase::m_pixel_bytes
protected

Definition at line 912 of file imagebuf.h.

char* ImageBuf::IteratorBase::m_proxydata = nullptr
protected

Definition at line 913 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_xbegin
protected

Definition at line 905 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_xend
protected

Definition at line 905 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_ybegin
protected

Definition at line 905 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_yend
protected

Definition at line 905 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_zbegin
protected

Definition at line 905 of file imagebuf.h.

int ImageBuf::IteratorBase::m_rng_zend
protected

Definition at line 905 of file imagebuf.h.

ImageCache::Tile* ImageBuf::IteratorBase::m_tile = nullptr
protected

Definition at line 908 of file imagebuf.h.

int ImageBuf::IteratorBase::m_tilexbegin
protected

Definition at line 909 of file imagebuf.h.

int ImageBuf::IteratorBase::m_tilexend
protected

Definition at line 910 of file imagebuf.h.

int ImageBuf::IteratorBase::m_tileybegin
protected

Definition at line 909 of file imagebuf.h.

int ImageBuf::IteratorBase::m_tilezbegin
protected

Definition at line 909 of file imagebuf.h.

bool ImageBuf::IteratorBase::m_valid = false
protected

Definition at line 898 of file imagebuf.h.

WrapMode ImageBuf::IteratorBase::m_wrap = WrapBlack
protected

Definition at line 914 of file imagebuf.h.

int ImageBuf::IteratorBase::m_x
protected

Definition at line 907 of file imagebuf.h.

int ImageBuf::IteratorBase::m_y
protected

Definition at line 907 of file imagebuf.h.

int ImageBuf::IteratorBase::m_z
protected

Definition at line 907 of file imagebuf.h.


The documentation for this class was generated from the following file: