HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageBuf::ConstIterator< BUFT, USERT > Class Template Reference

#include <imagebuf.h>

+ Inheritance diagram for ImageBuf::ConstIterator< BUFT, USERT >:

Public Member Functions

 ConstIterator (const ImageBuf &ib, WrapMode wrap=WrapDefault)
 
 ConstIterator (const ImageBuf &ib, int x_, int y_, int z_=0, WrapMode wrap=WrapDefault)
 
 ConstIterator (const ImageBuf &ib, const ROI &roi, WrapMode wrap=WrapDefault)
 Construct read-only iteration region from ImageBuf and ROI. More...
 
 ConstIterator (const ImageBuf &ib, int xbegin, int xend, int ybegin, int yend, int zbegin=0, int zend=1, WrapMode wrap=WrapDefault)
 
 ConstIterator (const ConstIterator &i)
 
 ~ConstIterator ()
 
const ConstIteratoroperator= (const ConstIterator &i)
 
ConstDataArrayProxy< BUFT,
USERT > & 
operator* () const
 
USERT operator[] (int i) const
 
const voidrawptr () const
 
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
 
- Public Member Functions inherited from ImageBuf::IteratorBase
 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)
 

Additional Inherited Members

- Protected Member Functions inherited from ImageBuf::IteratorBase
void init_ib (WrapMode wrap)
 
void range_is_image ()
 
OIIO_FORCEINLINE void pos_xincr ()
 
void pos_done ()
 
void make_writable ()
 
void OIIO_API release_tile ()
 
- Protected Attributes inherited from ImageBuf::IteratorBase
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
 
pvt::ImageCacheTile * m_tile = nullptr
 
int m_tilexbegin
 
int m_tileybegin
 
int m_tilezbegin
 
int m_tilexend
 
int m_nchannels
 
stride_t m_pixel_stride
 
char * m_proxydata = nullptr
 
WrapMode m_wrap = WrapBlack
 

Detailed Description

template<typename BUFT, typename USERT = float>
class ImageBuf::ConstIterator< BUFT, USERT >

Just like an ImageBuf::Iterator, except that it refers to a const ImageBuf.

Definition at line 1689 of file imagebuf.h.

Constructor & Destructor Documentation

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::ConstIterator ( const ImageBuf ib,
WrapMode  wrap = WrapDefault 
)
inline

Construct from just an ImageBuf – iterate over the whole region, starting with the upper left pixel of the region.

Definition at line 1693 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::ConstIterator ( const ImageBuf ib,
int  x_,
int  y_,
int  z_ = 0,
WrapMode  wrap = WrapDefault 
)
inline

Construct from an ImageBuf and a specific pixel index. The iteration range is the full image.

Definition at line 1703 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::ConstIterator ( const ImageBuf ib,
const ROI roi,
WrapMode  wrap = WrapDefault 
)
inline

Construct read-only iteration region from ImageBuf and ROI.

Definition at line 1710 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::ConstIterator ( const ImageBuf ib,
int  xbegin,
int  xend,
int  ybegin,
int  yend,
int  zbegin = 0,
int  zend = 1,
WrapMode  wrap = WrapDefault 
)
inline

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

Definition at line 1721 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::ConstIterator ( const ConstIterator< BUFT, USERT > &  i)
inline

Copy constructor.

Definition at line 1733 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ImageBuf::ConstIterator< BUFT, USERT >::~ConstIterator ( )
inline

Definition at line 1739 of file imagebuf.h.

Member Function Documentation

template<typename BUFT , typename USERT = float>
USERT ImageBuf::ConstIterator< BUFT, USERT >::deep_value ( int  c,
int  s 
) const
inline

Retrieve the deep data value of sample s of channel c.

Definition at line 1768 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
uint32_t ImageBuf::ConstIterator< BUFT, USERT >::deep_value_uint ( int  c,
int  s 
) const
inline

Definition at line 1773 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
ConstDataArrayProxy<BUFT, USERT>& ImageBuf::ConstIterator< BUFT, USERT >::operator* ( ) const
inline

Dereferencing the iterator gives us a proxy for the pixel, which we can index for reading or assignment.

Definition at line 1752 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
const ConstIterator& ImageBuf::ConstIterator< BUFT, USERT >::operator= ( const ConstIterator< BUFT, USERT > &  i)
inline

Assign one ConstIterator to another

Definition at line 1743 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
USERT ImageBuf::ConstIterator< BUFT, USERT >::operator[] ( int  i) const
inline

Array indexing retrieves the value of the i-th channel of the current pixel.

Definition at line 1759 of file imagebuf.h.

template<typename BUFT , typename USERT = float>
const void* ImageBuf::ConstIterator< BUFT, USERT >::rawptr ( ) const
inline

Definition at line 1765 of file imagebuf.h.


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