Blender V4.3
blender::bke::AttributeAccessorFunctions Struct Reference

#include <BKE_attribute.hh>

Public Attributes

bool(* domain_supported )(const void *owner, AttrDomain domain)
 
int(* domain_size )(const void *owner, AttrDomain domain)
 
bool(* is_builtin )(const void *owner, StringRef attribute_id)
 
GAttributeReader(* lookup )(const void *owner, StringRef attribute_id)
 
GVArray(* adapt_domain )(const void *owner, const GVArray &varray, AttrDomain from_domain, AttrDomain to_domain)
 
void(* foreach_attribute )(const void *owner, FunctionRef< void(const AttributeIter &iter)> fn, const AttributeAccessor &accessor)
 
AttributeValidator(* lookup_validator )(const void *owner, StringRef attribute_id)
 
GAttributeWriter(* lookup_for_write )(void *owner, StringRef attribute_id)
 
bool(* remove )(void *owner, StringRef attribute_id)
 
bool(* add )(void *owner, StringRef attribute_id, AttrDomain domain, eCustomDataType data_type, const AttributeInit &initializer)
 

Detailed Description

Core functions which make up the attribute API. They should not be called directly, but through #AttributesAccessor or #MutableAttributesAccessor.

This is similar to a virtual function table. A struct of function pointers is used instead, because this way the attribute accessors can be trivial and can be passed around by value. This makes it easy to return the attribute accessor for a geometry from a function.

Definition at line 463 of file BKE_attribute.hh.

Member Data Documentation

◆ adapt_domain

◆ add

bool(* blender::bke::AttributeAccessorFunctions::add) (void *owner, StringRef attribute_id, AttrDomain domain, eCustomDataType data_type, const AttributeInit &initializer)

Definition at line 478 of file BKE_attribute.hh.

Referenced by blender::bke::MutableAttributeAccessor::add().

◆ domain_size

◆ domain_supported

◆ foreach_attribute

void(* blender::bke::AttributeAccessorFunctions::foreach_attribute) (const void *owner, FunctionRef< void(const AttributeIter &iter)> fn, const AttributeAccessor &accessor)

◆ is_builtin

bool(* blender::bke::AttributeAccessorFunctions::is_builtin) (const void *owner, StringRef attribute_id)

Definition at line 466 of file BKE_attribute.hh.

Referenced by blender::bke::AttributeAccessor::is_builtin().

◆ lookup

GAttributeReader(* blender::bke::AttributeAccessorFunctions::lookup) (const void *owner, StringRef attribute_id)

Definition at line 467 of file BKE_attribute.hh.

Referenced by blender::bke::AttributeAccessor::lookup().

◆ lookup_for_write

GAttributeWriter(* blender::bke::AttributeAccessorFunctions::lookup_for_write) (void *owner, StringRef attribute_id)

Definition at line 476 of file BKE_attribute.hh.

◆ lookup_validator

AttributeValidator(* blender::bke::AttributeAccessorFunctions::lookup_validator) (const void *owner, StringRef attribute_id)

Definition at line 475 of file BKE_attribute.hh.

Referenced by blender::bke::AttributeAccessor::lookup_validator().

◆ remove

bool(* blender::bke::AttributeAccessorFunctions::remove) (void *owner, StringRef attribute_id)

Definition at line 477 of file BKE_attribute.hh.

Referenced by blender::bke::MutableAttributeAccessor::remove().


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