Blender V4.3
BLI_array_utils.hh File Reference
#include <numeric>
#include "BLI_generic_span.hh"
#include "BLI_generic_virtual_array.hh"
#include "BLI_index_mask.hh"
#include "BLI_offset_indices.hh"
#include "BLI_task.hh"
#include "BLI_virtual_array.hh"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::array_utils
 

Enumerations

enum class  blender::array_utils::BooleanMix { blender::array_utils::None , blender::array_utils::AllFalse , blender::array_utils::AllTrue , blender::array_utils::Mixed }
 

Functions

void blender::array_utils::copy (const GVArray &src, GMutableSpan dst, int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::copy (const VArray< T > &src, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::copy (const Span< T > src, MutableSpan< T > dst, const int64_t grain_size=4096)
 
void blender::array_utils::copy (const GVArray &src, const IndexMask &selection, GMutableSpan dst, int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::copy (const Span< T > src, const IndexMask &selection, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T , typename IndexT >
void blender::array_utils::scatter (const Span< T > src, const Span< IndexT > indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::scatter (const Span< T > src, const IndexMask &indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
void blender::array_utils::gather (const GVArray &src, const IndexMask &indices, GMutableSpan dst, int64_t grain_size=4096)
 
void blender::array_utils::gather (GSpan src, const IndexMask &indices, GMutableSpan dst, int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::gather (const VArray< T > &src, const IndexMask &indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T , typename IndexT >
void blender::array_utils::gather (const Span< T > src, const IndexMask &indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T , typename IndexT >
void blender::array_utils::gather (const Span< T > src, const Span< IndexT > indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T , typename IndexT >
void blender::array_utils::gather (const VArray< T > &src, const Span< IndexT > indices, MutableSpan< T > dst, const int64_t grain_size=4096)
 
template<typename T >
void blender::array_utils::gather_group_to_group (const OffsetIndices< int > src_offsets, const OffsetIndices< int > dst_offsets, const IndexMask &selection, const Span< T > src, MutableSpan< T > dst)
 
template<typename T >
void blender::array_utils::gather_group_to_group (const OffsetIndices< int > src_offsets, const OffsetIndices< int > dst_offsets, const IndexMask &selection, const VArray< T > src, MutableSpan< T > dst)
 
template<typename T >
void blender::array_utils::gather_to_groups (const OffsetIndices< int > dst_offsets, const IndexMask &src_selection, const Span< T > src, MutableSpan< T > dst)
 
void blender::array_utils::copy_group_to_group (OffsetIndices< int > src_offsets, OffsetIndices< int > dst_offsets, const IndexMask &selection, GSpan src, GMutableSpan dst)
 
template<typename T >
void blender::array_utils::copy_group_to_group (OffsetIndices< int > src_offsets, OffsetIndices< int > dst_offsets, const IndexMask &selection, Span< T > src, MutableSpan< T > dst)
 
void blender::array_utils::count_indices (Span< int > indices, MutableSpan< int > counts)
 
void blender::array_utils::invert_booleans (MutableSpan< bool > span)
 
void blender::array_utils::invert_booleans (MutableSpan< bool > span, const IndexMask &mask)
 
int64_t blender::array_utils::count_booleans (const VArray< bool > &varray)
 
int64_t blender::array_utils::count_booleans (const VArray< bool > &varray, const IndexMask &mask)
 
BooleanMix blender::array_utils::booleans_mix_calc (const VArray< bool > &varray, IndexRange range_to_check)
 
BooleanMix blender::array_utils::booleans_mix_calc (const VArray< bool > &varray)
 
template<typename T >
Vector< IndexRangeblender::array_utils::find_all_ranges (const Span< T > span, const T &value)
 
template<typename T >
void blender::array_utils::fill_index_range (MutableSpan< T > span, const T start=0)
 
template<typename T >
bool blender::array_utils::indexed_data_equal (const Span< T > all_values, const Span< int > indices, const Span< T > values)
 
bool blender::array_utils::indices_are_range (Span< int > indices, IndexRange range)