Blender V4.3
blender::bke::BuiltinAttributeProvider Class Referenceabstract

#include <attribute_access_intern.hh>

Inherited by blender::bke::BuiltinCustomDataLayerProvider.

Public Types

enum  DeletableEnum { Deletable , NonDeletable }
 

Public Member Functions

 BuiltinAttributeProvider (std::string name, const AttrDomain domain, const eCustomDataType data_type, const DeletableEnum deletable, AttributeValidator validator={}, const GPointer default_value={})
 
virtual GAttributeReader try_get_for_read (const void *owner) const =0
 
virtual GAttributeWriter try_get_for_write (void *owner) const =0
 
virtual bool try_delete (void *owner) const =0
 
virtual bool try_create (void *onwer, const AttributeInit &initializer) const =0
 
virtual bool exists (const void *owner) const =0
 
StringRefNull name () const
 
AttrDomain domain () const
 
eCustomDataType data_type () const
 
AttributeValidator validator () const
 

Protected Attributes

const std::string name_
 
const AttrDomain domain_
 
const eCustomDataType data_type_
 
const DeletableEnum deletable_
 
const AttributeValidator validator_
 
const GPointer default_value_
 

Detailed Description

A BuiltinAttributeProvider is responsible for exactly one attribute on a geometry component. The attribute is identified by its name and has a fixed domain and type. Builtin attributes do not follow the same loose rules as other attributes, because they are mapped to internal "legacy" data structures. For example, some builtin attributes cannot be deleted.

Definition at line 37 of file attribute_access_intern.hh.

Member Enumeration Documentation

◆ DeletableEnum

Enumerator
Deletable 
NonDeletable 

Definition at line 39 of file attribute_access_intern.hh.

Constructor & Destructor Documentation

◆ BuiltinAttributeProvider()

blender::bke::BuiltinAttributeProvider::BuiltinAttributeProvider ( std::string name,
const AttrDomain domain,
const eCustomDataType data_type,
const DeletableEnum deletable,
AttributeValidator validator = {},
const GPointer default_value = {} )
inline

Definition at line 53 of file attribute_access_intern.hh.

Member Function Documentation

◆ data_type()

eCustomDataType blender::bke::BuiltinAttributeProvider::data_type ( ) const
inline

Definition at line 84 of file attribute_access_intern.hh.

References data_type_.

◆ domain()

AttrDomain blender::bke::BuiltinAttributeProvider::domain ( ) const
inline

Definition at line 79 of file attribute_access_intern.hh.

References domain_.

◆ exists()

virtual bool blender::bke::BuiltinAttributeProvider::exists ( const void * owner) const
pure virtual

◆ name()

StringRefNull blender::bke::BuiltinAttributeProvider::name ( ) const
inline

Definition at line 74 of file attribute_access_intern.hh.

References name_.

◆ try_create()

virtual bool blender::bke::BuiltinAttributeProvider::try_create ( void * onwer,
const AttributeInit & initializer ) const
pure virtual

◆ try_delete()

virtual bool blender::bke::BuiltinAttributeProvider::try_delete ( void * owner) const
pure virtual

◆ try_get_for_read()

virtual GAttributeReader blender::bke::BuiltinAttributeProvider::try_get_for_read ( const void * owner) const
pure virtual

◆ try_get_for_write()

virtual GAttributeWriter blender::bke::BuiltinAttributeProvider::try_get_for_write ( void * owner) const
pure virtual

◆ validator()

AttributeValidator blender::bke::BuiltinAttributeProvider::validator ( ) const
inline

Member Data Documentation

◆ data_type_

◆ default_value_

const GPointer blender::bke::BuiltinAttributeProvider::default_value_
protected

◆ deletable_

const DeletableEnum blender::bke::BuiltinAttributeProvider::deletable_
protected

◆ domain_

const AttrDomain blender::bke::BuiltinAttributeProvider::domain_
protected

◆ name_

◆ validator_

const AttributeValidator blender::bke::BuiltinAttributeProvider::validator_
protected

Definition at line 49 of file attribute_access_intern.hh.

Referenced by validator().


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