Blender V4.5
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 *owner, 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
 
GPointer default_value () 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 40 of file attribute_access_intern.hh.

Member Enumeration Documentation

◆ DeletableEnum

Enumerator
Deletable 
NonDeletable 

Definition at line 42 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 56 of file attribute_access_intern.hh.

Member Function Documentation

◆ data_type()

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

Definition at line 87 of file attribute_access_intern.hh.

References data_type_.

◆ default_value()

GPointer blender::bke::BuiltinAttributeProvider::default_value ( ) const
inline

Definition at line 97 of file attribute_access_intern.hh.

References default_value_.

◆ domain()

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

Definition at line 82 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 77 of file attribute_access_intern.hh.

References name_.

◆ try_create()

virtual bool blender::bke::BuiltinAttributeProvider::try_create ( void * owner,
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 52 of file attribute_access_intern.hh.

Referenced by validator().


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