Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations | Functions

BKE_fcurve.h File Reference

#include "DNA_curve_types.h"

Go to the source code of this file.

Classes

struct  CfraElem
struct  FModifierTypeInfo

Defines

#define DRIVER_TARGETS_LOOPER(dvar)
#define DRIVER_TARGETS_USED_LOOPER(dvar)
#define DRIVER_TARGETS_LOOPER_END   }

Typedefs

typedef struct CfraElem CfraElem
typedef struct FModifierTypeInfo FModifierTypeInfo
typedef enum eFMI_Action_Types eFMI_Action_Types
typedef enum eFMI_Requirement_Flags eFMI_Requirement_Flags
typedef float(* FcuSampleFunc )(struct FCurve *fcu, void *data, float evaltime)

Enumerations

enum  eFMI_Action_Types { FMI_TYPE_EXTRAPOLATION = 0, FMI_TYPE_INTERPOLATION, FMI_TYPE_REPLACE_VALUES, FMI_TYPE_GENERATE_CURVE }
enum  eFMI_Requirement_Flags { FMI_REQUIRES_ORIGINAL_DATA = (1<<0), FMI_REQUIRES_NOTHING = (1<<1), FMI_REQUIRES_RUNTIME_CHECK = (1<<2) }

Functions

void bezt_add_to_cfra_elem (ListBase *lb, struct BezTriple *bezt)
void fcurve_free_driver (struct FCurve *fcu)
struct ChannelDriverfcurve_copy_driver (struct ChannelDriver *driver)
void driver_free_variable (struct ChannelDriver *driver, struct DriverVar *dvar)
void driver_change_variable_type (struct DriverVar *dvar, int type)
struct DriverVardriver_add_new_variable (struct ChannelDriver *driver)
float driver_get_variable_value (struct ChannelDriver *driver, struct DriverVar *dvar)
FModifierTypeInfofmodifier_get_typeinfo (struct FModifier *fcm)
FModifierTypeInfoget_fmodifier_typeinfo (int type)
struct FModifieradd_fmodifier (ListBase *modifiers, int type)
struct FModifiercopy_fmodifier (struct FModifier *src)
void copy_fmodifiers (ListBase *dst, ListBase *src)
int remove_fmodifier (ListBase *modifiers, struct FModifier *fcm)
void free_fmodifiers (ListBase *modifiers)
struct FModifierfind_active_fmodifier (ListBase *modifiers)
void set_active_fmodifier (ListBase *modifiers, struct FModifier *fcm)
short list_has_suitable_fmodifier (ListBase *modifiers, int mtype, short acttype)
float evaluate_time_fmodifiers (ListBase *modifiers, struct FCurve *fcu, float cvalue, float evaltime)
void evaluate_value_fmodifiers (ListBase *modifiers, struct FCurve *fcu, float *cvalue, float evaltime)
void fcurve_bake_modifiers (struct FCurve *fcu, int start, int end)
void free_fcurve (struct FCurve *fcu)
struct FCurvecopy_fcurve (struct FCurve *fcu)
void free_fcurves (ListBase *list)
void copy_fcurves (ListBase *dst, ListBase *src)
struct FCurvelist_find_fcurve (ListBase *list, const char rna_path[], const int array_index)
struct FCurveiter_step_fcurve (struct FCurve *fcu_iter, const char rna_path[])
struct FCurveid_data_find_fcurve (ID *id, void *data, struct StructRNA *type, const char *prop_name, int index, char *driven)
int list_find_data_fcurves (ListBase *dst, ListBase *src, const char *dataPrefix, const char *dataName)
struct FCurverna_get_fcurve (struct PointerRNA *ptr, struct PropertyRNA *prop, int rnaindex, struct bAction **action, int *driven)
int binarysearch_bezt_index (struct BezTriple array[], float frame, int arraylen, short *replace)
void calc_fcurve_range (struct FCurve *fcu, float *min, float *max, const short do_sel_only, const short do_min_length)
void calc_fcurve_bounds (struct FCurve *fcu, float *xmin, float *xmax, float *ymin, float *ymax, const short do_sel_only)
short fcurve_are_keyframes_usable (struct FCurve *fcu)
short fcurve_is_keyframable (struct FCurve *fcu)
void calchandles_fcurve (struct FCurve *fcu)
void testhandles_fcurve (struct FCurve *fcu, const short use_handle)
void sort_time_fcurve (struct FCurve *fcu)
short test_time_fcurve (struct FCurve *fcu)
void correct_bezpart (float *v1, float *v2, float *v3, float *v4)
float evaluate_fcurve (struct FCurve *fcu, float evaltime)
void calculate_fcurve (struct FCurve *fcu, float ctime)
float fcurve_samplingcb_evalcurve (struct FCurve *fcu, void *data, float evaltime)
void fcurve_store_samples (struct FCurve *fcu, void *data, int start, int end, FcuSampleFunc sample_cb)

