[Bf-blender-cvs] [65965a892fd] master: Cleanup: use BKE_fcurve_ prefix for keyframing bezier functions

Campbell Barton noreply at git.blender.org
Tue Oct 13 08:00:56 CEST 2020


Commit: 65965a892fd116267ed94d1c8b59c99589671856
Author: Campbell Barton
Date:   Tue Oct 13 16:36:31 2020 +1100
Branches: master
https://developer.blender.org/rB65965a892fd116267ed94d1c8b59c99589671856

Cleanup: use BKE_fcurve_ prefix for keyframing bezier functions

- BKE_bezt_subdivide_handles -> BKE_fcurve_bezt_subdivide_handles
- binarysearch_bezt_index -> BKE_fcurve_bezt_binarysearch_index

These functions are specific to F-Curves and don't make sense for other
uses of BezTriple (curve-object data for e.g.)

Also:

- Move detailed doxygen comment above code, following code-style.
- Mark bezt_add_to_cfra_elem unused.

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

M	source/blender/blenkernel/BKE_fcurve.h
M	source/blender/blenkernel/intern/fcurve.c
M	source/blender/blenkernel/intern/fcurve_test.cc
M	source/blender/editors/animation/keyframing.c
M	source/blender/editors/armature/pose_slide.c
M	source/blender/editors/render/render_opengl.c
M	source/blender/python/intern/bpy_rna_anim.c

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

diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h
index e42d1cbbc78..e0c0f91b34b 100644
--- a/source/blender/blenkernel/BKE_fcurve.h
+++ b/source/blender/blenkernel/BKE_fcurve.h
@@ -57,8 +57,6 @@ typedef struct CfraElem {
   int sel;
 } CfraElem;
 
-void bezt_add_to_cfra_elem(ListBase *lb, struct BezTriple *bezt);
-
 /* ************** F-Curve Modifiers *************** */
 
 /* F-Curve Modifier Type-Info (fmi):
@@ -229,7 +227,10 @@ struct FCurve *BKE_fcurve_find_by_rna_context_ui(struct bContext *C,
 /* Binary search algorithm for finding where to 'insert' BezTriple with given frame number.
  * Returns the index to insert at (data already at that index will be offset if replace is 0)
  */
