[Bf-blender-cvs] [9af30e3611c] refactor-mesh-face-generic: Merge branch 'refactor-mesh-sharp-face-generic' into refactor-mesh-face-generic

Hans Goudey noreply at git.blender.org
Sun Feb 5 04:59:04 CET 2023


Commit: 9af30e3611c73a8366effd7283316ffd59431c3f
Author: Hans Goudey
Date:   Fri Feb 3 22:25:52 2023 -0500
Branches: refactor-mesh-face-generic
https://developer.blender.org/rB9af30e3611c73a8366effd7283316ffd59431c3f

Merge branch 'refactor-mesh-sharp-face-generic' into refactor-mesh-face-generic

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



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

diff --cc source/blender/blenkernel/BKE_mesh_mapping.h
index d1fea1fe2d6,97c7ce6b2b0..2bd5b40862c
--- a/source/blender/blenkernel/BKE_mesh_mapping.h
+++ b/source/blender/blenkernel/BKE_mesh_mapping.h
@@@ -97,13 -99,12 +97,14 @@@ typedef struct MeshElemMap 
    int count;
  } MeshElemMap;
  
 +#ifdef __cplusplus
 +
  /* mapping */
+ 
 -UvVertMap *BKE_mesh_uv_vert_map_create(const struct MPoly *mpoly,
 +UvVertMap *BKE_mesh_uv_vert_map_create(blender::OffsetIndices<int> polys,
                                         const bool *hide_poly,
                                         const bool *select_poly,
 -                                       const struct MLoop *mloop,
 +                                       const int *corner_verts,
                                         const float (*mloopuv)[2],
                                         unsigned int totpoly,
                                         unsigned int totvert,
diff --cc source/blender/blenkernel/intern/mesh_mapping.cc
index 02983a7eb81,d7eed3863d6..689cfd5cb3a
--- a/source/blender/blenkernel/intern/mesh_mapping.cc
+++ b/source/blender/blenkernel/intern/mesh_mapping.cc
@@@ -30,20 -29,22 +30,21 @@@
  /** \name Mesh Connectivity Mapping
   * \{ */
  
- /* ngon version wip, based on BM_uv_vert_map_create */
 -UvVertMap *BKE_mesh_uv_vert_map_create(const MPoly *mpoly,
 -                                       const bool *hide_poly,
 -                                       const bool *select_poly,
 -                                       const MLoop *mloop,
 -                                       const float (*mloopuv)[2],
 -                                       uint totpoly,
 -                                       uint totvert,
 -                                       const float limit[2],
 -                                       const bool selected,
 -                                       const bool use_winding)
 +UvVertMap *BKE_mesh_uv_vert_map_createconst(blender::OffsetIndices<int> polys,
 +                                            const bool *hide_poly,
 +                                            const bool *select_poly,
 +                                            const int *corner_verts,
 +                                            const float (*mloopuv)[2],
 +                                            uint totpoly,
 +                                            uint totvert,
 +                                            const float limit[2],
 +                                            const bool selected,
 +                                            const bool use_winding)
  {
+   /* NOTE: N-gon version WIP, based on #BM_uv_vert_map_create. */
+ 
    UvVertMap *vmap;
    UvMapVert *buf;
 -  const MPoly *mp;
    uint a;
    int i, totuv, nverts;
  
@@@ -75,7 -73,13 +72,12 @@@
      return nullptr;
    }
  
+   bool *winding = nullptr;
+   if (use_winding) {
+     winding = static_cast<bool *>(MEM_callocN(sizeof(*winding) * totpoly, "winding"));
+   }
+ 
 -  mp = mpoly;
 -  for (a = 0; a < totpoly; a++, mp++) {
 +  for (a = 0; a < totpoly; a++) {
      if (!selected || (!(hide_poly && hide_poly[a]) && (select_poly && select_poly[a]))) {
        float(*tf_uv)[2] = nullptr;
  
diff --cc source/blender/blenkernel/intern/multires_reshape.hh
index 01beb6dc04c,8e112f18d7b..417944b7d89
--- a/source/blender/blenkernel/intern/multires_reshape.hh
+++ b/source/blender/blenkernel/intern/multires_reshape.hh
@@@ -31,12 -32,11 +31,12 @@@ struct MultiresReshapeContext 
  
    /* Base mesh from original object.
     * NOTE: Does NOT include any leading modifiers in it. */
-   struct Mesh *base_mesh;
+   Mesh *base_mesh;
    const float (*base_positions)[3];
-   const struct MEdge *base_edges;
-   const struct MPoly *base_polys;
+   const MEdge *base_edges;
+   const MPoly *base_polys;
 -  const MLoop *base_loops;
 +  const int *base_corner_verts;
 +  const int *base_corner_edges;
  
    /* Subdivision surface created for multires modifier.
     *
diff --cc source/blender/bmesh/intern/bmesh_mesh_convert.cc
index ced5178c58c,97b33a72d77..1b63da4925a
--- a/source/blender/bmesh/intern/bmesh_mesh_convert.cc
+++ b/source/blender/bmesh/intern/bmesh_mesh_convert.cc
@@@ -111,10 -111,21 +111,22 @@@ using blender::MutableSpan
  using blender::Span;
  using blender::StringRef;
  
+ static char bm_edge_flag_from_mflag(const short mflag)
+ {
+   return ((mflag & ME_SEAM) ? BM_ELEM_SEAM : 0) | ((mflag & ME_EDGEDRAW) ? BM_ELEM_DRAW : 0);
+ }
+ 
+ static short bm_edge_flag_to_mflag(const BMEdge *e)
+ {
+   const char hflag = e->head.hflag;
+ 
+   return ((hflag & BM_ELEM_SEAM) ? ME_SEAM : 0) | ((hflag & BM_ELEM_DRAW) ? ME_EDGEDRAW : 0);
+ }
+ 
  /* Static function for alloc (duplicate in modifiers_bmesh.c) */
  static BMFace *bm_face_create_from_mpoly(BMesh &bm,
 -                                         Span<MLoop> loops,
 +                                         Span<int> poly_verts,
 +                                         Span<int> poly_edges,
                                           Span<BMVert *> vtable,
                                           Span<BMEdge *> etable)
  {



More information about the Bf-blender-cvs mailing list