CurvesGeometry: Add initial vertex group support #106944

Merged
Falk David merged 24 commits from filedescriptor/blender:curves-deform-verts into main 2023-09-27 10:26:16 +02:00
4 changed files with 6 additions and 4 deletions
Showing only changes of commit aa4f47d2bf - Show all commits

View File

@ -7,6 +7,7 @@
#ifdef __cplusplus
# include "BLI_math_vector_types.hh"
# include "BLI_offset_indices.hh"
# include "BLI_virtual_array.hh"
#endif
#ifdef __cplusplus
@ -298,7 +299,8 @@ void BKE_defvert_extract_vgroup_to_faceweights(const struct MDeformVert *dvert,
namespace blender::bke {
VArray<float> varray_for_deform_verts(Span<MDeformVert> dverts, const int dvert_index);
filedescriptor marked this conversation as resolved Outdated
  • const int -> int
  • dvert_index -> defgroup_index/vgroup_index
- `const int` -> `int` - `dvert_index` -> `defgroup_index`/`vgroup_index`
VMutableArray<float> varray_for_deform_verts(MutableSpan<MDeformVert> dverts, int dvert_index);
VMutableArray<float> varray_for_mutable_deform_verts(MutableSpan<MDeformVert> dverts,
int dvert_index);
} // namespace blender::bke
#endif

View File

@ -1770,7 +1770,7 @@ VArray<float> varray_for_deform_verts(Span<MDeformVert> dverts, const int dvert_
{
return VArray<float>::For<VArrayImpl_For_VertexWeights>(dverts, dvert_index);
}
VMutableArray<float> varray_for_deform_verts(MutableSpan<MDeformVert> dverts, const int dvert_index)
VMutableArray<float> varray_for_mutable_deform_verts(MutableSpan<MDeformVert> dverts, const int dvert_index)
{
return VMutableArray<float>::For<VArrayImpl_For_VertexWeights>(dverts, dvert_index);
}

View File

@ -377,7 +377,7 @@ class CurvesVertexGroupsAttributeProvider final : public DynamicAttributesProvid
return {};
}
MutableSpan<MDeformVert> dverts = curves->deform_verts_for_write();
return {bke::varray_for_deform_verts(dverts, vertex_group_index), ATTR_DOMAIN_POINT};
return {bke::varray_for_mutable_deform_verts(dverts, vertex_group_index), ATTR_DOMAIN_POINT};
}
bool try_delete(void *owner, const AttributeIDRef &attribute_id) const final

View File

@ -904,7 +904,7 @@ class MeshVertexGroupsAttributeProvider final : public DynamicAttributesProvider
return {};
}
MutableSpan<MDeformVert> dverts = mesh->deform_verts_for_write();
return {bke::varray_for_deform_verts(dverts, vertex_group_index), ATTR_DOMAIN_POINT};
return {bke::varray_for_mutable_deform_verts(dverts, vertex_group_index), ATTR_DOMAIN_POINT};
}
bool try_delete(void *owner, const AttributeIDRef &attribute_id) const final