WIP: Brush assets project #106303

Draft
Julian Eisel wants to merge 352 commits from brush-assets-project into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
1 changed files with 15 additions and 1 deletions
Showing only changes of commit 35c362db89 - Show all commits

View File

@ -406,8 +406,22 @@ GVArray AttributeFieldInput::get_varray_for_context(const GeometryFieldContext &
GVArray AttributeExistsFieldInput::get_varray_for_context(const bke::GeometryFieldContext &context,
const IndexMask & /*mask*/) const
{
const AttrDomain domain = context.domain();
if (context.type() == GeometryComponent::Type::GreasePencil) {
const AttributeAccessor layer_attributes = context.grease_pencil()->attributes();
if (context.domain() == AttrDomain::Layer) {
const bool exists = layer_attributes.contains(name_);
const int domain_size = layer_attributes.domain_size(AttrDomain::Layer);
return VArray<bool>::ForSingle(exists, domain_size);
}
const greasepencil::Drawing *drawing = context.grease_pencil_layer_drawing();
const AttributeAccessor curve_attributes = drawing->strokes().attributes();
const bool exists = layer_attributes.contains(name_) || curve_attributes.contains(name_);
const int domain_size = curve_attributes.domain_size(domain);
return VArray<bool>::ForSingle(exists, domain_size);
}
const bool exists = context.attributes()->contains(name_);
const int domain_size = context.attributes()->domain_size(context.domain());
const int domain_size = context.attributes()->domain_size(domain);
return VArray<bool>::ForSingle(exists, domain_size);
}