68 switch (context.type()) {
70 const Mesh *mesh = context.mesh();
74 const AttrDomain domain = context.domain();
75 const IndexMask domain_mask = (domain == AttrDomain::Face) ? mask :
79 {mesh->mat, mesh->totcol}, material_, attributes, AttrDomain::Face, domain_mask);
80 return attributes.adapt_domain<
bool>(std::move(selection), AttrDomain::Face, domain);
87 const AttrDomain domain = context.domain();
88 const IndexMask domain_mask = (domain == AttrDomain::Curve) ?
92 const VArray<int> material_indices = *attributes.lookup_or_default<
int>(
93 "material_index", AttrDomain::Curve, 0);
94 const GreasePencil &grease_pencil = *context.grease_pencil();
96 {grease_pencil.material_array, grease_pencil.material_array_num},
101 return attributes.adapt_domain<
bool>(std::move(selection), AttrDomain::Curve, domain);
104 const Curves *curves_id = context.curves_id();
112 const AttrDomain domain = context.domain();
113 const IndexMask domain_mask = (domain == AttrDomain::Curve) ?
117 const VArray<int> material_indices = *attributes.lookup_or_default<
int>(
118 "material_index", AttrDomain::Curve, 0);
124 return attributes.adapt_domain<
bool>(std::move(selection), AttrDomain::Curve, domain);