[Bf-blender-cvs] [85abac7e878] master: Cleanup: Move customdata.c to C++

Hans Goudey noreply at git.blender.org
Sat Dec 25 21:28:33 CET 2021


Commit: 85abac7e87872dfe70635ab4a75ed5e1acec0e88
Author: Hans Goudey
Date:   Sat Dec 25 14:28:22 2021 -0600
Branches: master
https://developer.blender.org/rB85abac7e87872dfe70635ab4a75ed5e1acec0e88

Cleanup: Move customdata.c to C++

Differential Revision: https://developer.blender.org/D13666

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

M	source/blender/blenkernel/CMakeLists.txt
R085	source/blender/blenkernel/intern/customdata.c	source/blender/blenkernel/intern/customdata.cc
M	source/blender/blenkernel/intern/data_transfer_intern.h

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

diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index cff9bd845ec..fe33abd17c0 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -126,7 +126,7 @@ set(SRC
   intern/curve_eval.cc
   intern/curve_to_mesh_convert.cc
   intern/curveprofile.cc
-  intern/customdata.c
+  intern/customdata.cc
   intern/customdata_file.c
   intern/data_transfer.c
   intern/deform.c
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.cc
similarity index 85%
rename from source/blender/blenkernel/intern/customdata.c
rename to source/blender/blenkernel/intern/customdata.cc
index d0ae2fee67c..30ba3500c5d 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.cc
@@ -69,7 +69,7 @@
 #define CUSTOMDATA_GROW 5
 
 /* ensure typemap size is ok */
-BLI_STATIC_ASSERT(ARRAY_SIZE(((CustomData *)NULL)->typemap) == CD_NUMTYPES, "size mismatch");
+BLI_STATIC_ASSERT(ARRAY_SIZE(((CustomData *)nullptr)->typemap) == CD_NUMTYPES, "size mismatch");
 
 static CLG_LogRef LOG = {"bke.customdata"};
 
@@ -94,7 +94,7 @@ bool CustomData_MeshMasks_are_matching(const CustomData_MeshMasks *mask_ref,
 }
 
 /********************* Layer type information **********************/
-typedef struct LayerTypeInfo {
+struct LayerTypeInfo {
   int size; /* the memory size of one element of this layer's data */
 
   /** name of the struct used, for file writing */
@@ -105,7 +105,7 @@ typedef struct LayerTypeInfo {
   /**
    * default layer name.
    *
-   * \note when NULL this is a way to ensure there is only ever one item
+   * \note when null this is a way to ensure there is only ever one item
    * see: CustomData_layertype_is_singleton().
    */
   const char *defaultname;
@@ -113,7 +113,7 @@ typedef struct LayerTypeInfo {
   /**
    * a function to copy count elements of this layer's data
    * (deep copy if appropriate)
-   * if NULL, memcpy is used
+   * if null, memcpy is used
    */
   cd_copy copy;
 
@@ -128,7 +128,7 @@ typedef struct LayerTypeInfo {
   /**
    * a function to interpolate between count source elements of this
    * layer's data and store the result in dest
-   * if weights == NULL or sub_weights == NULL, they should default to 1
+   * if weights == null or sub_weights == null, they should default to 1
    *
    * weights gives the weight for each element in sources
    * sub_weights gives the sub-element weights for each element in sources
@@ -146,7 +146,7 @@ typedef struct LayerTypeInfo {
   void (*swap)(void *data, const int *corner_indices);
 
   /**
-   * a function to set a layer's data to default values. if NULL, the
+   * a function to set a layer's data to default values. if null, the
    * default is assumed to be all zeros */
   void (*set_default)(void *data, int count);
 
@@ -171,9 +171,9 @@ typedef struct LayerTypeInfo {
   size_t (*filesize)(CDataFile *cdf, const void *data, int count);
 
   /** a function to determine max allowed number of layers,
-   * should be NULL or return -1 if no limit */
-  int (*layers_max)(void);
-} LayerTypeInfo;
+   * should be null or return -1 if no limit */
+  int (*layers_max)();
+};
 
 static void layerCopy_mdeformvert(const void *source, void *dest, int count)
 {
@@ -182,17 +182,17 @@ static void layerCopy_mdeformvert(const void *source, void *dest, int count)
   memcpy(dest, source, count * size);
 
   for (i = 0; i < count; i++) {
-    MDeformVert *dvert = POINTER_OFFSET(dest, i * size);
+    MDeformVert *dvert = static_cast<MDeformVert *>(POINTER_OFFSET(dest, i * size));
 
     if (dvert->totweight) {
-      MDeformWeight *dw = MEM_malloc_arrayN(
-          dvert->totweight, sizeof(*dw), "layerCopy_mdeformvert dw");
+      MDeformWeight *dw = static_cast<MDeformWeight *>(
+          MEM_malloc_arrayN(dvert->totweight, sizeof(*dw), __func__));
 
       memcpy(dw, dvert->dw, dvert->totweight * sizeof(*dw));
       dvert->dw = dw;
     }
     else {
-      dvert->dw = NULL;
+      dvert->dw = nullptr;
     }
   }
 }
@@ -200,11 +200,11 @@ static void layerCopy_mdeformvert(const void *source, void *dest, int count)
 static void layerFree_mdeformvert(void *data, int count, int size)
 {
   for (int i = 0; i < count; i++) {
-    MDeformVert *dvert = POINTER_OFFSET(data, i * size);
+    MDeformVert *dvert = static_cast<MDeformVert *>(POINTER_OFFSET(data, i * size));
 
     if (dvert->dw) {
       MEM_freeN(dvert->dw);
-      dvert->dw = NULL;
+      dvert->dw = nullptr;
       dvert->totweight = 0;
     }
   }
@@ -216,8 +216,8 @@ static void layerCopy_bmesh_elem_py_ptr(const void *UNUSED(source), void *dest,
   const int size = sizeof(void *);
 
   for (int i = 0; i < count; i++) {
-    void **ptr = POINTER_OFFSET(dest, i * size);
-    *ptr = NULL;
+    void **ptr = (void **)POINTER_OFFSET(dest, i * size);
+    *ptr = nullptr;
   }
 }
 
@@ -231,9 +231,9 @@ void bpy_bm_generic_invalidate(struct BPy_BMGeneric *UNUSED(self))
 static void layerFree_bmesh_elem_py_ptr(void *data, int count, int size)
 {
   for (int i = 0; i < count; i++) {
-    void **ptr = POINTER_OFFSET(data, i * size);
+    void **ptr = (void **)POINTER_OFFSET(data, i * size);
     if (*ptr) {
-      bpy_bm_generic_invalidate(*ptr);
+      bpy_bm_generic_invalidate(static_cast<BPy_BMGeneric *>(*ptr));
     }
   }
 }
@@ -251,14 +251,14 @@ static void layerInterp_mdeformvert(const void **sources,
     MDeformWeight dw;
   };
 
-  MDeformVert *dvert = dest;
-  struct MDeformWeight_Link *dest_dwlink = NULL;
+  MDeformVert *dvert = static_cast<MDeformVert *>(dest);
+  struct MDeformWeight_Link *dest_dwlink = nullptr;
   struct MDeformWeight_Link *node;
 
   /* build a list of unique def_nrs for dest */
   int totweight = 0;
   for (int i = 0; i < count; i++) {
-    const MDeformVert *source = sources[i];
+    const MDeformVert *source = static_cast<const MDeformVert *>(sources[i]);
     float interp_weight = weights[i];
 
     for (int j = 0; j < source->totweight; j++) {
@@ -280,7 +280,8 @@ static void layerInterp_mdeformvert(const void **sources,
 
       /* if this def_nr is not in the list, add it */
       if (!node) {
-        struct MDeformWeight_Link *tmp_dwlink = alloca(sizeof(*tmp_dwlink));
+        struct MDeformWeight_Link *tmp_dwlink = static_cast<MDeformWeight_Link *>(
+            alloca(sizeof(*tmp_dwlink)));
         tmp_dwlink->dw.def_nr = dw->def_nr;
         tmp_dwlink->dw.weight = weight;
 
@@ -305,7 +306,8 @@ static void layerInterp_mdeformvert(const void **sources,
     }
 
     if (totweight) {
-      dvert->dw = MEM_malloc_arrayN(totweight, sizeof(*dvert->dw), __func__);
+      dvert->dw = static_cast<MDeformWeight *>(
+          MEM_malloc_arrayN(totweight, sizeof(*dvert->dw), __func__));
     }
   }
 
@@ -346,7 +348,7 @@ static void layerInterp_normal(const void **sources,
 static bool layerValidate_normal(void *data, const uint totitems, const bool do_fixes)
 {
   static const float no_default[3] = {0.0f, 0.0f, 1.0f}; /* Z-up default normal... */
-  float(*no)[3] = data;
+  float(*no)[3] = (float(*)[3])data;
   bool has_errors = false;
 
   for (int i = 0; i < totitems; i++, no++) {
@@ -372,8 +374,8 @@ static void layerCopyValue_normal(const void *source,
                                   const int mixmode,
                                   const float mixfactor)
 {
-  const float *no_src = source;
-  float *no_dst = dest;
+  const float *no_src = (const float *)source;
+  float *no_dst = (float *)dest;
   float no_tmp[3];
 
   if (ELEM(mixmode,
@@ -416,13 +418,13 @@ static void layerCopy_tface(const void *source, void *dest, int count)
 static void layerInterp_tface(
     const void **sources, const float *weights, const float *sub_weights, int count, void *dest)
 {
-  MTFace *tf = dest;
+  MTFace *tf = static_cast<MTFace *>(dest);
   float uv[4][2] = {{0.0f}};
 
   const float *sub_weight = sub_weights;
   for (int i = 0; i < count; i++) {
     const float interp_weight = weights[i];
-    const MTFace *src = sources[i];
+    const MTFace *src = static_cast<const MTFace *>(sources[i]);
 
     for (int j = 0; j < 4; j++) {
       if (sub_weights) {
@@ -443,7 +445,7 @@ static void layerInterp_tface(
 
 static void layerSwap_tface(void *data, const int *corner_indices)
 {
-  MTFace *tf = data;
+  MTFace *tf = static_cast<MTFace *>(data);
   float uv[4][2];
 
   for (int j = 0; j < 4; j++) {
@@ -464,7 +466,7 @@ static void layerDefault_tface(void *data, int count)
   }
 }
 
-static int layerMaxNum_tface(void)
+static int layerMaxNum_tface()
 {
   return MAX_MTFACE;
 }
@@ -491,7 +493,7 @@ static void layerInterp_propFloat(const void **sources,
 
 static bool layerValidate_propFloat(void *data, const uint totitems, const bool do_fixes)
 {
-  MFloatProperty *fp = data;
+  MFloatProperty *fp = static_cast<MFloatProperty *>(data);
   bool has_errors = false;
 
   for (int i = 0; i < totitems; i++, fp++) {
@@ -529,13 +531,13 @@ static void layerCopy_origspace_face(const void *source, void *dest, int count)
 static void layerInterp_origspace_face(
     const void **sources, const float *weights, const float *sub_weights, int count, void *dest)
 {
-  OrigSpaceFace *osf = dest;
+  OrigSpaceFace *osf = static_cast<OrigSpaceFace *>(dest);
   float uv[4][2] = {{0.0f}};
 
   const float *sub_weight = sub_weights;
   for (int i = 0; i < count; i++) {
     const float interp_weight = weights[i];
-    const OrigSpaceFace *src = sources[i];
+    const OrigSpaceFace *src = static_cast<const OrigSpaceFace *>(sources[i]);
 
     for (int j = 0; j < 4; j++) {
       if (sub_weights) {
@@ -555,7 +557,7 @@ static void layerInterp_origspace_face(
 
 static void layerSwap_origspace_face(void *data, const int *corner_indices)
 {
-  OrigSpaceFace *osf = data;
+  OrigSpaceFace *osf = static_cast<OrigSpaceFace *>(data);
   float uv[4][2];
 
   for (int j = 0; j < 4; j++) {
@@ -576,7 +578,7 @@ static void layerDefault_origspace_face(void *data, int count)
 
 static void layerSwap_mdisps(void *data, const int *ci)
 {
-  MDisps *s = data;
+  MDisps *s = static_cast<MDisps *>(data);
 
   if (s->disps) {
     int nverts = (ci[1] == 3) ? 4 : 3; /* silly way to know vertex count of face */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list