Blender V4.3
fcurve_cache.cc File Reference
#include <cstdlib>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BKE_fcurve.hh"

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)
 
FCurvePathCacheBKE_fcurve_pathcache_create (ListBase *list)
 
void BKE_fcurve_pathcache_destroy (FCurvePathCache *fcache)
 
FCurveBKE_fcurve_pathcache_find (FCurvePathCache *fcache, const char *rna_path, const int array_index)
 
int BKE_fcurve_pathcache_find_array (FCurvePathCache *fcache, const char *rna_path, FCurve **fcurve_result, int fcurve_result_len)
 

Detailed Description

Cache F-Curve look-ups.

Definition in file fcurve_cache.cc.

Function Documentation

◆ BKE_fcurve_pathcache_create()

◆ BKE_fcurve_pathcache_destroy()

void BKE_fcurve_pathcache_destroy ( FCurvePathCache * fcache)

◆ BKE_fcurve_pathcache_find()

FCurve * BKE_fcurve_pathcache_find ( FCurvePathCache * fcache,
const char * rna_path,
const int array_index )

◆ BKE_fcurve_pathcache_find_array()

int BKE_fcurve_pathcache_find_array ( FCurvePathCache * fcache,
const char * rna_path,
FCurve ** fcurve_result,
int fcurve_result_len )

Fill in an array of F-Curve, leave NULL when not found.

Returns
The number of F-Curves found.

Definition at line 149 of file fcurve_cache.cc.

References FCurve::array_index, BLI_ghash_lookup(), FCurvePathCache::fcurve_array, FCurvePathCache_Span::index, FCurvePathCache_Span::len, len, and FCurvePathCache::span_from_rna_path.

Referenced by action_flip_pchan_cache_fcurve_assign_array().

◆ fcurve_cmp_for_cache()

static int fcurve_cmp_for_cache ( const void * fcu_a_p,
const void * fcu_b_p )
static

#qsort callback for an FCurve array.

Definition at line 49 of file fcurve_cache.cc.

References FCurve::array_index, and FCurve::rna_path.

Referenced by BKE_fcurve_pathcache_create().