Blender  V3.3
Classes | Public Member Functions | List of all members
blender::compositor::BuffersIteratorBuilder< T > Class Template Reference

#include <COM_BuffersIterator.h>

Classes

class  Iterator
 

Public Member Functions

 BuffersIteratorBuilder (T *output, const rcti &buffer_area, const rcti &iterated_area, int elem_stride=1)
 
 BuffersIteratorBuilder (T *output, int buffer_width, int buffer_height, int elem_stride=1)
 
void add_input (const T *input, const rcti &buffer_area, int elem_stride=1)
 
void add_input (const T *input, int buffer_width, int elem_stride=1)
 
BuffersIteratorBuilder::Iterator build ()
 

Detailed Description

template<typename T>
class blender::compositor::BuffersIteratorBuilder< T >

Builds an iterator for simultaneously iterating an area of elements in an output buffer and any number of input buffers. It's not a standard C++ iterator and it does not support neither deference, equality or postfix increment operators.

Definition at line 16 of file COM_BuffersIterator.h.

Constructor & Destructor Documentation

◆ BuffersIteratorBuilder() [1/2]

template<typename T >
blender::compositor::BuffersIteratorBuilder< T >::BuffersIteratorBuilder ( T output,
const rcti buffer_area,
const rcti iterated_area,
int  elem_stride = 1 
)
inline

Create a buffers iterator builder to iterate given output buffer area.

Parameters
outputOutput buffer.
buffer_areaWhole output buffer area (may have offset position).
iterated_areaArea to be iterated in all buffers.
elem_strideOutput buffer element stride.

Definition at line 104 of file COM_BuffersIterator.h.

References BLI_assert, BLI_rcti_inside_rcti(), BLI_rcti_size_x(), BLI_rcti_size_y(), output, T, rcti::xmax, rcti::xmin, and rcti::ymin.

◆ BuffersIteratorBuilder() [2/2]

template<typename T >
blender::compositor::BuffersIteratorBuilder< T >::BuffersIteratorBuilder ( T output,
int  buffer_width,
int  buffer_height,
int  elem_stride = 1 
)
inline

Create a buffers iterator builder to iterate given output buffer with no offsets.

Definition at line 133 of file COM_BuffersIterator.h.

Member Function Documentation

◆ add_input() [1/2]

template<typename T >
void blender::compositor::BuffersIteratorBuilder< T >::add_input ( const T input,
const rcti buffer_area,
int  elem_stride = 1 
)
inline

Add an input buffer to be iterated. It must contain iterated area.

Definition at line 144 of file COM_BuffersIterator.h.

References BLI_assert, BLI_rcti_inside_rcti(), BLI_rcti_size_x(), input, rcti::xmin, and rcti::ymin.

Referenced by blender::compositor::BuffersIteratorBuilder< T >::add_input(), and blender::compositor::MemoryBuffer::iterate_with().

◆ add_input() [2/2]

template<typename T >
void blender::compositor::BuffersIteratorBuilder< T >::add_input ( const T input,
int  buffer_width,
int  elem_stride = 1 
)
inline

Add an input buffer to be iterated with no offsets. It must contain iterated area.

Definition at line 161 of file COM_BuffersIterator.h.

References blender::compositor::BuffersIteratorBuilder< T >::add_input(), BLI_rcti_init(), input, and rcti::ymax.

◆ build()


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