|
Blender
V2.93
|
#include <attribute_access_intern.hh>
Inherited by blender::bke::BuiltinCustomDataLayerProvider, and blender::bke::NormalAttributeProvider.
Public Types | |
| enum | CreatableEnum { Creatable , NonCreatable } |
| enum | WritableEnum { Writable , Readonly } |
| enum | DeletableEnum { Deletable , NonDeletable } |
Public Member Functions | |
| BuiltinAttributeProvider (std::string name, const AttributeDomain domain, const CustomDataType data_type, const CreatableEnum createable, const WritableEnum writable, const DeletableEnum deletable) | |
| virtual ReadAttributePtr | try_get_for_read (const GeometryComponent &component) const =0 |
| virtual WriteAttributePtr | try_get_for_write (GeometryComponent &component) const =0 |
| virtual bool | try_delete (GeometryComponent &component) const =0 |
| virtual bool | try_create (GeometryComponent &UNUSED(component)) const =0 |
| virtual bool | exists (const GeometryComponent &component) const =0 |
| StringRefNull | name () const |
| AttributeDomain | domain () const |
| CustomDataType | data_type () const |
Protected Attributes | |
| const std::string | name_ |
| const AttributeDomain | domain_ |
| const CustomDataType | data_type_ |
| const CreatableEnum | createable_ |
| const WritableEnum | writable_ |
| const DeletableEnum | deletable_ |
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 207 of file attribute_access_intern.hh.
| Enumerator | |
|---|---|
| Creatable | |
| NonCreatable | |
Definition at line 210 of file attribute_access_intern.hh.
| Enumerator | |
|---|---|
| Deletable | |
| NonDeletable | |
Definition at line 218 of file attribute_access_intern.hh.
| Enumerator | |
|---|---|
| Writable | |
| Readonly | |
Definition at line 214 of file attribute_access_intern.hh.
|
inline |
Definition at line 232 of file attribute_access_intern.hh.
|
inline |
Definition at line 263 of file attribute_access_intern.hh.
Referenced by GeometryComponent::attribute_try_create().
|
inline |
Definition at line 258 of file attribute_access_intern.hh.
Referenced by GeometryComponent::attribute_try_create().
|
pure virtual |
Implemented in blender::bke::NormalAttributeProvider, and blender::bke::BuiltinCustomDataLayerProvider.
|
inline |
Definition at line 253 of file attribute_access_intern.hh.
|
pure virtual |
Implemented in blender::bke::NormalAttributeProvider.
Referenced by GeometryComponent::attribute_try_create().
|
pure virtual |
Implemented in blender::bke::BuiltinCustomDataLayerProvider.
Referenced by GeometryComponent::attribute_try_delete().
|
pure virtual |
Implemented in blender::bke::NormalAttributeProvider, and blender::bke::BuiltinCustomDataLayerProvider.
Referenced by GeometryComponent::attribute_try_get_for_read().
|
pure virtual |
Implemented in blender::bke::BuiltinCustomDataLayerProvider.
Referenced by GeometryComponent::attribute_try_get_for_write().
|
protected |
Definition at line 227 of file attribute_access_intern.hh.
Referenced by blender::bke::BuiltinCustomDataLayerProvider::try_create().
|
protected |
Definition at line 226 of file attribute_access_intern.hh.
|
protected |
Definition at line 229 of file attribute_access_intern.hh.
Referenced by blender::bke::BuiltinCustomDataLayerProvider::try_delete().
|
protected |
Definition at line 225 of file attribute_access_intern.hh.
Referenced by blender::bke::BuiltinCustomDataLayerProvider::try_create(), blender::bke::BuiltinCustomDataLayerProvider::try_delete(), blender::bke::BuiltinCustomDataLayerProvider::try_get_for_read(), and blender::bke::BuiltinCustomDataLayerProvider::try_get_for_write().
|
protected |
Definition at line 224 of file attribute_access_intern.hh.
|
protected |
Definition at line 228 of file attribute_access_intern.hh.
Referenced by blender::bke::BuiltinCustomDataLayerProvider::try_get_for_write().