Blender V5.0
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 41 of file attribute_access_intern.hh.

Member Enumeration Documentation

◆ DeletableEnum

Enumerator
Deletable 
NonDeletable 

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

References data_type(), domain(), name(), and validator().

Member Function Documentation

◆ data_type()

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

◆ default_value()

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

Definition at line 98 of file attribute_access_intern.hh.

References default_value_.

◆ domain()

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

◆ exists()

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

◆ name()

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

Definition at line 78 of file attribute_access_intern.hh.

References name_.

Referenced by BuiltinAttributeProvider().

◆ 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()

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 53 of file attribute_access_intern.hh.

Referenced by validator().


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