Blender  V3.3
Public Types | Public Member Functions | Protected Attributes | List of all members
blender::bke::BuiltinAttributeProvider Class Referenceabstract

#include <attribute_access_intern.hh>

Inheritance diagram for blender::bke::BuiltinAttributeProvider:
blender::bke::BuiltinPointAttributeProvider< float3 > blender::bke::BezierHandleAttributeProvider blender::bke::BuiltinCustomDataLayerProvider blender::bke::BuiltinPointAttributeProvider< T > blender::bke::BuiltinSplineAttributeProvider blender::bke::InstancePositionAttributeProvider blender::bke::NormalAttributeProvider blender::bke::PositionAttributeProvider

Public Types

enum  CreatableEnum { Creatable , NonCreatable }
 
enum  WritableEnum { Writable , Readonly }
 
enum  DeletableEnum { Deletable , NonDeletable }
 

Public Member Functions

 BuiltinAttributeProvider (std::string name, const eAttrDomain domain, const eCustomDataType data_type, const CreatableEnum createable, const WritableEnum writable, const DeletableEnum deletable)
 
virtual GVArray 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
 
eAttrDomain domain () const
 
eCustomDataType data_type () const
 

Protected Attributes

const std::string name_
 
const eAttrDomain domain_
 
const eCustomDataType data_type_
 
const CreatableEnum createable_
 
const WritableEnum writable_
 
const DeletableEnum deletable_
 

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

Member Enumeration Documentation

◆ CreatableEnum

Enumerator
Creatable 
NonCreatable 

Definition at line 37 of file attribute_access_intern.hh.

◆ DeletableEnum

Enumerator
Deletable 
NonDeletable 

Definition at line 45 of file attribute_access_intern.hh.

◆ WritableEnum

Enumerator
Writable 
Readonly 

Definition at line 41 of file attribute_access_intern.hh.

Constructor & Destructor Documentation

◆ BuiltinAttributeProvider()

blender::bke::BuiltinAttributeProvider::BuiltinAttributeProvider ( std::string  name,
const eAttrDomain  domain,
const eCustomDataType  data_type,
const CreatableEnum  createable,
const WritableEnum  writable,
const DeletableEnum  deletable 
)
inline

Definition at line 59 of file attribute_access_intern.hh.

Member Function Documentation

◆ data_type()

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

Definition at line 90 of file attribute_access_intern.hh.

References data_type_.

◆ domain()

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

Definition at line 85 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 80 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 GVArray 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

Member Data Documentation

◆ createable_

const CreatableEnum blender::bke::BuiltinAttributeProvider::createable_
protected

◆ data_type_

const eCustomDataType blender::bke::BuiltinAttributeProvider::data_type_
protected

◆ deletable_

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

◆ domain_

const eAttrDomain blender::bke::BuiltinAttributeProvider::domain_
protected

◆ name_

const std::string blender::bke::BuiltinAttributeProvider::name_
protected

◆ writable_

const WritableEnum blender::bke::BuiltinAttributeProvider::writable_
protected

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