Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/blenkernel/BKE_mesh_legacy_convert.h12
-rw-r--r--source/blender/blenkernel/intern/mesh.cc2
-rw-r--r--source/blender/blenkernel/intern/mesh_legacy_convert.cc5
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;
}