-int binarysearch_bezt_index(struct BezTriple array[], float frame, int arraylen, bool *r_replace);
+int BKE_fcurve_bezt_binarysearch_index(struct BezTriple array[],
+                                       float frame,
+                                       int arraylen,
+                                       bool *r_replace);
 
 /* get the time extents for F-Curve */
 bool BKE_fcurve_calc_range(
@@ -270,17 +271,11 @@ typedef enum eFCU_Cycle_Type {
 
 eFCU_Cycle_Type BKE_fcurve_get_cycle_type(struct FCurve *fcu);
 
-/** Adjust Bezier handles of all three given BezTriples, so that `bezt` can be inserted between
- * `prev` and `next` without changing the resulting curve shape.
- *
- * \param r_pdelta: return Y difference between `bezt` and the original curve value at its X
- * position.
- * \return Whether the split was succesful.
- */
-bool BKE_bezt_subdivide_handles(struct BezTriple *bezt,
-                                struct BezTriple *prev,
-                                struct BezTriple *next,
-                                float *r_pdelta);
+/* Recompute handles to neatly subdivide the prev-next range at bezt. */
+bool BKE_fcurve_bezt_subdivide_handles(struct BezTriple *bezt,
+                                       struct BezTriple *prev,
+                                       struct BezTriple *next,
+                                       float *r_pdelta);
 
 /* -------- Curve Sanity --------  */
 
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index 2f8a8fcffdc..18e6479ea07 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -502,7 +502,7 @@ FCurve *BKE_fcurve_find_by_rna_context_ui(bContext *C,
  * with optional argument for precision required.
  * Returns the index to insert at (data already at that index will be offset if replace is 0)
  */
-static int binarysearch_bezt_index_ex(
+static int BKE_fcurve_bezt_binarysearch_index_ex(
     BezTriple array[], float frame, int arraylen, float threshold, bool *r_replace)
 {
   int start = 0, end = arraylen;
@@ -589,10 +589,14 @@ static int binarysearch_bezt_index_ex(
 /* Binary search algorithm for finding where to insert BezTriple. (for use by insert_bezt_fcurve)
  * Returns the index to insert at (data already at that index will be offset if replace is 0)
  */
-int binarysearch_bezt_index(BezTriple array[], float frame, int arraylen, bool *r_replace)
+int BKE_fcurve_bezt_binarysearch_index(BezTriple array[],
+                                       float frame,
+                                       int arraylen,
+                                       bool *r_replace)
 {
   /* this is just a wrapper which uses the default threshold */
-  return binarysearch_bezt_index_ex(array, frame, arraylen, BEZT_BINARYSEARCH_THRESH, r_replace);
+  return BKE_fcurve_bezt_binarysearch_index_ex(
+      array, frame, arraylen, BEZT_BINARYSEARCH_THRESH, r_replace);
 }
 
 /* ...................................... */
@@ -968,7 +972,7 @@ bool BKE_fcurve_is_keyframable(FCurve *fcu)
  * \{ */
 
 /* add a BezTriple to a column */
-void bezt_add_to_cfra_elem(ListBase *lb, BezTriple *bezt)
+static void UNUSED_FUNCTION(bezt_add_to_cfra_elem)(ListBase *lb, BezTriple *bezt)
 {
   CfraElem *ce, *cen;
 
@@ -1533,11 +1537,18 @@ static void berekeny(float f1, float f2, float f3, float f4, float *o, int b)
   }
 }
 
-/* Recompute handles to neatly subdivide the prev-next range at bezt. */
-bool BKE_bezt_subdivide_handles(struct BezTriple *bezt,
-                                struct BezTriple *prev,
-                                struct BezTriple *next,
-                                float *r_pdelta)
+/**
+ * Adjust Bezier handles of all three given BezTriples, so that `bezt` can be inserted between
+ * `prev` and `next` without changing the resulting curve shape.
+ *
+ * \param r_pdelta: return Y difference between `bezt` and the original curve value at its X
+ * position.
+ * \return Whether the split was successful.
+ */
+bool BKE_fcurve_bezt_subdivide_handles(struct BezTriple *bezt,
+                                       struct BezTriple *prev,
+                                       struct BezTriple *next,
+                                       float *r_pdelta)
 {
   /* The four points that make up this section of the Bezier curve. */
   const float *prev_coords = prev->vec[1];
@@ -1667,7 +1678,7 @@ static float fcurve_eval_keyframes_interpolate(FCurve *fcu, BezTriple *bezts, fl
    *   Weird errors, like selecting the wrong keyframe range (see T39207), occur.
    *   This lower bound was established in b888a32eee8147b028464336ad2404d8155c64dd.
    */
-  a = binarysearch_bezt_index_ex(bezts, evaltime, fcu->totvert, 0.0001, &exact);
+  a = BKE_fcurve_bezt_binarysearch_index_ex(bezts, evaltime, fcu->totvert, 0.0001, &exact);
   bezt = bezts + a;
 
   if (exact) {
diff --git a/source/blender/blenkernel/intern/fcurve_test.cc b/source/blender/blenkernel/intern/fcurve_test.cc
index f258e2ff28d..a230c8f2e96 100644
--- a/source/blender/blenkernel/intern/fcurve_test.cc
+++ b/source/blender/blenkernel/intern/fcurve_test.cc
@@ -50,8 +50,9 @@ TEST(evaluate_fcurve, OnKeys)
   EXPECT_NEAR(evaluate_fcurve(fcu, 3.0f), 19.0f, EPSILON); /* hits 'on or after last' function */
 
   /* Also test within a specific time epsilon of the keys, as this was an issue in T39207.
-   * This epsilon is just slightly smaller than the epsilon given to binarysearch_bezt_index_ex()
-   * in fcurve_eval_between_keyframes(), so it should hit the "exact" code path. */
+   * This epsilon is just slightly smaller than the epsilon given to
+   * BKE_fcurve_bezt_binarysearch_index_ex() in fcurve_eval_between_keyframes(), so it should hit
+   * the "exact" code path. */
   float time_epsilon = 0.00008f;
   EXPECT_NEAR(evaluate_fcurve(fcu, 2.0f - time_epsilon), 13.0f, EPSILON);
   EXPECT_NEAR(evaluate_fcurve(fcu, 2.0f + time_epsilon), 13.0f, EPSILON);
@@ -210,7 +211,7 @@ TEST(evaluate_fcurve, ExtrapolationBezierKeys)
   BKE_fcurve_free(fcu);
 }
 
-TEST(fcurve_subdivide, BKE_bezt_subdivide_handles)
+TEST(fcurve_subdivide, BKE_fcurve_bezt_subdivide_handles)
 {
   FCurve *fcu = BKE_fcurve_create();
 
@@ -245,7 +246,7 @@ TEST(fcurve_subdivide, BKE_bezt_subdivide_handles)
 
   /* This should update the existing handles as well as the new BezTriple. */
   float y_delta;
-  BKE_bezt_subdivide_handles(&beztr, &fcu->bezt[0], &fcu->bezt[1], &y_delta);
+  BKE_fcurve_bezt_subdivide_handles(&beztr, &fcu->bezt[0], &fcu->bezt[1], &y_delta);
 
   EXPECT_FLOAT_EQ(y_delta, 0.0f);
 
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 967ca13c17d..3fb707078b8 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -407,7 +407,7 @@ int insert_bezt_fcurve(FCurve *fcu, const BezTriple *bezt, eInsertKeyFlags flag)
   /* are there already keyframes? */
   if (fcu->bezt) {
     bool replace;
-    i = binarysearch_bezt_index(fcu->bezt, bezt->vec[1][0], fcu->totvert, &replace);
+    i = BKE_fcurve_bezt_binarysearch_index(fcu->bezt, bezt->vec[1][0], fcu->totvert, &replace);
 
     /* replace an existing keyframe? */
     if (replace) {
@@ -511,7 +511,7 @@ static void subdivide_nonauto_handles(const FCurve *fcu,
 
   /* Subdivide the curve. */
   float delta;
-  if (!BKE_bezt_subdivide_handles(bezt, prev, next, &delta)) {
+  if (!BKE_fcurve_bezt_subdivide_handles(bezt, prev, next, &delta)) {
     return;
   }
 
@@ -1605,7 +1605,7 @@ static bool delete_keyframe_fcurve(AnimData *adt, FCurve *fcu, float cfra)
   int i;
 
   /* try to find index of beztriple to get rid of */
-  i = binarysearch_bezt_index(fcu->bezt, cfra, fcu->totvert, &found);
+  i = BKE_fcurve_bezt_binarysearch_index(fcu->bezt, cfra, fcu->totvert, &found);
   if (found) {
     /* delete the key at the index (will sanity check + do recalc afterwards) */
     delete_fcurve_key(fcu, i, 1);
@@ -2648,7 +2648,7 @@ static int delete_key_button_exec(bContext *C, wmOperator *op)
           int i;
 
           /* try to find index of beztriple to get rid of */
-          i = binarysearch_bezt_index(fcu->bezt, cfra, fcu->totvert, &found);
+          i = BKE_fcurve_bezt_binarysearch_index(fcu->bezt, cfra, fcu->totvert, &found);
           if (found) {
             /* delete the key at the index (will sanity check + do recalc afterwards) */
             delete_fcurve_key(fcu, i, 1);
@@ -2822,9 +2822,9 @@ bool fcurve_frame_has_keyframe(FCurve *fcu, float frame, short filter)
   /* we either include all regardless of muting, or only non-muted  */
   if ((filter & ANIMFILTER_KEYS_MUTED) || (fcu->flag & FCURVE_MUTED) == 0) {
     bool replace;
-    int i = binarysearch_bezt_index(fcu->bezt, frame, fcu->totvert, &replace);
+    int i = BKE_fcurve_bezt_binarysearch_index(fcu->bezt, frame, fcu->totvert, &replace);
 
-    /* binarysearch_bezt_index will set replace to be 0 or 1
+    /* BKE_fcurve_bezt_binarysearch_index will set replace to be 0 or 1
      * - obviously, 1 represents a match
      */
     if (replace) {
diff --git a/source/blender/editors/armature/pose_slide.c b/source/blender/editors/armature/pose_slide.c
index 59e14f85c81..eb2a0d7a073 100644
--- a/source/blender/editors/armature/pose_slide.c
+++ b/source/blender/editors/armature/pose_slide.c
@@ -1802,7 +1802,7 @@ static void pose_propagate_fcurve(
    * - if only doing selected keyframes, start from the first one
    

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list