Blender
V3.3
|
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BKE_fcurve.h"
Go to the source code of this file.
Classes | |
struct | FCurvePathCache_Span |
struct | FCurvePathCache |
Functions | |
F-Curve Path Cache | |
Cache for finding curves by RNA path & array index. | |
static int | fcurve_cmp_for_cache (const void *fcu_a_p, const void *fcu_b_p) |
struct FCurvePathCache * | BKE_fcurve_pathcache_create (ListBase *list) |
void | BKE_fcurve_pathcache_destroy (struct FCurvePathCache *fcache) |
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, FCurve **fcurve_result, int fcurve_result_len) |
Cache F-Curve look-ups.
Definition in file fcurve_cache.c.
struct FCurvePathCache* BKE_fcurve_pathcache_create | ( | ListBase * | list | ) |
Definition at line 64 of file fcurve_cache.c.
References BLI_assert, BLI_ghash_insert(), BLI_ghash_str_new_ex(), BLI_listbase_count(), FCurvePathCache::fcurve_array, FCurvePathCache::fcurve_array_len, fcurve_cmp_for_cache(), FCurvePathCache_Span::index, FCurvePathCache_Span::len, LISTBASE_FOREACH_INDEX, MEM_callocN, MEM_mallocN, FCurvePathCache::span_from_rna_path, FCurvePathCache::span_table, and STREQ.
Referenced by BKE_action_flip_with_pose().
void BKE_fcurve_pathcache_destroy | ( | struct FCurvePathCache * | fcache | ) |
Definition at line 113 of file fcurve_cache.c.
References BLI_ghash_free(), FCurvePathCache::fcurve_array, MEM_freeN, NULL, FCurvePathCache::span_from_rna_path, and FCurvePathCache::span_table.
Referenced by BKE_action_flip_with_pose().
FCurve* BKE_fcurve_pathcache_find | ( | struct FCurvePathCache * | fcache, |
const char * | rna_path, | ||
const int | array_index | ||
) |
Definition at line 121 of file fcurve_cache.c.
References BLI_ghash_lookup(), FCurvePathCache::fcurve_array, FCurvePathCache_Span::index, FCurvePathCache_Span::len, len, NULL, and FCurvePathCache::span_from_rna_path.
int BKE_fcurve_pathcache_find_array | ( | struct FCurvePathCache * | fcache, |
const char * | rna_path, | ||
struct FCurve ** | fcurve_result, | ||
int | fcurve_result_len | ||
) |
Fill in an array of F-Curve, leave NULL when not found.
Definition at line 144 of file fcurve_cache.c.
References FCurve::array_index, BLI_ghash_lookup(), FCurvePathCache::fcurve_array, FCurvePathCache_Span::index, FCurvePathCache_Span::len, len, NULL, and FCurvePathCache::span_from_rna_path.
Referenced by action_flip_pchan_cache_fcurve_assign_array().
#qsort callback for an FCurve array.
Definition at line 47 of file fcurve_cache.c.
References FCurve::array_index, and FCurve::rna_path.
Referenced by BKE_fcurve_pathcache_create().