[Bf-blender-cvs] [73b047bcd43] master: Cleanup: Changed keyframe_keylist to CPP.

Jeroen Bakker noreply at git.blender.org
Mon Aug 9 13:00:33 CEST 2021


Commit: 73b047bcd431c57687bc0c501dea97f44bd28b22
Author: Jeroen Bakker
Date:   Mon Aug 9 12:59:28 2021 +0200
Branches: master
https://developer.blender.org/rB73b047bcd431c57687bc0c501dea97f44bd28b22

Cleanup: Changed keyframe_keylist to CPP.

Just a straight-forward change. Not utilizing CPP features.

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

M	source/blender/editors/animation/CMakeLists.txt
R081	source/blender/editors/animation/keyframes_keylist.c	source/blender/editors/animation/keyframes_keylist.cc

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

diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt
index 7a53b54b5a4..d9f52d90766 100644
--- a/source/blender/editors/animation/CMakeLists.txt
+++ b/source/blender/editors/animation/CMakeLists.txt
@@ -47,7 +47,7 @@ set(SRC
   keyframes_draw.c
   keyframes_edit.c
   keyframes_general.c
-  keyframes_keylist.c
+  keyframes_keylist.cc
   keyframing.c
   keyingsets.c
   time_scrub_ui.c
diff --git a/source/blender/editors/animation/keyframes_keylist.c b/source/blender/editors/animation/keyframes_keylist.cc
similarity index 81%
rename from source/blender/editors/animation/keyframes_keylist.c
rename to source/blender/editors/animation/keyframes_keylist.cc
index 98aedb9cd0c..85036efc983 100644
--- a/source/blender/editors/animation/keyframes_keylist.c
+++ b/source/blender/editors/animation/keyframes_keylist.cc
@@ -23,10 +23,10 @@
 
 /* System includes ----------------------------------------------------- */
 
-#include <float.h>
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
+#include <cfloat>
+#include <cmath>
+#include <cstdlib>
+#include <cstring>
 
 #include "MEM_guardedalloc.h"
 
@@ -47,11 +47,12 @@
 #include "ED_anim_api.h"
 #include "ED_keyframes_keylist.h"
 
+extern "C" {
 /* *************************** Keyframe Processing *************************** */
 
-typedef struct AnimKeylist {
+struct AnimKeylist {
   DLRBT_Tree keys;
-} AnimKeylist;
+};
 
 static void ED_keylist_init(AnimKeylist *keylist)
 {
@@ -60,7 +61,7 @@ static void ED_keylist_init(AnimKeylist *keylist)
 
 AnimKeylist *ED_keylist_create(void)
 {
-  AnimKeylist *keylist = MEM_callocN(sizeof(AnimKeylist), __func__);
+  AnimKeylist *keylist = static_cast<AnimKeylist *>(MEM_callocN(sizeof(AnimKeylist), __func__));
   ED_keylist_init(keylist);
   return keylist;
 }
@@ -93,18 +94,19 @@ const ActKeyColumn *ED_keylist_find_prev(const AnimKeylist *keylist, float cfra)
 const ActKeyColumn *ED_keylist_find_any_between(const AnimKeylist *keylist,
                                                 const Range2f frame_range)
 {
-  for (const ActKeyColumn *ak = keylist->keys.root; ak;
-       ak = (ak->cfra < frame_range.min) ? ak->right : ak->left) {
+  for (const ActKeyColumn *ak = static_cast<const ActKeyColumn *>(keylist->keys.root); ak;
+       ak = static_cast<const ActKeyColumn *>((ak->cfra < frame_range.min) ? ak->right :
+                                                                             ak->left)) {
     if (range2f_in_range(&frame_range, ak->cfra)) {
       return ak;
     }
   }
-  return NULL;
+  return nullptr;
 }
 
 bool ED_keylist_is_empty(const struct AnimKeylist *keylist)
 {
-  return keylist->keys.root == NULL;
+  return keylist->keys.root == nullptr;
 }
 
 const struct ListBase *ED_keylist_listbase(const AnimKeylist *keylist)
@@ -145,7 +147,7 @@ BLI_INLINE bool is_cfra_lt(const float a, const float b)
 short compare_ak_cfraPtr(void *node, void *data)
 {
   ActKeyColumn *ak = (ActKeyColumn *)node;
-  const float *cframe = data;
+  const float *cframe = static_cast<const float *>(data);
   const float val = *cframe;
 
   if (is_cfra_eq(val, ak->cfra)) {
@@ -161,13 +163,13 @@ short compare_ak_cfraPtr(void *node, void *data)
 /* --------------- */
 
 /* Set of references to three logically adjacent keys. */
-typedef struct BezTripleChain {
+struct BezTripleChain {
   /* Current keyframe. */
   BezTriple *cur;
 
-  /* Logical neighbors. May be NULL. */
+  /* Logical neighbors. May be nullptr. */
   BezTriple *prev, *next;
-} BezTripleChain;
+};
 
 /* Categorize the interpolation & handle type of the keyframe. */
 static eKeyframeHandleDrawOpts bezt_handle_type(const BezTriple *bezt)
@@ -192,7 +194,7 @@ static eKeyframeHandleDrawOpts bezt_handle_type(const BezTriple *bezt)
  */
 static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
 {
-  if (chain->prev == NULL && chain->next == NULL) {
+  if (chain->prev == nullptr && chain->next == nullptr) {
     return KEYFRAME_EXTREME_NONE;
   }
 
@@ -227,13 +229,15 @@ static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
   if (prev_y < cur_y || next_y < cur_y) {
     const bool is_overshoot = (handle_l > cur_y || handle_r > cur_y);
 
-    return KEYFRAME_EXTREME_MAX | (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0);
+    return static_cast<eKeyframeExtremeDrawOpts>(KEYFRAME_EXTREME_MAX |
+                                                 (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0));
   }
 
   if (prev_y > cur_y || next_y > cur_y) {
     const bool is_overshoot = (handle_l < cur_y || handle_r < cur_y);
 
-    return KEYFRAME_EXTREME_MIN | (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0);
+    return static_cast<eKeyframeExtremeDrawOpts>(KEYFRAME_EXTREME_MIN |
+                                                 (is_overshoot ? KEYFRAME_EXTREME_MIXED : 0));
   }
 
   return KEYFRAME_EXTREME_NONE;
@@ -242,7 +246,7 @@ static eKeyframeExtremeDrawOpts bezt_extreme_type(const BezTripleChain *chain)
 /* Comparator callback used for ActKeyColumns and BezTripleChain */
 static short compare_ak_bezt(void *node, void *data)
 {
-  BezTripleChain *chain = data;
+  BezTripleChain *chain = static_cast<BezTripleChain *>(data);
 
   return compare_ak_cfraPtr(node, &chain->cur->vec[1][0]);
 }
@@ -250,8 +254,9 @@ static short compare_ak_bezt(void *node, void *data)
 /* New node callback used for building ActKeyColumns from BezTripleChain */
 static DLRBT_Node *nalloc_ak_bezt(void *data)
 {
-  ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumn");
-  const BezTripleChain *chain = data;
+  ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+      MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumn"));
+  const BezTripleChain *chain = static_cast<const BezTripleChain *>(data);
   const BezTriple *bezt = chain->cur;
 
   /* store settings based on state of BezTriple */
@@ -270,8 +275,8 @@ static DLRBT_Node *nalloc_ak_bezt(void *data)
 /* Node updater callback used for building ActKeyColumns from BezTripleChain */
 static void nupdate_ak_bezt(void *node, void *data)
 {
-  ActKeyColumn *ak = node;
-  const BezTripleChain *chain = data;
+  ActKeyColumn *ak = static_cast<ActKeyColumn *>(node);
+  const BezTripleChain *chain = static_cast<const BezTripleChain *>(data);
   const BezTriple *bezt = chain->cur;
 
   /* set selection status and 'touched' status */
@@ -319,7 +324,8 @@ static short compare_ak_gpframe(void *node, void *data)
 /* New node callback used for building ActKeyColumns from GPencil frames */
 static DLRBT_Node *nalloc_ak_gpframe(void *data)
 {
-  ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF");
+  ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+      MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF"));
   const bGPDframe *gpf = (bGPDframe *)data;
 
   /* store settings based on state of BezTriple */
@@ -372,7 +378,8 @@ static short compare_ak_masklayshape(void *node, void *data)
 /* New node callback used for building ActKeyColumns from GPencil frames */
 static DLRBT_Node *nalloc_ak_masklayshape(void *data)
 {
-  ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF");
+  ActKeyColumn *ak = static_cast<ActKeyColumn *>(
+      MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF"));
   const MaskLayerShape *masklay_shape = (const MaskLayerShape *)data;
 
   /* store settings based on state of BezTriple */
@@ -405,7 +412,7 @@ static void nupdate_ak_masklayshape(void *node, void *data)
 /* Add the given BezTriple to the given 'list' of Keyframes */
 static void add_bezt_to_keycolumns_list(AnimKeylist *keylist, BezTripleChain *bezt)
 {
-  if (ELEM(NULL, keylist, bezt)) {
+  if (ELEM(nullptr, keylist, bezt)) {
     return;
   }
 
@@ -415,7 +422,7 @@ static void add_bezt_to_keycolumns_list(AnimKeylist *keylist, BezTripleChain *be
 /* Add the given GPencil Frame to the given 'list' of Keyframes */
 static void add_gpframe_to_keycolumns_list(AnimKeylist *keylist, bGPDframe *gpf)
 {
-  if (ELEM(NULL, keylist, gpf)) {
+  if (ELEM(nullptr, keylist, gpf)) {
     return;
   }
 
@@ -425,7 +432,7 @@ static void add_gpframe_to_keycolumns_list(AnimKeylist *keylist, bGPDframe *gpf)
 /* Add the given MaskLayerShape Frame to the given 'list' of Keyframes */
 static void add_masklay_to_keycolumns_list(AnimKeylist *keylist, MaskLayerShape *masklay_shape)
 {
-  if (ELEM(NULL, keylist, masklay_shape)) {
+  if (ELEM(nullptr, keylist, masklay_shape)) {
     return;
   }
 
@@ -507,20 +514,20 @@ static void add_keyblock_info(ActKeyColumn *col, const ActKeyBlockInfo *block)
 
 static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, const int bezt_len)
 {
-  ActKeyColumn *col = keylist->keys.first;
+  ActKeyColumn *col = static_cast<ActKeyColumn *>(keylist->keys.first);
 
   if (bezt && bezt_len >= 2) {
     ActKeyBlockInfo block;
 
     /* Find the first key column while inserting dummy blocks. */
-    for (; col != NULL && is_cfra_lt(col->cfra, bezt[0].vec[1][0]); col = col->next) {
+    for (; col != nullptr && is_cfra_lt(col->cfra, bezt[0].vec[1][0]); col = col->next) {
       add_keyblock_info(col, &dummy_keyblock);
     }
 
-    BLI_assert(col != NULL);
+    BLI_assert(col != nullptr);
 
     /* Insert real blocks. */
-    for (int v = 1; col != NULL && v < bezt_len; v++, bezt++) {
+    for (int v = 1; col != nullptr && v < bezt_len; v++, bezt++) {
       /* Wrong order of bezier keys: resync position. */
       if (is_cfra_lt(bezt[1].vec[1][0], bezt[0].vec[1][0])) {
         /* Backtrack to find the right location. */
@@ -528,11 +535,11 @@ static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, co
           ActKeyColumn *newcol = (ActKeyColumn *)BLI_dlrbTree_search_exact(
               &keylist->keys, compare_ak_cfraPtr, &bezt[1].vec[1][0]);
 
-          if (newcol != NULL) {
+          if (newcol != nullptr) {
             col = newcol;
 
             /* The previous keyblock is garbage too. */
-            if (col->prev != NULL) {
+            if (col->prev != nullptr) {
               add_keyblock_info(col->prev, &dummy_keyblock);
             }
           }
@@ -549,16 +556,16 @@ static void add_bezt_to_keyblocks_list(AnimKeylist *keylist, BezTriple *bezt, co
 


@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list