[Bf-blender-cvs] [22f2bf804c9] refactor-mesh-corners-generic: Cleanup: Use C++ accessor functions in C++ code

Hans Goudey noreply at git.blender.org
Thu Jan 19 23:30:36 CET 2023


Commit: 22f2bf804c95809637ee8c0cdbfe28c4edf438df
Author: Hans Goudey
Date:   Thu Jan 19 16:30:28 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB22f2bf804c95809637ee8c0cdbfe28c4edf438df

Cleanup: Use C++ accessor functions in C++ code

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

M	source/blender/blenkernel/intern/key.cc
M	source/blender/blenkernel/intern/mesh_merge_customdata.cc
M	source/blender/blenkernel/intern/mesh_mirror.cc
M	source/blender/blenkernel/intern/mesh_remap.cc
M	source/blender/draw/intern/draw_cache_extract_mesh_render_data.cc
M	source/blender/modifiers/intern/MOD_array.cc
M	source/blender/modifiers/intern/MOD_build.cc
M	source/blender/modifiers/intern/MOD_correctivesmooth.cc
M	source/blender/modifiers/intern/MOD_displace.cc
M	source/blender/modifiers/intern/MOD_laplaciansmooth.cc
M	source/blender/modifiers/intern/MOD_normal_edit.cc
M	source/blender/modifiers/intern/MOD_ocean.cc
M	source/blender/modifiers/intern/MOD_particleinstance.cc
M	source/blender/modifiers/intern/MOD_remesh.cc
M	source/blender/modifiers/intern/MOD_screw.cc
M	source/blender/modifiers/intern/MOD_solidify_extrude.cc
M	source/blender/modifiers/intern/MOD_solidify_nonmanifold.cc
M	source/blender/render/intern/bake.cc
M	source/blender/render/intern/multires_bake.cc

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

diff --git a/source/blender/blenkernel/intern/key.cc b/source/blender/blenkernel/intern/key.cc
index 70707ed4a40..3df39dacfc9 100644
--- a/source/blender/blenkernel/intern/key.cc
+++ b/source/blender/blenkernel/intern/key.cc
@@ -2235,8 +2235,8 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
   BKE_keyblock_convert_to_mesh(kb, positions, mesh->totvert);
   const MEdge *edges = BKE_mesh_edges(mesh);
   const MPoly *polys = BKE_mesh_polys(mesh);
-  const int *corner_verts = BKE_mesh_corner_verts(mesh);
-  const int *corner_edges = BKE_mesh_corner_edges(mesh);
+  const blender::Span<int> corner_verts = mesh->corner_verts();
+  const blender::Span<int> corner_edges = mesh->corner_edges();
 
   const bool loop_normals_needed = r_loop_normals != nullptr;
   const bool vert_normals_needed = r_vert_normals != nullptr || loop_normals_needed;
@@ -2259,13 +2259,18 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
   }
 
   if (poly_normals_needed) {
-    BKE_mesh_calc_normals_poly(
-        positions, mesh->totvert, corner_verts, mesh->totloop, polys, mesh->totpoly, poly_normals);
+    BKE_mesh_calc_normals_poly(positions,
+                               mesh->totvert,
+                               corner_verts.data(),
+                               mesh->totloop,
+                               polys,
+                               mesh->totpoly,
+                               poly_normals);
   }
   if (vert_normals_needed) {
     BKE_mesh_calc_normals_poly_and_vertex(positions,
                                           mesh->totvert,
-                                          corner_verts,
+                                          corner_verts.data(),
                                           mesh->totloop,
                                           polys,
                                           mesh->totpoly,
@@ -2282,8 +2287,8 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
                                 mesh->totvert,
                                 edges,
                                 mesh->totedge,
-                                corner_verts,
-                                corner_edges,
+                                corner_verts.data(),
+                                corner_edges.data(),
                                 r_loop_normals,
                                 mesh->totloop,
                                 polys,
diff --git a/source/blender/blenkernel/intern/mesh_merge_customdata.cc b/source/blender/blenkernel/intern/mesh_merge_customdata.cc
index c9358a127b4..f0f4fb67cf9 100644
--- a/source/blender/blenkernel/intern/mesh_merge_customdata.cc
+++ b/source/blender/blenkernel/intern/mesh_merge_customdata.cc
@@ -117,7 +117,7 @@ void BKE_mesh_merge_customdata_for_apply_modifier(Mesh *me)
   BKE_mesh_vert_loop_map_create(&vert_to_loop,
                                 &vert_map_mem,
                                 BKE_mesh_polys(me),
-                                BKE_mesh_corner_verts(me),
+                                me->corner_verts().data(),
                                 me->totvert,
                                 me->totpoly,
                                 me->totloop);
diff --git a/source/blender/blenkernel/intern/mesh_mirror.cc b/source/blender/blenkernel/intern/mesh_mirror.cc
index 273605dd63c..5bfcf86534f 100644
--- a/source/blender/blenkernel/intern/mesh_mirror.cc
+++ b/source/blender/blenkernel/intern/mesh_mirror.cc
@@ -212,12 +212,8 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
     memcpy(BKE_mesh_edges_for_write(result), BKE_mesh_edges(mesh), sizeof(MEdge) * mesh->totedge);
   }
   if (!CustomData_has_layer(&mesh->pdata, CD_MPOLY)) {
-    memcpy(BKE_mesh_corner_verts_for_write(result),
-           BKE_mesh_corner_verts(mesh),
-           sizeof(int) * mesh->totloop);
-    memcpy(BKE_mesh_corner_edges_for_write(result),
-           BKE_mesh_corner_edges(mesh),
-           sizeof(int) * mesh->totloop);
+    result->corner_verts_for_write().copy_from(mesh->corner_verts());
+    result->corner_edges_for_write().copy_from(mesh->corner_edges());
     memcpy(BKE_mesh_polys_for_write(result), BKE_mesh_polys(mesh), sizeof(MPoly) * mesh->totpoly);
   }
 
@@ -317,7 +313,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
 
   /* adjust mirrored poly loopstart indices, and reverse loop order (normals) */
   mp = BKE_mesh_polys_for_write(result) + maxPolys;
-  int *corner_edges = BKE_mesh_corner_edges_for_write(result);
+  blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
   for (i = 0; i < maxPolys; i++, mp++) {
     int j, e;
 
@@ -334,7 +330,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
                            1);
     }
 
-    int *corner_edge_2 = corner_edges + mp->loopstart + maxLoops;
+    int *corner_edge_2 = &corner_edges[mp->loopstart + maxLoops];
     e = corner_edge_2[0];
     for (j = 0; j < mp->totloop - 1; j++) {
       corner_edge_2[j] = corner_edge_2[j + 1];
@@ -345,7 +341,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
   }
 
   /* adjust mirrored loop vertex and edge indices */
-  int *corner_verts = BKE_mesh_corner_verts_for_write(result);
+  blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
   for (i = 0; i < maxLoops; i++) {
     corner_verts[maxLoops + i] += maxVerts;
     corner_edges[maxLoops + i] += maxEdges;
@@ -419,8 +415,8 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
                                 result->totvert,
                                 BKE_mesh_edges(result),
                                 result->totedge,
-                                BKE_mesh_corner_verts(result),
-                                BKE_mesh_corner_edges(result),
+                                result->corner_verts().data(),
+                                result->corner_edges().data(),
                                 loop_normals,
                                 totloop,
                                 BKE_mesh_polys(result),
diff --git a/source/blender/blenkernel/intern/mesh_remap.cc b/source/blender/blenkernel/intern/mesh_remap.cc
index d5e9257a0d3..08e9362f0da 100644
--- a/source/blender/blenkernel/intern/mesh_remap.cc
+++ b/source/blender/blenkernel/intern/mesh_remap.cc
@@ -568,7 +568,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
                   MREMAP_MODE_VERT_POLYINTERP_NEAREST,
                   MREMAP_MODE_VERT_POLYINTERP_VNORPROJ)) {
       const MPoly *polys_src = BKE_mesh_polys(me_src);
-      const int *corner_verts_src = BKE_mesh_corner_verts(me_src);
+      const blender::Span<int> corner_verts_src = me_src->corner_verts();
       float(*vcos_src)[3] = BKE_mesh_vert_coords_alloc(me_src, nullptr);
       const float(*vert_normals_dst)[3] = BKE_mesh_vertex_normals_ensure(me_dst);
 
@@ -597,7 +597,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
             const MLoopTri *lt = &treedata.looptri[rayhit.index];
             const MPoly *mp_src = &polys_src[lt->poly];
             const int sources_num = mesh_remap_interp_poly_data_get(mp_src,
-                                                                    corner_verts_src,
+                                                                    corner_verts_src.data(),
                                                                     (const float(*)[3])vcos_src,
                                                                     rayhit.co,
                                                                     &tmp_buff_size,
@@ -635,7 +635,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
             if (mode == MREMAP_MODE_VERT_POLY_NEAREST) {
               int index;
               mesh_remap_interp_poly_data_get(mp,
-                                              corner_verts_src,
+                                              corner_verts_src.data(),
                                               (const float(*)[3])vcos_src,
                                               nearest.co,
                                               &tmp_buff_size,
@@ -650,7 +650,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
             }
             else if (mode == MREMAP_MODE_VERT_POLYINTERP_NEAREST) {
               const int sources_num = mesh_remap_interp_poly_data_get(mp,
-                                                                      corner_verts_src,
+                                                                      corner_verts_src.data(),
                                                                       (const float(*)[3])vcos_src,
                                                                       nearest.co,
                                                                       &tmp_buff_size,
@@ -875,7 +875,7 @@ void BKE_mesh_remap_calc_edges_from_mesh(const int mode,
     else if (mode == MREMAP_MODE_EDGE_POLY_NEAREST) {
       const MEdge *edges_src = BKE_mesh_edges(me_src);
       const MPoly *polys_src = BKE_mesh_polys(me_src);
-      const int *corner_edges_src = BKE_mesh_corner_edges(me_src);
+      const blender::Span<int> corner_edges_src = me_src->corner_edges();
       float(*vcos_src)[3] = BKE_mesh_vert_coords_alloc(me_src, nullptr);
 
       BKE_bvhtree_from_mesh_get(&treedata, me_src, BVHTREE_FROM_LOOPTRI, 2);
@@ -1315,8 +1315,8 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
     float(*vcos_src)[3] = nullptr;
     const MEdge *edges_src = BKE_mesh_edges(me_src);
     const int num_edges_src = me_src->totedge;
-    const int *corner_verts_src = BKE_mesh_corner_verts(me_src);
-    const int *corner_edges_src = BKE_mesh_corner_edges(me_src);
+    const blender::Span<int> corner_verts_src = me_src->corner_verts();
+    const blender::Span<int> corner_edges_src = me_src->corner_edges();
     const int num_loops_src = me_src->totloop;
     const MPoly *polys_src = BKE_mesh_polys(me_src);
     const int num_polys_src = me_src->totpoly;
@@ -1408,7 +1408,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
       BKE_mesh_vert_loop_map_create(&vert_t

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list