[Bf-blender-cvs] [c978a7dcd3e] refactor-mesh-uv-map-generic: Merge branch 'master' into refactor-mesh-uv-map-generic

Hans Goudey noreply at git.blender.org
Sat Aug 27 00:22:40 CEST 2022


Commit: c978a7dcd3e58e92249ba9dd836665f6a06f67c0
Author: Hans Goudey
Date:   Fri Aug 26 14:00:18 2022 -0500
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rBc978a7dcd3e58e92249ba9dd836665f6a06f67c0

Merge branch 'master' into refactor-mesh-uv-map-generic

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



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

diff --cc source/blender/bmesh/intern/bmesh_query_uv.cc
index 6c59f8afa1f,5a725407c6b..2917d75fce9
--- a/source/blender/bmesh/intern/bmesh_query_uv.cc
+++ b/source/blender/bmesh/intern/bmesh_query_uv.cc
@@@ -95,10 -96,10 +96,9 @@@ float BM_face_uv_calc_cross(const BMFac
    int i = 0;
    l_iter = l_first = BM_FACE_FIRST_LOOP(f);
    do {
-     const float *luv = BM_ELEM_CD_GET_FLOAT_P(l_iter, cd_loop_uv_offset);
-     copy_v2_v2(uvs[i++], luv);
 -    const MLoopUV *luv = (const MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_iter, cd_loop_uv_offset);
 -    uvs[i++] = luv->uv;
++    uvs[i++] = BM_ELEM_CD_GET_FLOAT2_P(l_iter, cd_loop_uv_offset);
    } while ((l_iter = l_iter->next) != l_first);
-   return cross_poly_v2(uvs, f->len);
+   return cross_poly_v2(reinterpret_cast<const float(*)[2]>(uvs.data()), f->len);
  }
  
  void BM_face_uv_minmax(const BMFace *f, float min[2], float max[2], const int cd_loop_uv_offset)
@@@ -126,14 -127,15 +126,14 @@@ void BM_face_uv_transform(BMFace *f, co
  bool BM_loop_uv_share_edge_check(BMLoop *l_a, BMLoop *l_b, const int cd_loop_uv_offset)
  {
    BLI_assert(l_a->e == l_b->e);
 -  MLoopUV *luv_a_curr = (MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_a, cd_loop_uv_offset);
 -  MLoopUV *luv_a_next = (MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_a->next, cd_loop_uv_offset);
 -  MLoopUV *luv_b_curr = (MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_b, cd_loop_uv_offset);
 -  MLoopUV *luv_b_next = (MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_b->next, cd_loop_uv_offset);
 +  float *luv_a_curr = BM_ELEM_CD_GET_FLOAT_P(l_a, cd_loop_uv_offset);
 +  float *luv_a_next = BM_ELEM_CD_GET_FLOAT_P(l_a->next, cd_loop_uv_offset);
 +  float *luv_b_curr = BM_ELEM_CD_GET_FLOAT_P(l_b, cd_loop_uv_offset);
 +  float *luv_b_next = BM_ELEM_CD_GET_FLOAT_P(l_b->next, cd_loop_uv_offset);
    if (l_a->v != l_b->v) {
-     SWAP(float *, luv_b_curr, luv_b_next);
+     std::swap(luv_b_curr, luv_b_next);
    }
 -  return (equals_v2v2(luv_a_curr->uv, luv_b_curr->uv) &&
 -          equals_v2v2(luv_a_next->uv, luv_b_next->uv));
 +  return (equals_v2v2(luv_a_curr, luv_b_curr) && equals_v2v2(luv_a_next, luv_b_next));
  }
  
  bool BM_loop_uv_share_vert_check(BMLoop *l_a, BMLoop *l_b, const int cd_loop_uv_offset)
@@@ -179,8 -183,9 +179,9 @@@ bool BM_face_uv_point_inside_test(cons
    BLI_assert(BM_face_is_normal_valid(f));
  
    for (i = 0, l_iter = BM_FACE_FIRST_LOOP(f); i < f->len; i++, l_iter = l_iter->next) {
-     copy_v2_v2(projverts[i], BM_ELEM_CD_GET_FLOAT_P(l_iter, cd_loop_uv_offset));
 -    projverts[i] = ((const MLoopUV *)BM_ELEM_CD_GET_VOID_P(l_iter, cd_loop_uv_offset))->uv;
++    projverts[i] = BM_ELEM_CD_GET_FLOAT2_P(l_iter, cd_loop_uv_offset);
    }
  
-   return isect_point_poly_v2(co, projverts, f->len, false);
+   return isect_point_poly_v2(
+       co, reinterpret_cast<const float(*)[2]>(projverts.data()), f->len, false);
  }



More information about the Bf-blender-cvs mailing list