[Bf-blender-cvs] [6ef8db35e7a] master: Cleanup: clarify naming for deformed vertex positions & normals

Campbell Barton noreply at git.blender.org
Tue Jan 10 06:44:02 CET 2023


Commit: 6ef8db35e7a8104a81c0fb5c8522c3e93fb4f75d
Author: Campbell Barton
Date:   Tue Jan 10 16:39:53 2023 +1100
Branches: master
https://developer.blender.org/rB6ef8db35e7a8104a81c0fb5c8522c3e93fb4f75d

Cleanup: clarify naming for deformed vertex positions & normals

Edit-mesh duplicator logic used a struct member vert_coords which read
as an alternative (and inconsistent) naming to vert_positions.

Rename to `vert_positions_deform` as the purpose of this value is to
assign when modifiers deform an edit-mesh.
Add `_deform` suffix to normals as well.

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

M	source/blender/blenkernel/intern/object_dupli.cc

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

diff --git a/source/blender/blenkernel/intern/object_dupli.cc b/source/blender/blenkernel/intern/object_dupli.cc
index a9f2406ccfd..18dd92b62b4 100644
--- a/source/blender/blenkernel/intern/object_dupli.cc
+++ b/source/blender/blenkernel/intern/object_dupli.cc
@@ -565,8 +565,8 @@ struct VertexDupliData_EditMesh {
   BMEditMesh *em;
 
   /* Can be nullptr. */
-  const float (*vert_coords)[3];
-  const float (*vert_normals)[3];
+  const float (*vert_positions_deform)[3];
+  const float (*vert_normals_deform)[3];
 
   /**
    * \note The edit-mesh may assign #DupliObject.orco in cases when a regular mesh wouldn't.
@@ -682,14 +682,14 @@ static void make_child_duplis_verts_from_editmesh(const DupliContext *ctx,
   BMIter iter;
   int i;
 
-  const float(*vert_coords)[3] = vdd->vert_coords;
-  const float(*vert_normals)[3] = vdd->vert_normals;
+  const float(*vert_positions_deform)[3] = vdd->vert_positions_deform;
+  const float(*vert_normals_deform)[3] = vdd->vert_normals_deform;
 
   BM_ITER_MESH_INDEX (v, &iter, em->bm, BM_VERTS_OF_MESH, i) {
     const float *co, *no;
-    if (vert_coords != nullptr) {
-      co = vert_coords[i];
-      no = vert_normals ? vert_normals[i] : nullptr;
+    if (vert_positions_deform != nullptr) {
+      co = vert_positions_deform[i];
+      no = vert_normals_deform ? vert_normals_deform[i] : nullptr;
     }
     else {
       co = v->co;
@@ -710,10 +710,10 @@ static void make_duplis_verts(const DupliContext *ctx)
 
   /* Gather mesh info. */
   BMEditMesh *em = nullptr;
-  const float(*vert_coords)[3] = nullptr;
-  const float(*vert_normals)[3] = nullptr;
+  const float(*vert_positions_deform)[3] = nullptr;
+  const float(*vert_normals_deform)[3] = nullptr;
   const Mesh *me_eval = mesh_data_from_duplicator_object(
-      parent, &em, &vert_coords, use_rotation ? &vert_normals : nullptr);
+      parent, &em, &vert_positions_deform, use_rotation ? &vert_normals_deform : nullptr);
   if (em == nullptr && me_eval == nullptr) {
     return;
   }
@@ -724,9 +724,9 @@ static void make_duplis_verts(const DupliContext *ctx)
     VertexDupliData_EditMesh vdd{};
     vdd.params = vdd_params;
     vdd.em = em;
-    vdd.vert_coords = vert_coords;
-    vdd.vert_normals = vert_normals;
-    vdd.has_orco = (vert_coords != nullptr);
+    vdd.vert_positions_deform = vert_positions_deform;
+    vdd.vert_normals_deform = vert_normals_deform;
+    vdd.has_orco = (vert_positions_deform != nullptr);
 
     make_child_duplis(ctx, &vdd, make_child_duplis_verts_from_editmesh);
   }
