|
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().