WIP: Brush assets project #106303
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue