The changes are much easier to follow in the individual commits. * Add an iterator base class: contains information about iteration range, image bounds, position, and related functions * Iterator and ConstIterator inherit from IteratorBase; derived classes contain a reference to imagebuf, data proxy, access operations, and operator++ * Add a TiledIterator and TiledConstIterator, which minimize calls to ImageBuf::retile during normal iteration * Use tiled iterators in ImageBuf::get_pixels and IvImage::copy_pixel_channels
You can merge this Pull Request by running: git pull https://github.com/btdavis/oiio ibiter Or you can view, comment on it, or merge it online at: https://github.com/OpenImageIO/oiio/pull/393 -- Commit Summary -- * Add IteratorBase * Make Iterator and ConstIterator use the new base class * Add unordered iterators to ImageBuf * Use the unordered iterator in get_pixels and copy_pixel_channels * Typo in UnorderedIterator * Add pos() back in to UnorderedIterator * Rename UnorderedIterator -> TiledIterator * Fix comments -- File Changes -- M src/include/imagebuf.h (801) M src/iv/ivimage.cpp (2) M src/libOpenImageIO/imagebuf.cpp (2) -- Patch Links -- https://github.com/OpenImageIO/oiio/pull/393.patch https://github.com/OpenImageIO/oiio/pull/393.diff --- Reply to this email directly or view it on GitHub: https://github.com/OpenImageIO/oiio/pull/393 _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
