|
Blender V4.3
|
#include <BLI_index_mask.hh>
Inherited by blender::index_mask::IndexMask [private].
Public Attributes | |
| int64_t | indices_num_ |
| int64_t | segments_num_ |
| const int16_t ** | indices_by_segment_ |
| const int64_t * | segment_offsets_ |
| const int64_t * | cumulative_segment_sizes_ |
| int64_t | begin_index_in_segment_ |
| int64_t | end_index_in_segment_ |
Base type of #IndexMask. This only exists to make it more convenient to construct an index mask in a few functions with IndexMask::data_for_inplace_construction.
The names intentionally have a trailing underscore here even though they are public in #IndexMaskData because they are private in #IndexMask.
Definition at line 65 of file BLI_index_mask.hh.
| int64_t blender::index_mask::IndexMaskData::begin_index_in_segment_ |
Index into the first segment where the #IndexMask starts. This exists to support slicing without having to modify and therefor allocate a new indices_by_segment_ array.
Definition at line 94 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_smaller_equal(), blender::index_mask::IndexMask::first(), blender::index_mask::IndexMask::index_to_iterator(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::iterator_to_index(), and blender::index_mask::IndexMask::segment().
| const int64_t* blender::index_mask::IndexMaskData::cumulative_segment_sizes_ |
Encodes the size of each segment. The size of a specific segment can be computed by subtracting consecutive values (also see #OffsetIndices). The size of this array is one larger than segments_num_. Note that the first value is not necessarily zero when an index mask is a slice of another mask.
Definition at line 89 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_smaller_equal(), blender::index_mask::IndexMask::index_to_iterator(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::iterator_to_index(), and blender::index_mask::IndexMask::segment().
| int64_t blender::index_mask::IndexMaskData::end_index_in_segment_ |
Index into the last segment where the #IndexMask ends. This exists to support slicing without having to modify and therefore allocate a new cumulative_segment_sizes_ array.
Definition at line 99 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_smaller_equal(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::last(), and blender::index_mask::IndexMask::segment().
| const int16_t** blender::index_mask::IndexMaskData::indices_by_segment_ |
Pointer to the index array for every segment. The size of each array can be computed from cumulative_segment_sizes_.
Definition at line 78 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_larger_equal(), blender::index_mask::IndexMask::first(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::last(), blender::index_mask::IndexMask::operator[](), and blender::index_mask::IndexMask::segment().
| int64_t blender::index_mask::IndexMaskData::indices_num_ |
Size of the index mask, i.e. the number of indices.
Definition at line 69 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_smaller_equal(), blender::index_mask::IndexMask::first(), blender::index_mask::IndexMask::from_segments(), blender::index_mask::get_static_index_mask_for_min_size(), blender::index_mask::IndexMask::index_range(), blender::index_mask::IndexMask::index_to_iterator(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::is_empty(), blender::index_mask::IndexMask::last(), blender::index_mask::IndexMask::min_array_size(), blender::index_mask::IndexMask::shift(), blender::index_mask::IndexMask::size(), and blender::index_mask::IndexMask::to_range().
| const int64_t* blender::index_mask::IndexMaskData::segment_offsets_ |
Offset that is applied to the indices in each segment.
Definition at line 82 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::first(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::last(), blender::index_mask::IndexMask::operator[](), blender::index_mask::IndexMask::segment(), and blender::index_mask::IndexMask::shift().
| int64_t blender::index_mask::IndexMaskData::segments_num_ |
Number of segments in the index mask. Each segment contains at least one of the indices.
Definition at line 73 of file BLI_index_mask.hh.
Referenced by blender::index_mask::IndexMask::find_larger_equal(), blender::index_mask::IndexMask::find_smaller_equal(), blender::index_mask::IndexMask::foreach_segment(), blender::index_mask::IndexMask::index_to_iterator(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::IndexMask(), blender::index_mask::IndexMask::iterator_to_index(), blender::index_mask::IndexMask::last(), blender::index_mask::IndexMask::segment(), blender::index_mask::IndexMask::segments_num(), and blender::index_mask::IndexMask::shift().