Blender  V3.3
Public Member Functions | List of all members
blender::bke::BuiltinCustomDataLayerProvider Class Referencefinal

#include <attribute_access_intern.hh>

Inheritance diagram for blender::bke::BuiltinCustomDataLayerProvider:
blender::bke::BuiltinAttributeProvider

Public Member Functions

 BuiltinCustomDataLayerProvider (std::string attribute_name, const eAttrDomain domain, const eCustomDataType attribute_type, const eCustomDataType stored_type, const CreatableEnum creatable, const WritableEnum writable, const DeletableEnum deletable, const CustomDataAccessInfo custom_data_access, const AsReadAttribute as_read_attribute, const AsWriteAttribute as_write_attribute, const UpdateOnChange update_on_write)
 
GVArray try_get_for_read (const void *owner) const final
 
GAttributeWriter try_get_for_write (void *owner) const final
 
bool try_delete (void *owner) const final
 
bool try_create (void *owner, const AttributeInit &initializer) const final
 
bool exists (const void *owner) const final
 
- Public Member Functions inherited from blender::bke::BuiltinAttributeProvider
 BuiltinAttributeProvider (std::string name, const eAttrDomain domain, const eCustomDataType data_type, const CreatableEnum createable, const WritableEnum writable, const DeletableEnum deletable)
 
StringRefNull name () const
 
eAttrDomain domain () const
 
eCustomDataType data_type () const
 

Additional Inherited Members

- Public Types inherited from blender::bke::BuiltinAttributeProvider
enum  CreatableEnum { Creatable , NonCreatable }
 
enum  WritableEnum { Writable , Readonly }
 
enum  DeletableEnum { Deletable , NonDeletable }
 
- Protected Attributes inherited from blender::bke::BuiltinAttributeProvider
const std::string name_
 
const eAttrDomain domain_
 
const eCustomDataType data_type_
 
const CreatableEnum createable_
 
const WritableEnum writable_
 
const DeletableEnum deletable_
 

Detailed Description

This provider is used to provide access to builtin attributes. It supports making internal types available as different types. For example, the vertex position attribute is stored as part of the MVert struct, but is exposed as float3 attribute.

It also supports named builtin attributes, and will look up attributes in CustomData by name if the stored type is the same as the attribute type.

Definition at line 222 of file attribute_access_intern.hh.

Constructor & Destructor Documentation

◆ BuiltinCustomDataLayerProvider()

blender::bke::BuiltinCustomDataLayerProvider::BuiltinCustomDataLayerProvider ( std::string  attribute_name,
const eAttrDomain  domain,
const eCustomDataType  attribute_type,
const eCustomDataType  stored_type,
const CreatableEnum  creatable,
const WritableEnum  writable,
const DeletableEnum  deletable,
const CustomDataAccessInfo  custom_data_access,
const AsReadAttribute  as_read_attribute,
const AsWriteAttribute  as_write_attribute,
const UpdateOnChange  update_on_write 
)
inline

Definition at line 235 of file attribute_access_intern.hh.

Member Function Documentation

◆ exists()

bool blender::bke::BuiltinCustomDataLayerProvider::exists ( const void owner) const
finalvirtual

◆ try_create()

bool blender::bke::BuiltinCustomDataLayerProvider::try_create ( void owner,
const AttributeInit initializer 
) const
finalvirtual

◆ try_delete()

bool blender::bke::BuiltinCustomDataLayerProvider::try_delete ( void owner) const
finalvirtual

◆ try_get_for_read()

GVArray blender::bke::BuiltinCustomDataLayerProvider::try_get_for_read ( const void owner) const
finalvirtual

◆ try_get_for_write()

GAttributeWriter blender::bke::BuiltinCustomDataLayerProvider::try_get_for_write ( void owner) const
finalvirtual

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