@@ -1073,7 +1073,7 @@ struct FaceDupliData_EditMesh {
   bool has_orco, has_uvs;
   int cd_loop_uv_offset;
   /* Can be nullptr. */
-  const float (*vert_coords)[3];
+  const float (*vert_positions_deform)[3];
 };
 
 static void get_dupliface_transform_from_coords(Span<float3> coords,
@@ -1181,7 +1181,7 @@ static DupliObject *face_dupli_from_editmesh(const DupliContext *ctx,
 
                                              /* Mesh variables. */
                                              BMFace *f,
-                                             const float (*vert_coords)[3])
+                                             const float (*vert_positions_deform)[3])
 {
   const int coords_len = f->len;
   Array<float3, 64> coords(coords_len);
@@ -1189,9 +1189,9 @@ static DupliObject *face_dupli_from_editmesh(const DupliContext *ctx,
   BMLoop *l_first, *l_iter;
   int i = 0;
   l_iter = l_first = BM_FACE_FIRST_LOOP(f);
-  if (vert_coords != nullptr) {
+  if (vert_positions_deform != nullptr) {
     do {
-      copy_v3_v3(coords[i++], vert_coords[BM_elem_index_get(l_iter->v)]);
+      copy_v3_v3(coords[i++], vert_positions_deform[BM_elem_index_get(l_iter->v)]);
     } while ((l_iter = l_iter->next) != l_first);
   }
   else {
@@ -1261,9 +1261,9 @@ static void make_child_duplis_faces_from_editmesh(const DupliContext *ctx,
   BMIter iter;
   const bool use_scale = fdd->params.use_scale;
 
-  const float(*vert_coords)[3] = fdd->vert_coords;
+  const float(*vert_positions_deform)[3] = fdd->vert_positions_deform;
 
-  BLI_assert((vert_coords == nullptr) || (em->bm->elem_index_dirty & BM_VERT) == 0);
+  BLI_assert((vert_positions_deform == nullptr) || (em->bm->elem_index_dirty & BM_VERT) == 0);
 
   invert_m4_m4(inst_ob->world_to_object, inst_ob->object_to_world);
   /* Relative transform from parent to child space. */
@@ -1272,7 +1272,7 @@ static void make_child_duplis_faces_from_editmesh(const DupliContext *ctx,
 
   BM_ITER_MESH_INDEX (f, &iter, em->bm, BM_FACES_OF_MESH, a) {
     DupliObject *dob = face_dupli_from_editmesh(
-        fdd->params.ctx, inst_ob, child_imat, a, use_scale, scale_fac, f, vert_coords);
+        fdd->params.ctx, inst_ob, child_imat, a, use_scale, scale_fac, f, vert_positions_deform);
 
     if (fdd->has_orco) {
       const float w = 1.0f / float(f->len);
@@ -1294,8 +1294,9 @@ static void make_duplis_faces(const DupliContext *ctx)
 
   /* Gather mesh info. */
   BMEditMesh *em = nullptr;
-  const float(*vert_coords)[3] = nullptr;
-  const Mesh *me_eval = mesh_data_from_duplicator_object(parent, &em, &vert_coords, nullptr);
+  const float(*vert_positions_deform)[3] = nullptr;
+  const Mesh *me_eval = mesh_data_from_duplicator_object(
+      parent, &em, &vert_positions_deform, nullptr);
   if (em == nullptr && me_eval == nullptr) {
     return;
   }
@@ -1307,8 +1308,8 @@ static void make_duplis_faces(const DupliContext *ctx)
     FaceDupliData_EditMesh fdd{};
     fdd.params = fdd_params;
     fdd.em = em;
-    fdd.vert_coords = vert_coords;
-    fdd.has_orco = (vert_coords != nullptr);
+    fdd.vert_positions_deform = vert_positions_deform;
+    fdd.has_orco = (vert_positions_deform != nullptr);
     fdd.has_uvs = (uv_idx != -1);
     fdd.cd_loop_uv_offset = (uv_idx != -1) ?
                                 CustomData_get_n_offset(&em->bm->ldata, CD_MLOOPUV, uv_idx) :



More information about the Bf-blender-cvs mailing list