[Bf-blender-cvs] [428e30c9b8d] refactor-mesh-corners-generic: Merge branch 'refactor-mesh-position-generic' into refactor-mesh-corners-generic

Hans Goudey noreply at git.blender.org
Sat Dec 31 03:59:02 CET 2022


Commit: 428e30c9b8d0ae0f97284eb23a0f5f0753b6b9e8
Author: Hans Goudey
Date:   Fri Dec 30 09:00:15 2022 -0500
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB428e30c9b8d0ae0f97284eb23a0f5f0753b6b9e8

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

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



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

diff --cc source/blender/blenkernel/BKE_mesh_types.h
index 819551cf1a6,2285afd181a..a7edb5d0694
--- a/source/blender/blenkernel/BKE_mesh_types.h
+++ b/source/blender/blenkernel/BKE_mesh_types.h
@@@ -47,7 -47,7 +47,7 @@@ typedef enum eMeshBatchDirtyMode 
  
  /** #MeshRuntime.wrapper_type */
  typedef enum eMeshWrapperType {
-   /** Use mesh data (#Mesh.positions(), #Mesh.medge, #Mesh.corner_verts, #Mesh.mpoly). */
 -  /** Use mesh data (#Mesh.vert_positions(), #Mesh.medge, #Mesh.mloop, #Mesh.mpoly). */
++  /** Use mesh data (#Mesh.vert_positions(), #Mesh.medge, #Mesh.corner_verts(), #Mesh.mpoly). */
    ME_WRAPPER_TYPE_MDATA = 0,
    /** Use edit-mesh data (#Mesh.edit_mesh, #MeshRuntime.edit_data). */
    ME_WRAPPER_TYPE_BMESH = 1,
diff --cc source/blender/blenkernel/intern/DerivedMesh.cc
index dcac7571284,9dc84db2c29..6f3bf98bdd1
--- a/source/blender/blenkernel/intern/DerivedMesh.cc
+++ b/source/blender/blenkernel/intern/DerivedMesh.cc
@@@ -1959,9 -1936,9 +1959,9 @@@ static void mesh_init_origspace(Mesh *m
                                                                     CD_ORIGSPACE_MLOOP);
    const int numpoly = mesh->totpoly;
    // const int numloop = mesh->totloop;
-   const Span<float3> positions = mesh->positions();
+   const Span<float3> positions = mesh->vert_positions();
    const Span<MPoly> polys = mesh->polys();
 -  const Span<MLoop> loops = mesh->loops();
 +  const Span<int> corner_verts = mesh->corner_verts();
  
    const MPoly *mp = polys.data();
    int i, j, k;
diff --cc source/blender/blenkernel/intern/bvhutils.cc
index 2154cf63769,0ac8415c03d..cb49abdb76c
--- a/source/blender/blenkernel/intern/bvhutils.cc
+++ b/source/blender/blenkernel/intern/bvhutils.cc
@@@ -1213,9 -1213,9 +1213,9 @@@ BVHTree *BKE_bvhtree_from_mesh_get(stru
      looptri = BKE_mesh_runtime_looptri_ensure(mesh);
      looptri_len = BKE_mesh_runtime_looptri_len(mesh);
    }
-   const float(*positions)[3] = reinterpret_cast<const float(*)[3]>(mesh->positions().data());
+   const float(*positions)[3] = reinterpret_cast<const float(*)[3]>(mesh->vert_positions().data());
    const Span<MEdge> edges = mesh->edges();
 -  const Span<MLoop> loops = mesh->loops();
 +  const Span<int> corner_verts = mesh->corner_verts();
  
    /* Setup BVHTreeFromMesh */
    bvhtree_from_mesh_setup_data(nullptr,
diff --cc source/blender/blenkernel/intern/crazyspace.cc
index e771422b90d,dd58f137abe..22cc77c78cf
--- a/source/blender/blenkernel/intern/crazyspace.cc
+++ b/source/blender/blenkernel/intern/crazyspace.cc
@@@ -188,9 -188,9 +188,9 @@@ void BKE_crazyspace_set_quats_mesh(Mes
    BLI_bitmap *vert_tag = BLI_BITMAP_NEW(me->totvert, __func__);
  
    /* first store two sets of tangent vectors in vertices, we derive it just from the face-edges */
-   const Span<float3> positions = me->positions();
+   const Span<float3> positions = me->vert_positions();
    const Span<MPoly> polys = me->polys();
 -  const Span<MLoop> loops = me->loops();
 +  const Span<int> corner_verts = me->corner_verts();
  
    for (int i = 0; i < me->totpoly; i++) {
      const MPoly *poly = &polys[i];
diff --cc source/blender/blenkernel/intern/curve_to_mesh_convert.cc
index 8e947ab961a,478c6118c17..698deb8dba3
--- a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
+++ b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
@@@ -639,11 -639,10 +639,11 @@@ Mesh *curve_to_mesh_sweep(const CurvesG
        offsets.vert.last(), offsets.edge.last(), 0, offsets.loop.last(), offsets.poly.last());
    mesh->flag |= ME_AUTOSMOOTH;
    mesh->smoothresh = DEG2RADF(180.0f);
-   MutableSpan<float3> positions = mesh->positions_for_write();
+   MutableSpan<float3> positions = mesh->vert_positions_for_write();
    MutableSpan<MEdge> edges = mesh->edges_for_write();
    MutableSpan<MPoly> polys = mesh->polys_for_write();
 -  MutableSpan<MLoop> loops = mesh->loops_for_write();
 +  MutableSpan<int> corner_verts = mesh->corner_verts_for_write();
 +  MutableSpan<int> corner_edges = mesh->corner_edges_for_write();
  
    foreach_curve_combination(curves_info, offsets, [&](const CombinationInfo &info) {
      fill_mesh_topology(info.vert_range.start(),
diff --cc source/blender/blenkernel/intern/dynamicpaint.c
index 361af7beb14,bf6ecb4937f..53207e7b839
--- a/source/blender/blenkernel/intern/dynamicpaint.c
+++ b/source/blender/blenkernel/intern/dynamicpaint.c
@@@ -4261,10 -4263,10 +4261,10 @@@ static bool dynamicPaint_paintMesh(Deps
      VolumeGrid *grid = bData->grid;
  
      mesh = BKE_mesh_copy_for_eval(brush_mesh, false);
-     float(*positions)[3] = BKE_mesh_positions_for_write(mesh);
+     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);
 -    mloop = BKE_mesh_loops(mesh);
 +    const int *corner_verts = BKE_mesh_corner_verts(mesh);
      numOfVerts = mesh->totvert;
  
      /* Transform collider vertices to global space
diff --cc source/blender/blenkernel/intern/fluid.c
index 8c71ea1e03d,8ccab129a5f..3daa8327ee0
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@@ -2062,9 -2062,9 +2062,9 @@@ static void emit_from_mesh
      /* Copy mesh for thread safety as we modify it.
       * Main issue is its VertArray being modified, then replaced and freed. */
      Mesh *me = BKE_mesh_copy_for_eval(ffs->mesh, false);
-     float(*positions)[3] = BKE_mesh_positions_for_write(me);
+     float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
  
 -    const MLoop *mloop = BKE_mesh_loops(me);
 +    const int *corner_verts = BKE_mesh_corner_verts(me);
      const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(me);
      const int numverts = me->totvert;
      const MDeformVert *dvert = BKE_mesh_deform_verts(me);
@@@ -3247,9 -3247,9 +3247,9 @@@ static Mesh *create_liquid_geometry(Flu
    if (!me) {
      return NULL;
    }
-   float(*positions)[3] = BKE_mesh_positions_for_write(me);
+   float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
    mpolys = BKE_mesh_polys_for_write(me);
 -  mloops = BKE_mesh_loops_for_write(me);
 +  corner_verts = BKE_mesh_corner_verts_for_write(me);
  
    /* Get size (dimension) but considering scaling. */
    copy_v3_v3(cell_size_scaled, fds->cell_size);
@@@ -3382,9 -3382,9 +3382,9 @@@ static Mesh *create_smoke_geometry(Flui
    }
  
    result = BKE_mesh_new_nomain(num_verts, 0, 0, num_faces * 4, num_faces);
-   float(*positions)[3] = BKE_mesh_positions_for_write(result);
+   float(*positions)[3] = BKE_mesh_vert_positions_for_write(result);
    mpolys = BKE_mesh_polys_for_write(result);
 -  mloops = BKE_mesh_loops_for_write(result);
 +  corner_verts = BKE_mesh_corner_verts_for_write(result);
  
    if (num_verts) {
      /* Volume bounds. */
diff --cc source/blender/blenkernel/intern/gpencil_geom.cc
index 0c384f6ac96,b9f0a7fa4c3..35c81096436
--- a/source/blender/blenkernel/intern/gpencil_geom.cc
+++ b/source/blender/blenkernel/intern/gpencil_geom.cc
@@@ -2679,9 -2679,9 +2679,9 @@@ bool BKE_gpencil_convert_mesh(Main *bma
    /* Use evaluated data to get mesh with all modifiers on top. */
    Object *ob_eval = (Object *)DEG_get_evaluated_object(depsgraph, ob_mesh);
    const Mesh *me_eval = BKE_object_get_evaluated_mesh(ob_eval);
-   const Span<float3> positions = me_eval->positions();
+   const Span<float3> positions = me_eval->vert_positions();
    const Span<MPoly> polys = me_eval->polys();
 -  const Span<MLoop> loops = me_eval->loops();
 +  const Span<int> corner_verts = me_eval->corner_verts();
    int mpoly_len = me_eval->totpoly;
    char element_name[200];
  
diff --cc source/blender/blenkernel/intern/mesh.cc
index 793ab40a624,8d28d80ede5..afb766e0a72
--- a/source/blender/blenkernel/intern/mesh.cc
+++ b/source/blender/blenkernel/intern/mesh.cc
@@@ -1809,9 -1814,10 +1809,9 @@@ void BKE_mesh_calc_normals_split_ex(Mes
    /* may be nullptr */
    clnors = (short(*)[2])CustomData_get_layer(&mesh->ldata, CD_CUSTOMLOOPNORMAL);
  
-   const Span<float3> positions = mesh->positions();
+   const Span<float3> positions = mesh->vert_positions();
    const Span<MEdge> edges = mesh->edges();
    const Span<MPoly> polys = mesh->polys();
 -  const Span<MLoop> loops = mesh->loops();
  
    BKE_mesh_normals_loop_split(reinterpret_cast<const float(*)[3]>(positions.data()),
                                BKE_mesh_vertex_normals_ensure(mesh),
diff --cc source/blender/blenkernel/intern/mesh_boolean_convert.cc
index 0b9e79b5d1c,8d6a07a3cdb..d7abf7da59f
--- a/source/blender/blenkernel/intern/mesh_boolean_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_boolean_convert.cc
@@@ -306,10 -306,9 +306,10 @@@ static IMesh meshes_to_imesh(Span<cons
      bool need_face_flip = r_info->has_negative_transform[mi] != r_info->has_negative_transform[0];
  
      Vector<Vert *> verts(me->totvert);
-     const Span<float3> mesh_positions = me->positions();
+     const Span<float3> mesh_positions = me->vert_positions();
      const Span<MPoly> polys = me->polys();
 -    const Span<MLoop> loops = me->loops();
 +    const Span<int> corner_verts = me->corner_verts();
 +    const Span<int> corner_edges = me->corner_edges();
  
      /* Allocate verts
       * Skip the matrix multiplication for each point when there is no transform for a mesh,
@@@ -552,9 -552,9 +552,9 @@@ static void get_poly2d_cos(const Mesh *
                             const float4x4 &trans_mat,
                             float r_axis_mat[3][3])
  {
-   const Span<float3> positions = me->positions();
+   const Span<float3> positions = me->vert_positions();
 -  const Span<MLoop> loops = me->loops();
 -  const Span<MLoop> poly_loops = loops.slice(mp->loopstart, mp->totloop);
 +  const Span<int> corner_verts = me->corner_verts();
 +  const Span<int> poly_verts = corner_verts.slice(mp->loopstart, mp->totloop);
  
    /* Project coordinates to 2d in cos_2d, using normal as projection axis. */
    float axis_dominant[3];
@@@ -601,8 -601,8 +601,8 @@@ static void copy_or_interp_loop_attribu
      get_poly2d_cos(orig_me, orig_mp, cos_2d, mim.to_target_transform[orig_me_index], axis_mat);
    }
    CustomData *target_cd = &dest_mesh->ldata;
-   const Sp

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list