[Bf-blender-cvs] [95915484f2b] refactor-mesh-corners-generic: Cleanup: Use C++ accessor functions

Hans Goudey noreply at git.blender.org
Thu Jan 26 23:10:25 CET 2023


Commit: 95915484f2b1be03bb5829c2abcca474431defb7
Author: Hans Goudey
Date:   Thu Jan 26 16:09:58 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB95915484f2b1be03bb5829c2abcca474431defb7

Cleanup: Use C++ accessor functions

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

M	source/blender/blenkernel/intern/dynamicpaint.cc
M	source/blender/blenkernel/intern/fluid.cc
M	source/blender/blenloader/intern/versioning_290.cc
M	source/blender/editors/armature/meshlaplacian.cc
M	source/blender/editors/object/object_bake_api.cc
M	source/blender/editors/space_view3d/drawobject.cc
M	source/blender/editors/uvedit/uvedit_unwrap_ops.cc

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

diff --git a/source/blender/blenkernel/intern/dynamicpaint.cc b/source/blender/blenkernel/intern/dynamicpaint.cc
index f4a8a2baf2f..2d98c0e86f7 100644
--- a/source/blender/blenkernel/intern/dynamicpaint.cc
+++ b/source/blender/blenkernel/intern/dynamicpaint.cc
@@ -1416,7 +1416,7 @@ static void dynamicPaint_initAdjacencyData(DynamicPaintSurface *surface, const b
     int numOfPolys = mesh->totpoly;
     const MEdge *edges = BKE_mesh_edges(mesh);
     const MPoly *polys = BKE_mesh_polys(mesh);
-    const int *corner_verts = BKE_mesh_corner_verts(mesh);
+    const blender::Span<int> corner_verts = mesh->corner_verts();
 
     /* count number of edges per vertex */
     for (int i = 0; i < numOfEdges; i++) {
@@ -1618,7 +1618,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
   else if (surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE) {
     Tex *tex = surface->init_texture;
 
-    const int *corner_verts = BKE_mesh_corner_verts(mesh);
+    const blender::Span<int> corner_verts = mesh->corner_verts();
     const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
     const int tottri = BKE_mesh_runtime_looptri_len(mesh);
 
@@ -1644,7 +1644,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
 
       DynamicPaintSetInitColorData data{};
       data.surface = surface;
-      data.corner_verts = corner_verts;
+      data.corner_verts = corner_verts.data();
       data.mlooptri = mlooptri;
       data.mloopuv = mloopuv;
       data.pool = pool;
@@ -1676,7 +1676,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
 
     /* For vertex surface, just copy colors from #MLoopCol. */
     if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) {
-      const int *corner_verts = BKE_mesh_corner_verts(mesh);
+      const blender::Span<int> corner_verts = mesh->corner_verts();
       const int totloop = mesh->totloop;
       const MLoopCol *col = static_cast<const MLoopCol *>(
           CustomData_get_layer_named(&mesh->ldata, CD_PROP_BYTE_COLOR, surface->init_layername));
@@ -1930,7 +1930,7 @@ static Mesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData *pmd, Object *
 
           /* vertex color paint */
           if (surface->type == MOD_DPAINT_SURFACE_T_PAINT) {
-            const int *corner_verts = BKE_mesh_corner_verts(result);
+            const blender::Span<int> corner_verts = mesh->corner_verts();
             const int totloop = result->totloop;
             const MPoly *mpoly = BKE_mesh_polys(result);
             const int totpoly = result->totpoly;
@@ -1982,7 +1982,7 @@ static Mesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData *pmd, Object *
             }
 
             data.ob = ob;
-            data.corner_verts = corner_verts;
+            data.corner_verts = corner_verts.data();
             data.mpoly = mpoly;
             data.mloopcol = mloopcol;
             data.mloopcol_wet = mloopcol_wet;
@@ -2837,7 +2837,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
     return setError(canvas, N_("Cannot bake non-'image sequence' formats"));
   }
 
-  const int *corner_verts = BKE_mesh_corner_verts(mesh);
+  const blender::Span<int> corner_verts = mesh->corner_verts();
   mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
   const int tottri = BKE_mesh_runtime_looptri_len(mesh);
 
@@ -2925,7 +2925,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
     data.tempWeights = tempWeights;
     data.mlooptri = mlooptri;
     data.mloopuv = mloopuv;
-    data.corner_verts = corner_verts;
+    data.corner_verts = corner_verts.data();
     data.tottri = tottri;
     data.faceBB = faceBB;
 
@@ -2984,7 +2984,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
                                          mesh->totvert,
                                          mlooptri,
                                          tottri,
-                                         corner_verts,
+                                         corner_verts.data(),
                                          mesh->totloop);
 
         int total_border = 0;
@@ -4298,7 +4298,7 @@ static bool dynamicPaint_paintMesh(Depsgraph *depsgraph,
     float(*positions)[3] = BKE_mesh_vert_positions_for_write(mesh);
     const float(*vert_normals)[3] = BKE_mesh_vertex_normals_ensure(mesh);
     mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
-    const int *corner_verts = BKE_mesh_corner_verts(mesh);
+    const blender::Span<int> corner_verts = mesh->corner_verts();
     numOfVerts = mesh->totvert;
 
     /* Transform collider vertices to global space
@@ -4352,7 +4352,7 @@ static bool dynamicPaint_paintMesh(Depsgraph *depsgraph,
           data.c_index = c_index;
           data.mesh = mesh;
           data.positions = positions;
-          data.corner_verts = corner_verts;
+          data.corner_verts = corner_verts.data();
           data.mlooptri = mlooptri;
           data.brush_radius = brush_radius;
           data.avg_brushNor = avg_brushNor;
diff --git a/source/blender/blenkernel/intern/fluid.cc b/source/blender/blenkernel/intern/fluid.cc
index dcaf5b74c1c..ef2889f99df 100644
--- a/source/blender/blenkernel/intern/fluid.cc
+++ b/source/blender/blenkernel/intern/fluid.cc
@@ -1009,7 +1009,7 @@ static void obstacles_from_mesh(Object *coll_ob,
 
     int min[3], max[3], res[3];
 
-    const int *corner_verts = BKE_mesh_corner_verts(me);
+    const blender::Span<int> corner_verts = me->corner_verts();
     looptri = BKE_mesh_runtime_looptri_ensure(me);
     numverts = me->totvert;
 
@@ -1073,7 +1073,7 @@ static void obstacles_from_mesh(Object *coll_ob,
       ObstaclesFromDMData data{};
       data.fes = fes;
       data.vert_positions = positions;
-      data.corner_verts = corner_verts;
+      data.corner_verts = corner_verts.data();
       data.mlooptri = looptri;
       data.tree = &tree_data;
       data.bb = bb;
@@ -2066,7 +2066,7 @@ static void emit_from_mesh(
     Mesh *me = BKE_mesh_copy_for_eval(ffs->mesh, false);
     float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
 
-    const int *corner_verts = BKE_mesh_corner_verts(me);
+    const blender::Span<int> corner_verts = me->corner_verts();
     const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(me);
     const int numverts = me->totvert;
     const MDeformVert *dvert = BKE_mesh_deform_verts(me);
@@ -2143,7 +2143,7 @@ static void emit_from_mesh(
       data.ffs = ffs;
       data.vert_positions = positions;
       data.vert_normals = vert_normals;
-      data.corner_verts = corner_verts;
+      data.corner_verts = corner_verts.data();
       data.mlooptri = mlooptri;
       data.mloopuv = mloopuv;
       data.dvert = dvert;
@@ -3254,7 +3254,7 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *fds,
   }
   float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
   mpolys = BKE_mesh_polys_for_write(me);
-  corner_verts = BKE_mesh_corner_verts_for_write(me);
+  corner_verts = me->corner_verts_for_write().data();
 
   /* Get size (dimension) but considering scaling. */
   copy_v3_v3(cell_size_scaled, fds->cell_size);
@@ -3389,7 +3389,7 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *fds, Mesh *orgmesh, Obje
   result = BKE_mesh_new_nomain(num_verts, 0, 0, num_faces * 4, num_faces);
   float(*positions)[3] = BKE_mesh_vert_positions_for_write(result);
   mpolys = BKE_mesh_polys_for_write(result);
-  corner_verts = BKE_mesh_corner_verts_for_write(result);
+  corner_verts = result->corner_verts_for_write().data();
 
   if (num_verts) {
     /* Volume bounds. */
diff --git a/source/blender/blenloader/intern/versioning_290.cc b/source/blender/blenloader/intern/versioning_290.cc
index 3ed18b7c042..8a90a5a81c0 100644
--- a/source/blender/blenloader/intern/versioning_290.cc
+++ b/source/blender/blenloader/intern/versioning_290.cc
@@ -829,8 +829,8 @@ void blo_do_versions_290(FileData *fd, Library * /*lib*/, Main *bmain)
               me->totedge,
               (MFace *)CustomData_get_layer_for_write(&me->fdata, CD_MFACE, me->totface),
               me->totface,
-              BKE_mesh_corner_verts_for_write(me),
-              BKE_mesh_corner_edges_for_write(me),
+              me->corner_verts_for_write().data(),
+              me->corner_edges_for_write().data(),
               me->totloop,
               BKE_mesh_polys_for_write(me),
               me->totpoly,
diff --git a/source/blender/editors/armature/meshlaplacian.cc b/source/blender/editors/armature/meshlaplacian.cc
index e81ebd4fca1..5e30844900f 100644
--- a/source/blender/editors/armature/meshlaplacian.cc
+++ b/source/blender/editors/armature/meshlaplacian.cc
@@ -659,7 +659,7 @@ void heat_bone_weighting(Object *ob,
 
   const float(*vert_positions)[3] = BKE_mesh_vert_positions(me);
   const MPoly *polys = BKE_mesh_polys(me);
-  const int *corner_verts = BKE_mesh_corner_verts(me);
+  const blender::Span<int> corner_verts = me->corner_verts();
   bool use_vert_sel = (me->editflag & ME_EDIT_PAINT_VERT_SEL) != 0;
   bool use_face_sel = (me->editflag & ME_EDIT_PAINT_FACE_SEL) != 0;
 
@@ -708,10 +708,11 @@ void heat_bone_weighting(Object *ob,
   mlooptri = static_cast<MLoopTri *>(
       MEM_mallocN(sizeof(*sys->heat.mlooptri) * sys->heat.tris_num, __func__));
 
-  BKE_mesh_recalc_looptri(corner_verts, polys, vert_positions, me->totloop, me->totpoly, mlooptri);
+  BKE_mesh_recalc_looptri(
+      corner_verts.data(), polys, vert_positions, me->totloop, me->totpoly, mlooptri);
 
   sys->heat.mlooptri = mlooptri;
-  sys->heat.corner_verts = corner_verts;
+  sys->heat.corner_verts = corner_verts.data();
   sys->heat.verts_num = me->totvert;
   sys->heat.verts = verts;
   sys->heat.root = root;
@@ -1633,7 +1634,7 @@ static void harmonic_coordinates_bind(MeshDeformModifierData *mmd, MeshDeformBin
   {
     Mesh *me = mdb->cagemesh;
     mdb->cagemesh_cache.mpoly = BKE_mesh_polys(me);
-    mdb->cagemesh_cache.corner_verts = BKE_mesh_corner_verts(me);
+    mdb->cagemesh_cache.corner_verts = me->corner_verts().data();
     mdb->cagemesh_cache.looptri = BKE_mesh_runtime_looptri_ensure(me);
     mdb->cagemesh_cache.poly_nors = BKE_mesh_poly_normals_ensure(me);
   }
diff --git a/source/blender/editors/object/object_bake_api.cc b/source

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list