Blender V4.3
attribute_access.cc File Reference
#include <utility>
#include "BKE_attribute_math.hh"
#include "BKE_curves.hh"
#include "BKE_customdata.hh"
#include "BKE_deform.hh"
#include "BKE_geometry_set.hh"
#include "BKE_type_conversions.hh"
#include "DNA_ID.h"
#include "DNA_grease_pencil_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_pointcloud_types.h"
#include "BLI_array_utils.hh"
#include "BLI_color.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_span.hh"
#include "BLT_translation.hh"
#include "FN_field.hh"
#include "CLG_log.h"
#include "attribute_access_intern.hh"

Go to the source code of this file.

Classes

struct  blender::bke::FinishCallChecker
 

Namespaces

namespace  blender
 
namespace  blender::bke
 

Functions

const CPPTypeblender::bke::custom_data_type_to_cpp_type (eCustomDataType type)
 
eCustomDataType blender::bke::cpp_type_to_custom_data_type (const CPPType &type)
 
bool blender::bke::allow_procedural_attribute_access (StringRef attribute_name)
 
static int blender::bke::attribute_data_type_complexity (const eCustomDataType data_type)
 
eCustomDataType blender::bke::attribute_data_type_highest_complexity (Span< eCustomDataType > data_types)
 
static int blender::bke::attribute_domain_priority (const AttrDomain domain)
 
AttrDomain blender::bke::attribute_domain_highest_priority (Span< AttrDomain > domains)
 
static void * blender::bke::add_generic_custom_data_layer (CustomData &custom_data, const eCustomDataType data_type, const eCDAllocType alloctype, const int domain_size, const StringRef attribute_id)
 
static const void * blender::bke::add_generic_custom_data_layer_with_existing_data (CustomData &custom_data, const eCustomDataType data_type, const StringRef attribute_id, const int domain_size, void *layer_data, const ImplicitSharingInfo *sharing_info)
 
static bool blender::bke::add_custom_data_layer_from_attribute_init (const StringRef attribute_id, CustomData &custom_data, const eCustomDataType data_type, const int domain_num, const AttributeInit &initializer, const GPointer custom_default_value_ptr)
 
static bool blender::bke::custom_data_layer_matches_attribute_id (const CustomDataLayer &layer, const StringRef attribute_id)
 
void blender::bke::gather_attributes (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, const IndexMask &selection, MutableAttributeAccessor dst_attributes)
 
void blender::bke::gather_attributes (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, Span< int > indices, MutableAttributeAccessor dst_attributes)
 
void blender::bke::gather_attributes_group_to_group (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, OffsetIndices< int > src_offsets, OffsetIndices< int > dst_offsets, const IndexMask &selection, MutableAttributeAccessor dst_attributes)
 
void blender::bke::gather_attributes_to_groups (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, OffsetIndices< int > dst_offsets, const IndexMask &src_selection, MutableAttributeAccessor dst_attributes)
 
void blender::bke::copy_attributes (const AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, MutableAttributeAccessor dst_attributes)
 
void blender::bke::copy_attributes_group_to_group (AttributeAccessor src_attributes, AttrDomain src_domain, AttrDomain dst_domain, const AttributeFilter &attribute_filter, OffsetIndices< int > src_offsets, OffsetIndices< int > dst_offsets, const IndexMask &selection, MutableAttributeAccessor dst_attributes)
 
void blender::bke::fill_attribute_range_default (MutableAttributeAccessor dst_attributes, AttrDomain domain, const AttributeFilter &attribute_filter, IndexRange range)
 
Attribute API
static GVArray blender::bke::try_adapt_data_type (GVArray varray, const CPPType &to_type)
 
static GAttributeReader blender::bke::adapt_domain_and_type_if_necessary (GAttributeReader attribute, const std::optional< AttrDomain > domain, const std::optional< eCustomDataType > data_type, const AttributeAccessor &accessor)
 
Vector< AttributeTransferDatablender::bke::retrieve_attributes_for_transfer (const AttributeAccessor src_attributes, MutableAttributeAccessor dst_attributes, AttrDomainMask domain_mask, const AttributeFilter &attribute_filter={})