[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