[Bf-blender-cvs] [7ea1b5a5e45] refactor-mesh-corners-generic: Merge branch 'master' into refactor-mesh-corners-generic

Hans Goudey noreply at git.blender.org
Thu Jan 26 23:10:24 CET 2023


Commit: 7ea1b5a5e453ecde1eceb6010f7bd5cde4dc825a
Author: Hans Goudey
Date:   Thu Jan 26 15:52:23 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB7ea1b5a5e453ecde1eceb6010f7bd5cde4dc825a

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

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



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

diff --cc source/blender/blenkernel/intern/cdderivedmesh.cc
index 720c78d283e,9cf5f7ecedf..580cd6966d8
--- a/source/blender/blenkernel/intern/cdderivedmesh.cc
+++ b/source/blender/blenkernel/intern/cdderivedmesh.cc
@@@ -234,12 -223,12 +231,14 @@@ static DerivedMesh *cdDM_from_mesh_ex(M
    /* Though this may be an unnecessary calculation, simply retrieving the layer may return nothing
     * or dirty normals. */
    cddm->vert_normals = BKE_mesh_vertex_normals_ensure(mesh);
-   cddm->medge = CustomData_get_layer_for_write(&dm->edgeData, CD_MEDGE, mesh->totedge);
-   cddm->corner_verts = CustomData_get_layer_named_for_write(
-       &dm->loopData, CD_PROP_INT32, ".corner_vert", mesh->totloop);
-   cddm->corner_edges = CustomData_get_layer_named_for_write(
-       &dm->loopData, CD_PROP_INT32, ".corner_edge", mesh->totloop);
-   cddm->mpoly = CustomData_get_layer_for_write(&dm->polyData, CD_MPOLY, mesh->totpoly);
+   cddm->medge = static_cast<MEdge *>(
+       CustomData_get_layer_for_write(&dm->edgeData, CD_MEDGE, mesh->totedge));
 -  cddm->mloop = static_cast<MLoop *>(
 -      CustomData_get_layer_for_write(&dm->loopData, CD_MLOOP, mesh->totloop));
++  cddm->corner_verts = static_cast<int *>(CustomData_get_layer_named_for_write(
++      &dm->loopData, CD_PROP_INT32, ".corner_vert", mesh->totloop));
++  cddm->corner_edges = static_cast<int *>(CustomData_get_layer_named_for_write(
++      &dm->loopData, CD_PROP_INT32, ".corner_edge", mesh->totloop));
+   cddm->mpoly = static_cast<MPoly *>(
+       CustomData_get_layer_for_write(&dm->polyData, CD_MPOLY, mesh->totpoly));
  #if 0
    cddm->mface = CustomData_get_layer(&dm->faceData, CD_MFACE);
  #else
diff --cc source/blender/blenkernel/intern/deform.cc
index 103f5afdb98,dda4d098126..988a757b126
--- a/source/blender/blenkernel/intern/deform.cc
+++ b/source/blender/blenkernel/intern/deform.cc
@@@ -1106,8 -1103,8 +1101,8 @@@ void BKE_defvert_extract_vgroup_to_loop
  void BKE_defvert_extract_vgroup_to_polyweights(const MDeformVert *dvert,
                                                 const int defgroup,
                                                 const int verts_num,
 -                                               const MLoop *loops,
 +                                               const int *corner_verts,
-                                                const int UNUSED(loops_num),
+                                                const int /*loops_num*/,
                                                 const MPoly *polys,
                                                 const int polys_num,
                                                 const bool invert_vgroup,
@@@ -1126,10 -1124,10 +1122,10 @@@
        int j = mp->totloop;
        float w = 0.0f;
  
 -      for (; j--; ml++) {
 -        w += tmp_weights[ml->v];
 +      for (; j--; corner_vert++) {
 +        w += tmp_weights[*corner_vert];
        }
-       r_weights[i] = w / (float)mp->totloop;
+       r_weights[i] = w / float(mp->totloop);
      }
  
      MEM_freeN(tmp_weights);
diff --cc source/blender/blenkernel/intern/dynamicpaint.cc
index 79a8db6648b,9b30d34aabb..f4a8a2baf2f
--- a/source/blender/blenkernel/intern/dynamicpaint.cc
+++ b/source/blender/blenkernel/intern/dynamicpaint.cc
@@@ -1464,10 -1476,10 +1476,10 @@@ static void dynamicPaint_initAdjacencyD
    MEM_freeN(temp_data);
  }
  
- typedef struct DynamicPaintSetInitColorData {
+ struct DynamicPaintSetInitColorData {
    const DynamicPaintSurface *surface;
  
 -  const MLoop *mloop;
 +  const int *corner_verts;
    const float (*mloopuv)[2];
    const MLoopTri *mlooptri;
    const MLoopCol *mloopcol;
@@@ -1484,10 -1497,10 +1497,10 @@@ static void dynamic_paint_set_init_colo
    const PaintSurfaceData *sData = data->surface->data;
    PaintPoint *pPoint = (PaintPoint *)sData->type_data;
  
 -  const MLoop *mloop = data->mloop;
 +  const int *corner_verts = data->corner_verts;
    const MLoopTri *mlooptri = data->mlooptri;
    const float(*mloopuv)[2] = data->mloopuv;
-   struct ImagePool *pool = data->pool;
+   ImagePool *pool = data->pool;
    Tex *tex = data->surface->init_texture;
  
    const bool scene_color_manage = data->scene_color_manage;
@@@ -1627,14 -1642,14 +1642,14 @@@ static void dynamicPaint_setInitialColo
      if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) {
        struct ImagePool *pool = BKE_image_pool_new();
  
-       DynamicPaintSetInitColorData data = {
-           .surface = surface,
-           .corner_verts = corner_verts,
-           .mlooptri = mlooptri,
-           .mloopuv = mloopuv,
-           .pool = pool,
-           .scene_color_manage = scene_color_manage,
-       };
+       DynamicPaintSetInitColorData data{};
+       data.surface = surface;
 -      data.mloop = mloop;
++      data.corner_verts = corner_verts;
+       data.mlooptri = mlooptri;
+       data.mloopuv = mloopuv;
+       data.pool = pool;
+       data.scene_color_manage = scene_color_manage;
+ 
        TaskParallelSettings settings;
        BLI_parallel_range_settings_defaults(&settings);
        settings.use_threading = (tottri > 1000);
@@@ -1661,10 -1676,10 +1676,10 @@@
  
      /* For vertex surface, just copy colors from #MLoopCol. */
      if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) {
 -      const MLoop *mloop = BKE_mesh_loops(mesh);
 +      const int *corner_verts = BKE_mesh_corner_verts(mesh);
        const int totloop = mesh->totloop;
-       const MLoopCol *col = CustomData_get_layer_named(
-           &mesh->ldata, CD_PROP_BYTE_COLOR, surface->init_layername);
+       const MLoopCol *col = static_cast<const MLoopCol *>(
+           CustomData_get_layer_named(&mesh->ldata, CD_PROP_BYTE_COLOR, surface->init_layername));
        if (!col) {
          return;
        }
@@@ -1838,11 -1856,12 +1856,12 @@@ static void dynamic_paint_apply_surface
  
  static void dynamic_paint_apply_surface_vpaint_cb(void *__restrict userdata,
                                                    const int p_index,
-                                                   const TaskParallelTLS *__restrict UNUSED(tls))
+                                                   const TaskParallelTLS *__restrict /*tls*/)
  {
-   const DynamicPaintModifierApplyData *data = userdata;
+   const DynamicPaintModifierApplyData *data = static_cast<DynamicPaintModifierApplyData *>(
+       userdata);
  
 -  const MLoop *mloop = data->mloop;
 +  const int *corner_verts = data->corner_verts;
    const MPoly *mpoly = data->mpoly;
  
    const DynamicPaintSurface *surface = data->surface;
@@@ -2181,8 -2197,8 +2197,8 @@@ struct DynamicPaintCreateUVSurfaceData 
  
    const MLoopTri *mlooptri;
    const float (*mloopuv)[2];
 -  const MLoop *mloop;
 +  const int *corner_verts;
-   const int tottri;
+   int tottri;
  
    const Bounds2D *faceBB;
    uint32_t *active_points;
@@@ -2797,12 -2819,13 +2819,12 @@@ int dynamicPaint_createUVSurface(Scene 
    DynamicPaintCanvasSettings *canvas = surface->canvas;
    Mesh *mesh = dynamicPaint_canvas_mesh_get(canvas);
  
-   PaintUVPoint *tempPoints = NULL;
-   Vec3f *tempWeights = NULL;
-   const MLoopTri *mlooptri = NULL;
-   const float(*mloopuv)[2] = NULL;
+   PaintUVPoint *tempPoints = nullptr;
+   Vec3f *tempWeights = nullptr;
+   const MLoopTri *mlooptri = nullptr;
+   const float(*mloopuv)[2] = nullptr;
 -  const MLoop *mloop = nullptr;
  
-   Bounds2D *faceBB = NULL;
+   Bounds2D *faceBB = nullptr;
    int *final_index;
  
    *progress = 0.0f;
@@@ -2893,16 -2920,16 +2919,16 @@@
      *do_update = true;
  
      /* Loop through every pixel and check if pixel is uv-mapped on a canvas face. */
-     DynamicPaintCreateUVSurfaceData data = {
-         .surface = surface,
-         .tempPoints = tempPoints,
-         .tempWeights = tempWeights,
-         .mlooptri = mlooptri,
-         .mloopuv = mloopuv,
-         .corner_verts = corner_verts,
-         .tottri = tottri,
-         .faceBB = faceBB,
-     };
+     DynamicPaintCreateUVSurfaceData data{};
+     data.surface = surface;
+     data.tempPoints = tempPoints;
+     data.tempWeights = tempWeights;
+     data.mlooptri = mlooptri;
+     data.mloopuv = mloopuv;
 -    data.mloop = mloop;
++    data.corner_verts = corner_verts;
+     data.tottri = tottri;
+     data.faceBB = faceBB;
+ 
      {
        TaskParallelSettings settings;
        BLI_parallel_range_settings_defaults(&settings);
@@@ -3879,9 -3915,9 +3914,9 @@@ struct DynamicPaintPaintData 
  
    Mesh *mesh;
    const float (*positions)[3];
 -  const MLoop *mloop;
 +  const int *corner_verts;
    const MLoopTri *mlooptri;
-   const float brush_radius;
+   float brush_radius;
    const float *avg_brushNor;
    const Vec3f *brushVelocity;
  
@@@ -4235,9 -4272,10 +4271,9 @@@ static bool dynamicPaint_paintMesh(Deps
  {
    PaintSurfaceData *sData = surface->data;
    PaintBakeData *bData = sData->bData;
-   Mesh *mesh = NULL;
-   Vec3f *brushVelocity = NULL;
-   const MLoopTri *mlooptri = NULL;
+   Mesh *mesh = nullptr;
+   Vec3f *brushVelocity = nullptr;
+   const MLoopTri *mlooptri = nullptr;
 -  const MLoop *mloop = nullptr;
  
    if (brush->flags & MOD_DPAINT_USES_VELOCITY) {
      dynamicPaint_brushMeshCalculateVelocity(
@@@ -4307,22 -4345,22 +4343,22 @@@
            }
  
            /* loop through cell points and process brush */
-           DynamicPaintPaintData data = {
-               .surface = surface,
-               .brush = brush,
-               .brushOb = brushOb,
-               .scene = scene,
-               .timescale = timescale,
-               .c_index = c_index,
-               .mesh = mesh,
-               .positions = positions,
-               .corner_verts = corner_verts,
-               .mlooptri = mlooptri,
-               .brush_radius = brush_radius,
-               .avg_brushNor = avg_brushNor,
-               .brushVelocity = brushVelocity,
-               .treeData = &treeData,
-           };
+           DynamicPaintPaintData data{};
+           data.surface = surface;
+           data.brush = brush;
+           data.brushOb = brushOb;
+           data.scene = scene;
+           data.timescale = timescale;
+           data.c_index = c_index;
+           data.mesh = mesh;
+           data.positions = positions;
 -          

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list