Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_attribute.hh
| Show First 20 Lines • Show All 660 Lines • ▼ Show 20 Lines | public: | ||||
| } | } | ||||
| /** | /** | ||||
| * Remove all anonymous attributes. | * Remove all anonymous attributes. | ||||
| */ | */ | ||||
| void remove_anonymous(); | void remove_anonymous(); | ||||
| }; | }; | ||||
| struct AttributeTransferData { | |||||
| /* Expect that if an attribute exists, it is stored as a contiguous array internally anyway. */ | |||||
| GVArraySpan src; | |||||
| AttributeMetaData meta_data; | |||||
| bke::GSpanAttributeWriter dst; | |||||
| }; | |||||
| /** | |||||
| * Retrieve attribute arrays and writers for attributes that should be transferred between | |||||
| * data-blocks of the same type. | |||||
| */ | |||||
| Vector<AttributeTransferData> retrieve_attributes_for_transfer( | |||||
| const bke::AttributeAccessor &src_attributes, | |||||
| bke::MutableAttributeAccessor &dst_attributes, | |||||
| eAttrDomainMask domain_mask, | |||||
| const Set<std::string> &skip = {}); | |||||
| bool allow_procedural_attribute_access(StringRef attribute_name); | bool allow_procedural_attribute_access(StringRef attribute_name); | ||||
| extern const char *no_procedural_access_message; | extern const char *no_procedural_access_message; | ||||
| eCustomDataType attribute_data_type_highest_complexity(Span<eCustomDataType> data_types); | eCustomDataType attribute_data_type_highest_complexity(Span<eCustomDataType> data_types); | ||||
| /** | /** | ||||
| * Domains with a higher "information density" have a higher priority, | * Domains with a higher "information density" have a higher priority, | ||||
| * in order to choose a domain that will not lose data through domain conversion. | * in order to choose a domain that will not lose data through domain conversion. | ||||
| */ | */ | ||||
| ▲ Show 20 Lines • Show All 142 Lines • Show Last 20 Lines | |||||