diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_fcurve.h')
-rw-r--r-- | source/blender/blenkernel/BKE_fcurve.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h index 4569e68ea4a..589d1839dd4 100644 --- a/source/blender/blenkernel/BKE_fcurve.h +++ b/source/blender/blenkernel/BKE_fcurve.h @@ -232,6 +232,19 @@ int BKE_fcurve_bezt_binarysearch_index(struct BezTriple array[], int arraylen, bool *r_replace); +/* fcurve_cache.c */ +/* Cached f-curve look-ups, use when this needs to be done many times. */ +struct FCurvePathCache; +struct FCurvePathCache *BKE_fcurve_pathcache_create(ListBase *list); +void BKE_fcurve_pathcache_destroy(struct FCurvePathCache *fcache); +struct FCurve *BKE_fcurve_pathcache_find(struct FCurvePathCache *fcache, + const char rna_path[], + const int array_index); +int BKE_fcurve_pathcache_find_array(struct FCurvePathCache *fcache, + const char *rna_path, + struct FCurve **fcurve_result, + int fcurve_result_len); + /* get the time extents for F-Curve */ bool BKE_fcurve_calc_range( struct FCurve *fcu, float *min, float *max, const bool do_sel_only, const bool do_min_length); @@ -245,6 +258,14 @@ bool BKE_fcurve_calc_bounds(struct FCurve *fcu, const bool do_sel_only, const bool include_handles); +float *BKE_fcurves_calc_keyed_frames_ex(struct FCurve **fcurve_array, + const int fcurve_array_len, + const float interval, + int *r_frames_len); +float *BKE_fcurves_calc_keyed_frames(struct FCurve **fcurve_array, + const int fcurve_array_len, + int *r_frames_len); + void BKE_fcurve_active_keyframe_set(struct FCurve *fcu, const struct BezTriple *active_bezt); int BKE_fcurve_active_keyframe_index(const struct FCurve *fcu); |