[Bf-blender-cvs] [1c43caa51b4] refactor-mesh-position-generic: Merge branch 'master' into refactor-mesh-selection-generic

Hans Goudey noreply at git.blender.org
Fri Sep 23 20:27:35 CEST 2022


Commit: 1c43caa51b4160eaf51d13e8fc2d52beb0c3937b
Author: Hans Goudey
Date:   Fri Sep 23 09:06:20 2022 -0500
Branches: refactor-mesh-position-generic
https://developer.blender.org/rB1c43caa51b4160eaf51d13e8fc2d52beb0c3937b

Merge branch 'master' into refactor-mesh-selection-generic

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/mesh.cc
index 9a6770af200,34cebeaa5d4..336c41c8e10
--- a/source/blender/blenkernel/intern/mesh.cc
+++ b/source/blender/blenkernel/intern/mesh.cc
@@@ -251,17 -248,12 +249,19 @@@ static void mesh_blend_write(BlendWrite
      Set<std::string> names_to_skip;
      if (!BLO_write_is_undo(writer)) {
        BKE_mesh_legacy_convert_hide_layers_to_flags(mesh);
 +      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_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", ".hide_edge", ".hide_poly", "material_index"});
 +      names_to_skip.add_multiple_new({".hide_vert",
 +                                      ".hide_edge",
 +                                      ".hide_poly",
 +                                      "material_index",
 +                                      ".selection_vert",
 +                                      ".selection_edge",
 +                                      ".selection_poly"});
  
        /* Set deprecated mesh data pointers for forward compatibility. */
        mesh->mvert = const_cast<MVert *>(mesh->verts().data());
diff --cc source/blender/bmesh/intern/bmesh_mesh_convert.cc
index 689bdcf68ec,a52f95c1e9d..baea51a689d
--- a/source/blender/bmesh/intern/bmesh_mesh_convert.cc
+++ b/source/blender/bmesh/intern/bmesh_mesh_convert.cc
@@@ -889,17 -832,24 +830,17 @@@ static void write_fn_to_attribute(blend
                                    const GetFn &get_fn)
  {
    using namespace blender;
 -  if (do_write) {
 -    bke::SpanAttributeWriter<T> attribute = attributes.lookup_or_add_for_write_only_span<T>(
 -        attribute_name, domain);
 -    threading::parallel_for(attribute.span.index_range(), 4096, [&](IndexRange range) {
 -      for (const int i : range) {
 -        attribute.span[i] = get_fn(i);
 -      }
 -    });
 -    attribute.finish();
 -  }
 -  else {
 -    /* To avoid overhead, remove the hide attribute if possible. */
 -    attributes.remove(attribute_name);
 -  }
 +  bke::SpanAttributeWriter<T> attribute = attributes.lookup_or_add_for_write_only_span<T>(
 +      attribute_name, domain);
 +  threading::parallel_for(attribute.span.index_range(), 4096, [&](IndexRange range) {
 +    for (const int i : range) {
 +      attribute.span[i] = get_fn(i);
 +    }
 +  });
 +  attribute.finish();
  }
  
- static void assert_bmesh_has_no_mesh_only_attributes(BMesh &bm)
+ static void assert_bmesh_has_no_mesh_only_attributes(const BMesh &bm)
  {
    (void)bm; /* Unused in the release builds. */
  
@@@ -1440,9 -1302,4 +1368,7 @@@ void BM_mesh_bm_to_me_for_eval(BMesh *b
    hide_vert_attribute.finish();
    hide_edge_attribute.finish();
    hide_poly_attribute.finish();
 +  selection_vert_attribute.finish();
 +  selection_edge_attribute.finish();
 +  selection_poly_attribute.finish();
- 
-   me->cd_flag = BM_mesh_cd_flag_from_bmesh(bm);
  }



More information about the Bf-blender-cvs mailing list