[Bf-blender-cvs] [5f03931fc44] geometry-nodes-curve-support: Move displist.c to C++

Hans Goudey noreply at git.blender.org
Thu Apr 1 00:49:57 CEST 2021


Commit: 5f03931fc448832aceccbb0efd640b258eedea89
Author: Hans Goudey
Date:   Wed Mar 31 09:11:33 2021 -0500
Branches: geometry-nodes-curve-support
https://developer.blender.org/rB5f03931fc448832aceccbb0efd640b258eedea89

Move displist.c to C++

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

M	source/blender/blenkernel/CMakeLists.txt
R092	source/blender/blenkernel/intern/displist.c	source/blender/blenkernel/intern/displist.cc

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

diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 8fbf49b31d4..92327fc806d 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -117,7 +117,7 @@ set(SRC
   intern/customdata_file.c
   intern/data_transfer.c
   intern/deform.c
-  intern/displist.c
+  intern/displist.cc
   intern/displist_tangent.c
   intern/dynamicpaint.c
   intern/editlattice.c
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.cc
similarity index 92%
rename from source/blender/blenkernel/intern/displist.c
rename to source/blender/blenkernel/intern/displist.cc
index d4581991566..9be77e198e2 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.cc
@@ -85,7 +85,7 @@ void BKE_displist_free(ListBase *lb)
 {
   DispList *dl;
 
-  while ((dl = BLI_pophead(lb))) {
+  while ((dl = (DispList *)BLI_pophead(lb))) {
     BKE_displist_elem_free(dl);
   }
 }
@@ -98,7 +98,7 @@ DispList *BKE_displist_find_or_create(ListBase *lb, int type)
     }
   }
 
-  DispList *dl = MEM_callocN(sizeof(DispList), "find_disp");
+  DispList *dl = (DispList *)MEM_callocN(sizeof(DispList), "find_disp");
   dl->type = type;
   BLI_addtail(lb, dl);
 
@@ -132,14 +132,14 @@ void BKE_displist_copy(ListBase *lbn, ListBase *lb)
   BKE_displist_free(lbn);
 
   LISTBASE_FOREACH (const DispList *, dl, lb) {
-    DispList *dln = MEM_dupallocN(dl);
+    DispList *dln = (DispList *)MEM_dupallocN(dl);
     BLI_addtail(lbn, dln);
-    dln->verts = MEM_dupallocN(dl->verts);
-    dln->nors = MEM_dupallocN(dl->nors);
-    dln->index = MEM_dupallocN(dl->index);
+    dln->verts = (float *)MEM_dupallocN(dl->verts);
+    dln->nors = (float *)MEM_dupallocN(dl->nors);
+    dln->index = (int *)MEM_dupallocN(dl->index);
 
     if (dl->bevel_split) {
-      dln->bevel_split = MEM_dupallocN(dl->bevel_split);
+      dln->bevel_split = (unsigned int *)MEM_dupallocN(dl->bevel_split);
     }
   }
 }
