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

Hans Goudey noreply at git.blender.org
Fri Jan 20 20:01:32 CET 2023


Commit: fc73e7577931b8879c2166ecce0fdebe5fb20829
Author: Hans Goudey
Date:   Fri Jan 20 13:01:00 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rBfc73e7577931b8879c2166ecce0fdebe5fb20829

Cleanup: Use C++ accessor functions

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

M	source/blender/blenkernel/intern/multires_reshape_subdivide.cc
M	source/blender/blenkernel/intern/multires_reshape_util.cc
M	source/blender/blenkernel/intern/multires_unsubdivide.cc
M	source/blender/blenkernel/intern/subdiv_converter_mesh.cc
M	source/blender/blenkernel/intern/subdiv_eval.cc
M	source/blender/blenkernel/intern/subdiv_foreach.cc
M	source/blender/editors/sculpt_paint/paint_mask.cc
M	source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
M	source/blender/editors/sculpt_paint/sculpt_expand.cc
M	source/blender/editors/sculpt_paint/sculpt_geodesic.cc

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

diff --git a/source/blender/blenkernel/intern/multires_reshape_subdivide.cc b/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
index d502466e4d1..8ea6feedff6 100644
--- a/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
+++ b/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
@@ -30,7 +30,7 @@ static void multires_subdivide_create_object_space_linear_grids(Mesh *mesh)
 {
   const float(*positions)[3] = BKE_mesh_vert_positions(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();
 
   MDisps *mdisps = static_cast<MDisps *>(
       CustomData_get_layer_for_write(&mesh->ldata, CD_MDISPS, mesh->totloop));
diff --git a/source/blender/blenkernel/intern/multires_reshape_util.cc b/source/blender/blenkernel/intern/multires_reshape_util.cc
index 460446f52bf..0578d50db51 100644
--- a/source/blender/blenkernel/intern/multires_reshape_util.cc
+++ b/source/blender/blenkernel/intern/multires_reshape_util.cc
@@ -158,8 +158,8 @@ bool multires_reshape_context_create_from_base_mesh(MultiresReshapeContext *resh
   reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
   reshape_context->base_edges = BKE_mesh_edges(base_mesh);
   reshape_context->base_polys = BKE_mesh_polys(base_mesh);
-  reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
-  reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+  reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+  reshape_context->base_corner_edges = base_mesh->corner_edges().data();
 
   reshape_context->subdiv = multires_reshape_create_subdiv(nullptr, object, mmd);
   reshape_context->need_free_subdiv = true;
@@ -196,8 +196,8 @@ bool multires_reshape_context_create_from_object(MultiresReshapeContext *reshape
   reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
   reshape_context->base_edges = BKE_mesh_edges(base_mesh);
   reshape_context->base_polys = BKE_mesh_polys(base_mesh);
-  reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
-  reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+  reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+  reshape_context->base_corner_edges = base_mesh->corner_edges().data();
 
   reshape_context->subdiv = multires_reshape_create_subdiv(depsgraph, object, mmd);
   reshape_context->need_free_subdiv = true;
@@ -231,8 +231,8 @@ bool multires_reshape_context_create_from_ccg(MultiresReshapeContext *reshape_co
   reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
   reshape_context->base_edges = BKE_mesh_edges(base_mesh);
   reshape_context->base_polys = BKE_mesh_polys(base_mesh);
-  reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
-  reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+  reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+  reshape_context->base_corner_edges = base_mesh->corner_edges().data();
 
   reshape_context->subdiv = subdiv_ccg->subdiv;
   reshape_context->need_free_subdiv = false;
@@ -279,8 +279,8 @@ bool multires_reshape_context_create_from_subdiv(MultiresReshapeContext *reshape
   reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
   reshape_context->base_edges = BKE_mesh_edges(base_mesh);
   reshape_context->base_polys = BKE_mesh_polys(base_mesh);
-  reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
-  reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+  reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+  reshape_context->base_corner_edges = base_mesh->corner_edges().data();
   reshape_context->cd_vertex_crease = (const float *)CustomData_get_layer(&base_mesh->edata,
                                                                           CD_CREASE);
 
diff --git a/source/blender/blenkernel/intern/multires_unsubdivide.cc b/source/blender/blenkernel/intern/multires_unsubdivide.cc
index c1925220882..09309fa9942 100644
--- a/source/blender/blenkernel/intern/multires_unsubdivide.cc
+++ b/source/blender/blenkernel/intern/multires_unsubdivide.cc
@@ -643,7 +643,7 @@ static void store_grid_data(MultiresUnsubdivideContext *context,
 {
   Mesh *original_mesh = context->original_mesh;
   const MPoly *polys = BKE_mesh_polys(original_mesh);
-  const int *corner_verts = BKE_mesh_corner_verts(original_mesh);
+  const blender::Span<int> corner_verts = original_mesh->corner_verts();
   const MPoly *poly = &polys[BM_elem_index_get(f)];
 
   const int corner_vertex_index = BM_elem_index_get(v);
@@ -1041,7 +1041,7 @@ static void multires_unsubdivide_extract_grids(MultiresUnsubdivideContext *conte
       &bm_base_mesh->ldata, CD_PROP_INT32, base_l_layer_index);
 
   const MPoly *polys = BKE_mesh_polys(base_mesh);
-  const int *corner_verts = BKE_mesh_corner_verts(base_mesh);
+  const blender::Span<int> corner_verts = base_mesh->corner_verts();
 
   /* Main loop for extracting the grids. Iterates over the base mesh vertices. */
   BM_ITER_MESH (v, &iter, bm_base_mesh, BM_VERTS_OF_MESH) {
@@ -1079,8 +1079,11 @@ static void multires_unsubdivide_extract_grids(MultiresUnsubdivideContext *conte
 
           /* Check the orientation of the loops in case that is needed to flip the x and y axis
            * when extracting the grid. */
-          const bool flip_grid = multires_unsubdivide_flip_grid_x_axis(
-              polys, corner_verts, base_mesh_face_index, base_mesh_loop_index, corner_x_index);
+          const bool flip_grid = multires_unsubdivide_flip_grid_x_axis(polys,
+                                                                       corner_verts.data(),
+                                                                       base_mesh_face_index,
+                                                                       base_mesh_loop_index,
+                                                                       corner_x_index);
 
           /* Extract the grid for that loop. */
           context->base_mesh_grids[base_mesh_loop_index].grid_index = base_mesh_loop_index;
diff --git a/source/blender/blenkernel/intern/subdiv_converter_mesh.cc b/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
index 6da760b1c17..f46e88c034a 100644
--- a/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
+++ b/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
@@ -402,8 +402,8 @@ static void init_user_data(OpenSubdiv_Converter *converter,
   user_data->vert_positions = BKE_mesh_vert_positions(mesh);
   user_data->edges = BKE_mesh_edges(mesh);
   user_data->polys = BKE_mesh_polys(mesh);
-  user_data->corner_verts = BKE_mesh_corner_verts(mesh);
-  user_data->corner_edges = BKE_mesh_corner_edges(mesh);
+  user_data->corner_verts = mesh->corner_verts().data();
+  user_data->corner_edges = mesh->corner_edges().data();
   user_data->cd_vertex_crease = static_cast<const float *>(
       CustomData_get_layer(&mesh->vdata, CD_CREASE));
   user_data->cd_edge_crease = static_cast<const float *>(
diff --git a/source/blender/blenkernel/intern/subdiv_eval.cc b/source/blender/blenkernel/intern/subdiv_eval.cc
index 0bf3e91f13f..23975a938fa 100644
--- a/source/blender/blenkernel/intern/subdiv_eval.cc
+++ b/source/blender/blenkernel/intern/subdiv_eval.cc
@@ -83,7 +83,7 @@ static void set_coarse_positions(Subdiv *subdiv,
 {
   const float(*positions)[3] = BKE_mesh_vert_positions(mesh);
   const MPoly *mpoly = BKE_mesh_polys(mesh);
-  const int *corner_verts = BKE_mesh_corner_verts(mesh);
+  const blender::Span<int> corner_verts = mesh->corner_verts();
   /* Mark vertices which needs new coordinates. */
   /* TODO(sergey): This is annoying to calculate this on every update,
    * maybe it's better to cache this mapping. Or make it possible to have
diff --git a/source/blender/blenkernel/intern/subdiv_foreach.cc b/source/blender/blenkernel/intern/subdiv_foreach.cc
index 5af1750be72..9ec2128987c 100644
--- a/source/blender/blenkernel/intern/subdiv_foreach.cc
+++ b/source/blender/blenkernel/intern/subdiv_foreach.cc
@@ -1820,8 +1820,8 @@ bool BKE_subdiv_foreach_subdiv_geometry(Subdiv *subdiv,
   ctx.coarse_mesh = coarse_mesh;
   ctx.coarse_edges = BKE_mesh_edges(coarse_mesh);
   ctx.coarse_polys = BKE_mesh_polys(coarse_mesh);
-  ctx.coarse_corner_verts = BKE_mesh_corner_verts(coarse_mesh);
-  ctx.coarse_corner_edges = BKE_mesh_corner_edges(coarse_mesh);
+  ctx.coarse_corner_verts = coarse_mesh->corner_verts().data();
+  ctx.coarse_corner_edges = coarse_mesh->corner_edges().data();
   ctx.settings = mesh_settings;
   ctx.foreach_context = context;
   subdiv_foreach_ctx_init(subdiv, &ctx);
diff --git a/source/blender/editors/sculpt_paint/paint_mask.cc b/source/blender/editors/sculpt_paint/paint_mask.cc
index b19c498e0ed..a061a3135e7 100644
--- a/source/blender/editors/sculpt_paint/paint_mask.cc
+++ b/source/blender/editors/sculpt_paint/paint_mask.cc
@@ -1221,7 +1221,7 @@ static void sculpt_gesture_trim_geometry_generate(SculptGestureContext *sgcontex
 
   /* Write the front face triangle indices. */
   MPoly *polys = BKE_mesh_polys_for_write(trim_operation->mesh);
-  int *corner_verts = BKE_mesh_corner_verts_for_write(trim_operation->mesh);
+  blender::MutableSpan<int> corner_verts = trim_operation->mesh->corner_verts_for_write();
   MPoly *mp = polys;
   int corner_i = 0;
   for (int i = 0; i < tot_tris_face; i++, mp++, corner_i += 3) {
diff --git a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
index 55d9955a9f7..6034058fff8 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
+++ b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
@@ -318,7 +318,7 @@ static const EnumPropertyItem *weight_paint_sample_enum_itemf(bContext *C,
       ED_view3d_viewcontext_init(C, &vc, depsgraph);
       me = BKE_mesh_from_object(vc.obact);
       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();
       const MDeformVert *dvert

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list