diff options
-rw-r--r-- | source/blender/blenkernel/BKE_mesh_legacy_convert.h | 12 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh.cc | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh_legacy_convert.cc | 5 |
3 files changed, 15 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_mesh_legacy_convert.h b/source/blender/blenkernel/BKE_mesh_legacy_convert.h index d3e582ff197..92182f8045b 100644 --- a/source/blender/blenkernel/BKE_mesh_legacy_convert.h +++ b/source/blender/blenkernel/BKE_mesh_legacy_convert.h @@ -10,6 +10,11 @@ #include "BLI_utildefines.h" #ifdef __cplusplus +# include "BLI_span.hh" +# include "DNA_customdata_types.h" +#endif + +#ifdef __cplusplus extern "C" { #endif @@ -17,10 +22,13 @@ struct CustomData; struct Mesh; struct MFace; +#ifdef __cplusplus + /** * Move face sets to the legacy type from a generic type. */ -void BKE_mesh_legacy_face_set_from_generic(struct Mesh *mesh); +void BKE_mesh_legacy_face_set_from_generic( + Mesh *mesh, blender::MutableSpan<CustomDataLayer> poly_layers_to_write); /** * Copy face sets to the generic data type from the legacy type. */ @@ -74,6 +82,8 @@ void BKE_mesh_legacy_convert_material_indices_to_mpoly(struct Mesh *mesh); */ void BKE_mesh_legacy_convert_mpoly_to_material_indices(struct Mesh *mesh); +#endif + /** * Recreate #MFace Tessellation. * diff --git a/source/blender/blenkernel/intern/mesh.cc b/source/blender/blenkernel/intern/mesh.cc index dfd023b548b..4d98efde5f9 100644 --- a/source/blender/blenkernel/intern/mesh.cc +++ b/source/blender/blenkernel/intern/mesh.cc @@ -252,7 +252,7 @@ static void mesh_blend_write(BlendWriter *writer, ID *id, const void *id_address BKE_mesh_legacy_convert_selection_layers_to_flags(mesh); BKE_mesh_legacy_convert_material_indices_to_mpoly(mesh); BKE_mesh_legacy_bevel_weight_from_layers(mesh); - BKE_mesh_legacy_face_set_from_generic(mesh); + BKE_mesh_legacy_face_set_from_generic(mesh, poly_layers); BKE_mesh_legacy_edge_crease_from_layers(mesh); /* When converting to the old mesh format, don't save redundant attributes. */ names_to_skip.add_multiple_new({".hide_vert", diff --git a/source/blender/blenkernel/intern/mesh_legacy_convert.cc b/source/blender/blenkernel/intern/mesh_legacy_convert.cc index b68117b7eb2..df3057d9592 100644 --- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc +++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc @@ -922,10 +922,11 @@ void BKE_mesh_add_mface_layers(CustomData *fdata, CustomData *ldata, int total) /** \name Face Set Conversion * \{ */ -void BKE_mesh_legacy_face_set_from_generic(Mesh *mesh) +void BKE_mesh_legacy_face_set_from_generic(Mesh *mesh, + blender::MutableSpan<CustomDataLayer> poly_layers) { using namespace blender; - for (CustomDataLayer &layer : MutableSpan(mesh->pdata.layers, mesh->pdata.totlayer)) { + for (CustomDataLayer &layer : poly_layers) { if (StringRef(layer.name) == ".sculpt_face_set") { layer.type = CD_SCULPT_FACE_SETS; } |