Detailed Description

Author:
Joshua Leung
Since:
2009

Definition in file BKE_fcurve.h.


Define Documentation

#define DRIVER_TARGETS_LOOPER (   dvar)
Value:
{ \
        DriverTarget *dtar= &dvar->targets[0]; \
        int tarIndex= 0; \
        for (; tarIndex < MAX_DRIVER_TARGETS; tarIndex++, dtar++)

Definition at line 71 of file BKE_fcurve.h.

Referenced by direct_link_fcurves(), driver_free_variable(), expand_fcurves(), fcurve_copy_driver(), lib_link_fcurves(), and object_copy_proxy_drivers().

#define DRIVER_TARGETS_LOOPER_END   }
#define DRIVER_TARGETS_USED_LOOPER (   dvar)
Value:
{ \
        DriverTarget *dtar= &dvar->targets[0]; \
        int tarIndex= 0; \
        for (; tarIndex < dvar->num_targets; tarIndex++, dtar++)

Definition at line 78 of file BKE_fcurve.h.

Referenced by animdata_dtar_clear_cb(), BKE_relink_animdata(), dag_add_driver_relation(), driver_change_variable_type(), drivers_path_rename_fix(), dvar_eval_locDiff(), outliner_add_element(), and write_fcurves().


Typedef Documentation

typedef struct CfraElem CfraElem
typedef float(* FcuSampleFunc)(struct FCurve *fcu, void *data, float evaltime)

Definition at line 255 of file BKE_fcurve.h.


Enumeration Type Documentation

Enumerator:
FMI_TYPE_EXTRAPOLATION 
FMI_TYPE_INTERPOLATION 
FMI_TYPE_REPLACE_VALUES 
FMI_TYPE_GENERATE_CURVE 

Definition at line 139 of file BKE_fcurve.h.

Enumerator:
FMI_REQUIRES_ORIGINAL_DATA 
FMI_REQUIRES_NOTHING 
FMI_REQUIRES_RUNTIME_CHECK 

Definition at line 151 of file BKE_fcurve.h.


Function Documentation

struct FModifier* add_fmodifier ( ListBase modifiers,
int  type 
) [read]
void bezt_add_to_cfra_elem ( ListBase lb,
struct BezTriple bezt 
)
int binarysearch_bezt_index ( struct BezTriple  array[],
float  frame,
int  arraylen,
short *  replace 
)
void calc_fcurve_bounds ( struct FCurve fcu,
float *  xmin,
float *  xmax,
float *  ymin,
float *  ymax,
const short  do_sel_only 
)
void calc_fcurve_range ( struct FCurve fcu,
float *  min,
float *  max,
const short  do_sel_only,
const short  do_min_length 
)
void calchandles_fcurve ( struct FCurve fcu)
void calculate_fcurve ( struct FCurve fcu,
float  ctime 
)
struct FCurve* copy_fcurve ( struct FCurve fcu) [read]
void copy_fcurves ( ListBase dst,
ListBase src 
)
struct FModifier* copy_fmodifier ( struct FModifier src) [read]
void copy_fmodifiers ( ListBase dst,
ListBase src 
)
void correct_bezpart ( float *  v1,
float *  v2,
float *  v3,
float *  v4 
)

Definition at line 1690 of file fcurve.c.

References fabsf, and len().

Referenced by curvemap_make_table(), draw_fcurve_curve_bezts(), and fcurve_eval_keyframes().

struct DriverVar* driver_add_new_variable ( struct ChannelDriver driver) [read]
void driver_change_variable_type ( struct DriverVar dvar,
int  type 
)
void driver_free_variable ( struct ChannelDriver driver,
struct DriverVar dvar 
)
float driver_get_variable_value ( struct ChannelDriver driver,
struct DriverVar dvar 
)
float evaluate_fcurve ( struct FCurve fcu,
float  evaltime 
)
float evaluate_time_fmodifiers ( ListBase modifiers,
struct FCurve fcu,
float  cvalue,
float  evaltime 
)
void evaluate_value_fmodifiers ( ListBase modifiers,
struct FCurve fcu,
float *  cvalue,
float  evaltime 
)
short fcurve_are_keyframes_usable ( struct FCurve fcu)
void fcurve_bake_modifiers ( struct FCurve fcu,
int  start,
int  end 
)
struct ChannelDriver* fcurve_copy_driver ( struct ChannelDriver driver) [read]
void fcurve_free_driver ( struct FCurve fcu)
short fcurve_is_keyframable ( struct FCurve fcu)
float fcurve_samplingcb_evalcurve ( struct FCurve fcu,
void *  data,
float  evaltime 
)
void fcurve_store_samples ( struct FCurve fcu,
void *  data,
int  start,
int  end,
FcuSampleFunc  sample_cb 
)
struct FModifier* find_active_fmodifier ( ListBase modifiers) [read]
FModifierTypeInfo* fmodifier_get_typeinfo ( struct FModifier fcm)
void free_fcurve ( struct FCurve fcu)
void free_fcurves ( ListBase list)
void free_fmodifiers ( ListBase modifiers)
FModifierTypeInfo* get_fmodifier_typeinfo ( int  type)
struct FCurve* id_data_find_fcurve ( ID id,
void *  data,
struct StructRNA type,
const char *  prop_name,
int  index,
char *  driven 
) [read]
struct FCurve* iter_step_fcurve ( struct FCurve fcu_iter,
const char  rna_path[] 
) [read]

Definition at line 244 of file fcurve.c.

References ELEM, FCurve::next, NULL, and FCurve::rna_path.

Referenced by ANIM_remove_driver().

int list_find_data_fcurves ( ListBase dst,
ListBase src,
const char *  dataPrefix,
const char *  dataName 
)
struct FCurve* list_find_fcurve ( ListBase list,
const char  rna_path[],
const int  array_index 
) [read]
short list_has_suitable_fmodifier ( ListBase modifiers,
int  mtype,
short  acttype 
)
int remove_fmodifier ( ListBase modifiers,
struct FModifier fcm 
)
struct FCurve* rna_get_fcurve ( struct PointerRNA ptr,
struct PropertyRNA prop,
int  rnaindex,
struct bAction **  action,
int *  driven 
) [read]
void set_active_fmodifier ( ListBase modifiers,
struct FModifier fcm 
)
void sort_time_fcurve ( struct FCurve fcu)
short test_time_fcurve ( struct FCurve fcu)

Definition at line 930 of file fcurve.c.

References FCurve::bezt, FCurve::fpt, NULL, FCurve::totvert, BezTriple::vec, and FPoint::vec.

void testhandles_fcurve ( struct FCurve fcu,
const short  use_handle 
)