@@ -154,7 +154,7 @@ void BKE_displist_normals_add(ListBase *lb)
   LISTBASE_FOREACH (DispList *, dl, lb) {
     if (dl->type == DL_INDEX3) {
       if (dl->nors == NULL) {
-        dl->nors = MEM_callocN(sizeof(float[3]), "dlnors");
+        dl->nors = (float *)MEM_callocN(sizeof(float[3]), "dlnors");
 
         if (dl->flag & DL_BACK_CURVE) {
           dl->nors[2] = -1.0f;
@@ -166,7 +166,7 @@ void BKE_displist_normals_add(ListBase *lb)
     }
     else if (dl->type == DL_SURF) {
       if (dl->nors == NULL) {
-        dl->nors = MEM_callocN(sizeof(float[3]) * dl->nr * dl->parts, "dlnors");
+        dl->nors = (float *)MEM_callocN(sizeof(float[3]) * dl->nr * dl->parts, "dlnors");
 
         vdata = dl->verts;
         ndata = dl->nors;
@@ -344,9 +344,9 @@ static void curve_to_displist(const Curve *cu,
        * and resolution > 1.  */
       const bool use_cyclic_sample = is_cyclic && (samples_len != 2);
 
-      DispList *dl = MEM_callocN(sizeof(DispList), __func__);
+      DispList *dl = (DispList *)MEM_callocN(sizeof(DispList), __func__);
       /* Add one to the length because of 'BKE_curve_forward_diff_bezier'. */
-      dl->verts = MEM_mallocN(sizeof(float[3]) * (samples_len + 1), "dlverts");
+      dl->verts = (float *)MEM_mallocN(sizeof(float[3]) * (samples_len + 1), "dlverts");
       BLI_addtail(r_dispbase, dl);
       dl->parts = 1;
       dl->nr = samples_len;
@@ -399,8 +399,8 @@ static void curve_to_displist(const Curve *cu,
     }
     else if (nu->type == CU_NURBS) {
       const int len = (resolution * SEGMENTSU(nu));
-      DispList *dl = MEM_callocN(sizeof(DispList), __func__);
-      dl->verts = MEM_mallocN(len * sizeof(float[3]), "dlverts");
+      DispList *dl = (DispList *)MEM_callocN(sizeof(DispList), __func__);
+      dl->verts = (float *)MEM_mallocN(len * sizeof(float[3]), "dlverts");
       BLI_addtail(r_dispbase, dl);
       dl->parts = 1;
       dl->nr = len;
@@ -412,8 +412,8 @@ static void curve_to_displist(const Curve *cu,
     }
     else if (nu->type == CU_POLY) {
       const int len = nu->pntsu;
-      DispList *dl = MEM_callocN(sizeof(DispList), __func__);
-      dl->verts = MEM_mallocN(len * sizeof(float[3]), "dlverts");
+      DispList *dl = (DispList *)MEM_callocN(sizeof(DispList), __func__);
+      dl->verts = (float *)MEM_mallocN(len * sizeof(float[3]), "dlverts");
       BLI_addtail(r_dispbase, dl);
       dl->parts = 1;
       dl->nr = len;
@@ -509,7 +509,7 @@ void BKE_displist_fill(const ListBase *dispbase,
 
     const int triangles_len = BLI_scanfill_calc_ex(&sf_ctx, scanfill_flag, normal_proj);
     if (totvert != 0 && triangles_len != 0) {
-      DispList *dlnew = MEM_callocN(sizeof(DispList), "filldisplist");
+      DispList *dlnew = (DispList *)MEM_callocN(sizeof(DispList), "filldisplist");
       dlnew->type = DL_INDEX3;
       dlnew->flag = (dl_flag_accum & (DL_BACK_CURVE | DL_FRONT_CURVE));
       dlnew->rt = (dl_rt_accum & CU_SMOOTH);
@@ -517,8 +517,8 @@ void BKE_displist_fill(const ListBase *dispbase,
       dlnew->nr = totvert;
       dlnew->parts = triangles_len;
 
-      dlnew->index = MEM_mallocN(sizeof(int[3]) * triangles_len, "dlindex");
-      dlnew->verts = MEM_mallocN(sizeof(float[3]) * totvert, "dlverts");
+      dlnew->index = (int *)MEM_mallocN(sizeof(int[3]) * triangles_len, "dlindex");
+      dlnew->verts = (float *)MEM_mallocN(sizeof(float[3]) * totvert, "dlverts");
 
       /* vert data */
       int i;
@@ -564,9 +564,9 @@ static void bevels_to_filledpoly(const Curve *cu, ListBase *dispbase)
     if (dl->type == DL_SURF) {
       if ((dl->flag & DL_CYCL_V) && (dl->flag & DL_CYCL_U) == 0) {
         if ((cu->flag & CU_BACK) && (dl->flag & DL_BACK_CURVE)) {
-          DispList *dlnew = MEM_callocN(sizeof(DispList), __func__);
+          DispList *dlnew = (DispList *)MEM_callocN(sizeof(DispList), __func__);
           BLI_addtail(&front, dlnew);
-          dlnew->verts = MEM_mallocN(sizeof(float[3]) * dl->parts, __func__);
+          dlnew->verts = (float *)MEM_mallocN(sizeof(float[3]) * dl->parts, __func__);
           dlnew->nr = dl->parts;
           dlnew->parts = 1;
           dlnew->type = DL_POLY;
@@ -583,9 +583,9 @@ static void bevels_to_filledpoly(const Curve *cu, ListBase *dispbase)
           }
         }
         if ((cu->flag & CU_FRONT) && (dl->flag & DL_FRONT_CURVE)) {
-          DispList *dlnew = MEM_callocN(sizeof(DispList), __func__);
+          DispList *dlnew = (DispList *)MEM_callocN(sizeof(DispList), __func__);
           BLI_addtail(&back, dlnew);
-          dlnew->verts = MEM_mallocN(sizeof(float[3]) * dl->parts, __func__);
+          dlnew->verts = (float *)MEM_mallocN(sizeof(float[3]) * dl->parts, __func__);
           dlnew->nr = dl->parts;
           dlnew->parts = 1;
           dlnew->type = DL_POLY;
@@ -637,16 +637,16 @@ static void curve_to_filledpoly(Curve *cu, ListBase *UNUSED(nurb), ListBase *dis
  */
 static float displist_calc_taper(Depsgraph *depsgraph, Scene *scene, Object *taperobj, float fac)
 {
-  DispList *dl;
-
   if (taperobj == NULL || taperobj->type != OB_CURVE) {
     return 1.0;
   }
 
-  dl = taperobj->runtime.curve_cache ? taperobj->runtime.curve_cache->disp.first : NULL;
+  DispList *dl = taperobj->runtime.curve_cache ?
+                     (DispList *)taperobj->runtime.curve_cache->disp.first :
+                     NULL;
   if (dl == NULL) {
     BKE_displist_make_curveTypes(depsgraph, scene, taperobj, false, false);
-    dl = taperobj->runtime.curve_cache->disp.first;
+    dl = (DispList *)taperobj->runtime.curve_cache->disp.first;
   }
   if (dl) {
     float minx, dx, *fp;
@@ -696,7 +696,8 @@ void BKE_displist_make_mball(Depsgraph *depsgraph, Scene *scene, Object *ob)
       BKE_displist_free(&(ob->runtime.curve_cache->disp));
     }
     else {
-      ob->runtime.curve_cache = MEM_callocN(sizeof(CurveCache), "CurveCache for MBall");
+      ob->runtime.curve_cache = (CurveCache *)MEM_callocN(sizeof(CurveCache),
+                                                          "CurveCache for MBall");
     }
 
     BKE_mball_polygonize(depsgraph, scene, ob, &ob->runtime.curve_cache->disp);
@@ -743,7 +744,7 @@ static ModifierData *curve_get_tessellate_point(Scene *scene,
 
   pretessellatePoint = NULL;
   for (; md; md = md->next) {
-    const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
+    const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
 
     if (!BKE_modifier_is_enabled(scene, md, required_mode)) {
       continue;
@@ -780,10 +781,10 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
   VirtualModifierData virtualModifierData;
   ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData);
   ModifierData *pretessellatePoint;
-  Curve *cu = ob->data;
+  Curve *cu = (Curve *)ob->data;
   int numElems = 0, numVerts = 0;
   const bool editmode = (!for_render && (cu->editnurb || cu->editfont));
-  ModifierApplyFlag apply_flag = 0;
+  ModifierApplyFlag apply_flag = (ModifierApplyFlag)0;
   float(*deformedVerts)[3] = NULL;
   float *keyVerts = NULL;
   int required_mode;
@@ -792,10 +793,10 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
   BKE_modifiers_clear_errors(ob);
 
   if (editmode) {
-    apply_flag |= MOD_APPLY_USECACHE;
+    apply_flag = MOD_APPLY_USECACHE;
   }
   if (for_render) {
-    apply_flag |= MOD_APPLY_RENDER;
+    apply_flag = MOD_APPLY_RENDER;
     required_mode = eModifierMode_Render;
   }
   else {
@@ -826,7 +827,7 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
 
   if (pretessellatePoint) {
     for (; md; md = md->next) {
-      const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
+      const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
 
       if (!BKE_modifier_is_enabled(scene, md, required_mode)) {
         continue;
@@ -872,7 +873,7 @@ static float (*displist_vert_coords_alloc(ListBase *dispbase, int *r_vert_len))[
     *r_vert_len += (dl->type == DL_INDEX3) ? dl->nr : dl->parts * dl->nr;
   }
 
-  allverts = MEM_mallocN(sizeof(float[3]) * (*r_vert_len), "displist_vert_coords_alloc allverts");
+  allverts = (float(*)[3])MEM_mallocN(sizeof(float[3]) * (*r_vert_len), __func__

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list