[Bf-blender-cvs] [7d438ab6d88] refactor-mesh-position-generic: Merge branch 'refactor-mesh-selection-generic' into refactor-mesh-position-generic

Hans Goudey noreply at git.blender.org
Thu Sep 15 18:44:13 CEST 2022


Commit: 7d438ab6d88ae8f1ff08bf219297ab0f5f9d2b2e
Author: Hans Goudey
Date:   Wed Sep 14 18:51:38 2022 -0500
Branches: refactor-mesh-position-generic
https://developer.blender.org/rB7d438ab6d88ae8f1ff08bf219297ab0f5f9d2b2e

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

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



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

diff --cc source/blender/blenkernel/BKE_collision.h
index eaf8392fe66,291d76df4c8..44c1b2a3cbd
--- a/source/blender/blenkernel/BKE_collision.h
+++ b/source/blender/blenkernel/BKE_collision.h
@@@ -14,8 -14,10 +14,9 @@@ struct BVHTree
  struct Collection;
  struct CollisionModifierData;
  struct Depsgraph;
 -struct MVert;
  struct MVertTri;
  struct Object;
+ struct Scene;
  
  ////////////////////////////////////////
  // used for collisions in collision.c
diff --cc source/blender/blenkernel/intern/mesh_boolean_convert.cc
index 8ddec343387,7c89f840d7f..ae0de900d20
--- a/source/blender/blenkernel/intern/mesh_boolean_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_boolean_convert.cc
@@@ -714,16 -717,17 +714,16 @@@ static Mesh *imesh_to_mesh(IMesh *im, M
  
    merge_vertex_loop_poly_customdata_layers(result, mim);
    /* Set the vertex coordinate values and other data. */
 -  MutableSpan<MVert> verts = result->verts_for_write();
 +  MutableSpan<float3> positions = result->positions_for_write();
    for (int vi : im->vert_index_range()) {
      const Vert *v = im->vert(vi);
-     copy_v3fl_v3db(positions[vi], v->co);
      if (v->orig != NO_INDEX) {
        const Mesh *orig_me;
        int index_in_orig_me;
        mim.input_mvert_for_orig_index(v->orig, &orig_me, &index_in_orig_me);
        copy_vert_attributes(result, orig_me, vi, index_in_orig_me);
      }
 -    MVert *mv = &verts[vi];
 -    copy_v3fl_v3db(mv->co, v->co);
++    copy_v3fl_v3db(positions[vi], v->co);
    }
  
    /* Set the loopstart and totloop for each output poly,
diff --cc source/blender/blenkernel/intern/paint.cc
index 5ee8ddc2483,ea1bd3c1cc3..59eac492db4
--- a/source/blender/blenkernel/intern/paint.cc
+++ b/source/blender/blenkernel/intern/paint.cc
@@@ -2240,15 -2145,9 +2146,13 @@@ static PBVH *build_pbvh_from_regular_me
    MLoopTri *looptri = static_cast<MLoopTri *>(
        MEM_malloc_arrayN(looptris_num, sizeof(*looptri), __func__));
  
 -  BKE_mesh_recalc_looptri(
 -      loops.data(), polys.data(), verts.data(), me->totloop, me->totpoly, looptri);
 +  BKE_mesh_recalc_looptri(loops.data(),
 +                          polys.data(),
 +                          reinterpret_cast<const float(*)[3]>(positions.data()),
 +                          me->totloop,
 +                          me->totpoly,
 +                          looptri);
  
-   BKE_sculpt_sync_face_set_visibility(me, nullptr);
- 
    BKE_pbvh_build_mesh(pbvh,
                        me,
                        polys.data(),
diff --cc source/blender/blenloader/intern/versioning_400.cc
index 00000000000,ba8b430aa1d..4d1c8d5f3f5
mode 000000,100644..100644
--- a/source/blender/blenloader/intern/versioning_400.cc
+++ b/source/blender/blenloader/intern/versioning_400.cc
@@@ -1,0 -1,53 +1,54 @@@
+ /* SPDX-License-Identifier: GPL-2.0-or-later */
+ 
+ /** \file
+  * \ingroup blenloader
+  */
+ 
+ #define DNA_DEPRECATED_ALLOW
+ 
+ #include "CLG_log.h"
+ 
+ #include "BKE_main.h"
+ #include "BKE_mesh_legacy_convert.h"
+ 
+ #include "BLO_readfile.h"
+ 
+ #include "readfile.h"
+ 
+ #include "versioning_common.h"
+ 
+ // static CLG_LogRef LOG = {"blo.readfile.doversion"};
+ 
+ static void version_mesh_legacy_to_struct_of_array_format(Mesh &mesh)
+ {
+   BKE_mesh_legacy_convert_flags_to_selection_layers(&mesh);
+   BKE_mesh_legacy_convert_flags_to_hide_layers(&mesh);
+   BKE_mesh_legacy_convert_mpoly_to_material_indices(&mesh);
+   BKE_mesh_legacy_bevel_weight_to_layers(&mesh);
++  BKE_mesh_legacy_convert_verts_to_positions(&mesh);
+ }
+ 
+ void blo_do_versions_400(FileData * /*fd*/, Library * /*lib*/, Main *bmain)
+ {
+   // if (!MAIN_VERSION_ATLEAST(bmain, 400, 0)) {
+   /* This is done here because we will continue to write with the old format until 4.0, so we need
+    * to convert even "current" files. Keep the check commented out for now so the versioning isn't
+    * turned off right after the 4.0 bump. */
+   LISTBASE_FOREACH (Mesh *, mesh, &bmain->meshes) {
+     version_mesh_legacy_to_struct_of_array_format(*mesh);
+   }
+   // }
+ 
+   /**
+    * Versioning code until next subversion bump goes here.
+    *
+    * \note Be sure to check when bumping the version:
+    * - "versioning_userdef.c", #blo_do_versions_userdef
+    * - "versioning_userdef.c", #do_versions_theme
+    *
+    * \note Keep this message at the bottom of the function.
+    */
+   {
+     /* Keep this block, even when empty. */
+   }
+ }



More information about the Bf-blender-cvs mailing list