Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions | Variables
ED_keyframing.h File Reference
#include "DNA_anim_types.h"
#include "RNA_types.h"

Go to the source code of this file.

Classes

struct  KeyingSetInfo
 

Macros

#define IS_AUTOKEY_ON(scene)    ((scene) ? ((scene)->toolsettings->autokey_mode & AUTOKEY_ON) : (U.autokey_mode & AUTOKEY_ON))
 
#define IS_AUTOKEY_MODE(scene, mode)
 
#define IS_AUTOKEY_FLAG(scene, flag)
 
#define ANIM_KS_LOCATION_ID   "Location"
 
#define ANIM_KS_ROTATION_ID   "Rotation"
 
#define ANIM_KS_SCALING_ID   "Scaling"
 
#define ANIM_KS_LOC_ROT_SCALE_ID   "LocRotScale"
 
#define ANIM_KS_AVAILABLE_ID   "Available"
 
#define ANIM_KS_WHOLE_CHARACTER_ID   "WholeCharacter"
 
#define ANIM_KS_WHOLE_CHARACTER_SELECTED_ID   "WholeCharacterSelected"
 

Typedefs

typedef bool(* cbKeyingSet_Poll) (struct KeyingSetInfo *ksi, struct bContext *C)
 
typedef void(* cbKeyingSet_Iterator) (struct KeyingSetInfo *ksi, struct bContext *C, struct KeyingSet *ks)
 
typedef void(* cbKeyingSet_Generate) (struct KeyingSetInfo *ksi, struct bContext *C, struct KeyingSet *ks, struct PointerRNA *ptr)
 
typedef struct KeyingSetInfo KeyingSetInfo
 
typedef enum eModifyKey_Modes eModifyKey_Modes
 
typedef enum eModifyKey_Returns eModifyKey_Returns
 
typedef enum eCreateDriverFlags eCreateDriverFlags
 
typedef enum eCreateDriver_MappingTypes eCreateDriver_MappingTypes
 
typedef enum eDriverFCurveCreationMode eDriverFCurveCreationMode
 
typedef enum eAnimFilterFlags eAnimFilterFlags
 

Enumerations

enum  eModifyKey_Modes { MODIFYKEY_MODE_INSERT = 0 , MODIFYKEY_MODE_DELETE }
 
enum  eModifyKey_Returns { MODIFYKEY_INVALID_CONTEXT = -1 , MODIFYKEY_MISSING_TYPEINFO = -2 }
 
enum  eCreateDriverFlags { CREATEDRIVER_WITH_DEFAULT_DVAR = (1 << 0) , CREATEDRIVER_WITH_FMODIFIER = (1 << 1) }
 
enum  eCreateDriver_MappingTypes {
  CREATEDRIVER_MAPPING_1_N = 0 , CREATEDRIVER_MAPPING_1_1 = 1 , CREATEDRIVER_MAPPING_N_N = 2 , CREATEDRIVER_MAPPING_NONE = 3 ,
  CREATEDRIVER_MAPPING_NONE_ALL = 4
}
 
enum  eDriverFCurveCreationMode { DRIVER_FCURVE_LOOKUP_ONLY = 0 , DRIVER_FCURVE_KEYFRAMES = 1 , DRIVER_FCURVE_GENERATOR = 2 , DRIVER_FCURVE_EMPTY = 3 }
 
enum  eAnimFilterFlags {
  ANIMFILTER_KEYS_LOCAL = (1 << 0) , ANIMFILTER_KEYS_MUTED = (1 << 1) , ANIMFILTER_KEYS_ACTIVE = (1 << 2) , ANIMFILTER_KEYS_NOMAT = (1 << 9) ,
  ANIMFILTER_KEYS_NOSKEY = (1 << 10)
}
 

Functions

eInsertKeyFlags ANIM_get_keyframing_flags (struct Scene *scene, const bool use_autokey_mode)
 
struct bActionED_id_action_ensure (struct Main *bmain, struct ID *id)
 
struct FCurveED_action_fcurve_ensure (struct Main *bmain, struct bAction *act, const char group[], struct PointerRNA *ptr, const char rna_path[], const int array_index)
 
struct FCurveED_action_fcurve_find (struct bAction *act, const char rna_path[], const int array_index)
 
void update_autoflags_fcurve (struct FCurve *fcu, struct bContext *C, struct ReportList *reports, struct PointerRNA *ptr)
 
int insert_bezt_fcurve (struct FCurve *fcu, const struct BezTriple *bezt, eInsertKeyFlags flag)
 
int insert_vert_fcurve (struct FCurve *fcu, float x, float y, eBezTriple_KeyframeType keyframe_type, eInsertKeyFlags flag)
 
bool insert_keyframe_direct (struct ReportList *reports, struct PointerRNA ptr, struct PropertyRNA *prop, struct FCurve *fcu, const struct AnimationEvalContext *anim_eval_context, eBezTriple_KeyframeType keytype, struct NlaKeyframingContext *nla, eInsertKeyFlags flag)
 
int insert_keyframe (struct Main *bmain, struct ReportList *reports, struct ID *id, struct bAction *act, const char group[], const char rna_path[], int array_index, const struct AnimationEvalContext *anim_eval_context, eBezTriple_KeyframeType keytype, struct ListBase *nla_cache, eInsertKeyFlags flag)
 
int delete_keyframe (struct Main *bmain, struct ReportList *reports, struct ID *id, struct bAction *act, const char rna_path[], int array_index, float cfra)
 
void ANIM_relative_keyingset_add_source (ListBase *dsources, struct ID *id, struct StructRNA *srna, void *data)
 
eModifyKey_Returns ANIM_validate_keyingset (struct bContext *C, ListBase *dsources, struct KeyingSet *ks)
 
int ANIM_apply_keyingset (struct bContext *C, ListBase *dsources, struct bAction *act, struct KeyingSet *ks, short mode, float cfra)
 
struct KeyingSetANIM_builtin_keyingset_get_named (struct KeyingSet *prevKS, const char name[])
 
KeyingSetInfoANIM_keyingset_info_find_name (const char name[])
 
bool ANIM_keyingset_find_id (struct KeyingSet *ks, ID *id)
 
void ANIM_keyingset_info_register (KeyingSetInfo *ksi)
 
void ANIM_keyingset_info_unregister (struct Main *bmain, KeyingSetInfo *ksi)
 
void ANIM_keyingset_infos_exit (void)
 
struct KeyingSetANIM_scene_get_active_keyingset (const struct Scene *scene)
 
int ANIM_scene_get_keyingset_index (struct Scene *scene, struct KeyingSet *ks)
 
struct KeyingSetANIM_get_keyingset_for_autokeying (const struct Scene *scene, const char *transformKSName)
 
const struct EnumPropertyItemANIM_keying_sets_enum_itemf (struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free)
 
KeyingSetANIM_keyingset_get_from_enum_type (struct Scene *scene, int type)
 
KeyingSetANIM_keyingset_get_from_idname (struct Scene *scene, const char *idname)
 
bool ANIM_keyingset_context_ok_poll (struct bContext *C, struct KeyingSet *ks)
 
struct FCurveverify_driver_fcurve (struct ID *id, const char rna_path[], const int array_index, eDriverFCurveCreationMode creation_mode)
 
struct FCurvealloc_driver_fcurve (const char rna_path[], const int array_index, eDriverFCurveCreationMode creation_mode)
 
int ANIM_add_driver_with_target (struct ReportList *reports, struct ID *dst_id, const char dst_path[], int dst_index, struct ID *src_id, const char src_path[], int src_index, short flag, int driver_type, short mapping_type)
 
int ANIM_add_driver (struct ReportList *reports, struct ID *id, const char rna_path[], int array_index, short flag, int type)
 
bool ANIM_remove_driver (struct ReportList *reports, struct ID *id, const char rna_path[], int array_index, short flag)
 
void ANIM_drivers_copybuf_free (void)
 
void ANIM_driver_vars_copybuf_free (void)
 
bool ANIM_driver_can_paste (void)
 
bool ANIM_copy_driver (struct ReportList *reports, struct ID *id, const char rna_path[], int array_index, short flag)
 
bool ANIM_paste_driver (struct ReportList *reports, struct ID *id, const char rna_path[], int array_index, short flag)
 
bool ANIM_driver_vars_can_paste (void)
 
bool ANIM_driver_vars_copy (struct ReportList *reports, struct FCurve *fcu)
 
bool ANIM_driver_vars_paste (struct ReportList *reports, struct FCurve *fcu, bool replace)
 
void ANIM_copy_as_driver (struct ID *target_id, const char *target_path, const char *var_name)
 
bool autokeyframe_cfra_can_key (const struct Scene *scene, struct ID *id)
 
bool fcurve_frame_has_keyframe (struct FCurve *fcu, float frame, short filter)
 
bool fcurve_is_changed (struct PointerRNA ptr, struct PropertyRNA *prop, struct FCurve *fcu, const struct AnimationEvalContext *anim_eval_context)
 
bool id_frame_has_keyframe (struct ID *id, float frame, short filter)
 
bool ED_autokeyframe_object (struct bContext *C, struct Scene *scene, struct Object *ob, struct KeyingSet *ks)
 
bool ED_autokeyframe_pchan (struct bContext *C, struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, struct KeyingSet *ks)
 
bool ED_autokeyframe_property (struct bContext *C, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop, int rnaindex, float cfra)
 

Variables

EnumPropertyItem prop_driver_create_mapping_types []
 

Macro Definition Documentation

◆ ANIM_KS_AVAILABLE_ID

#define ANIM_KS_AVAILABLE_ID   "Available"

Definition at line 514 of file ED_keyframing.h.

◆ ANIM_KS_LOC_ROT_SCALE_ID

#define ANIM_KS_LOC_ROT_SCALE_ID   "LocRotScale"

Definition at line 513 of file ED_keyframing.h.

◆ ANIM_KS_LOCATION_ID

#define ANIM_KS_LOCATION_ID   "Location"

Definition at line 510 of file ED_keyframing.h.

◆ ANIM_KS_ROTATION_ID

#define ANIM_KS_ROTATION_ID   "Rotation"

Definition at line 511 of file ED_keyframing.h.

◆ ANIM_KS_SCALING_ID

#define ANIM_KS_SCALING_ID   "Scaling"

Definition at line 512 of file ED_keyframing.h.

◆ ANIM_KS_WHOLE_CHARACTER_ID

#define ANIM_KS_WHOLE_CHARACTER_ID   "WholeCharacter"

Definition at line 515 of file ED_keyframing.h.

◆ ANIM_KS_WHOLE_CHARACTER_SELECTED_ID

#define ANIM_KS_WHOLE_CHARACTER_SELECTED_ID   "WholeCharacterSelected"

Definition at line 516 of file ED_keyframing.h.

◆ IS_AUTOKEY_FLAG

#define IS_AUTOKEY_FLAG (   scene,
  flag 
)
Value:
((scene) ? (((scene)->toolsettings->autokey_flag & AUTOKEY_FLAG_##flag) || \
(U.autokey_flag & AUTOKEY_FLAG_##flag)) : \
(U.autokey_flag & AUTOKEY_FLAG_##flag))
unsigned int U
Definition: btGjkEpa3.h:78
Scene scene

Definition at line 442 of file ED_keyframing.h.

◆ IS_AUTOKEY_MODE

#define IS_AUTOKEY_MODE (   scene,
  mode 
)
Value:
((scene) ? ((scene)->toolsettings->autokey_mode == AUTOKEY_MODE_##mode) : \
(U.autokey_mode == AUTOKEY_MODE_##mode))

Definition at line 438 of file ED_keyframing.h.

◆ IS_AUTOKEY_ON

#define IS_AUTOKEY_ON (   scene)     ((scene) ? ((scene)->toolsettings->autokey_mode & AUTOKEY_ON) : (U.autokey_mode & AUTOKEY_ON))

Definition at line 435 of file ED_keyframing.h.

Typedef Documentation

◆ cbKeyingSet_Generate

typedef void(* cbKeyingSet_Generate) (struct KeyingSetInfo *ksi, struct bContext *C, struct KeyingSet *ks, struct PointerRNA *ptr)

Definition at line 171 of file ED_keyframing.h.

◆ cbKeyingSet_Iterator

typedef void(* cbKeyingSet_Iterator) (struct KeyingSetInfo *ksi, struct bContext *C, struct KeyingSet *ks)

Definition at line 167 of file ED_keyframing.h.

◆ cbKeyingSet_Poll

typedef bool(* cbKeyingSet_Poll) (struct KeyingSetInfo *ksi, struct bContext *C)

Definition at line 165 of file ED_keyframing.h.

◆ eAnimFilterFlags

◆ eCreateDriver_MappingTypes

◆ eCreateDriverFlags

◆ eDriverFCurveCreationMode

◆ eModifyKey_Modes

◆ eModifyKey_Returns

◆ KeyingSetInfo

typedef struct KeyingSetInfo KeyingSetInfo

Enumeration Type Documentation

◆ eAnimFilterFlags

Enumerator
ANIMFILTER_KEYS_LOCAL 
ANIMFILTER_KEYS_MUTED 
ANIMFILTER_KEYS_ACTIVE 
ANIMFILTER_KEYS_NOMAT 
ANIMFILTER_KEYS_NOSKEY 

Definition at line 480 of file ED_keyframing.h.

◆ eCreateDriver_MappingTypes

Enumerator
CREATEDRIVER_MAPPING_1_N 

1 to Many - Use the specified index, and drive all elements with it

CREATEDRIVER_MAPPING_1_1 

1 to 1 - Only for the specified index on each side

CREATEDRIVER_MAPPING_N_N 

Many to Many - Match up the indices one by one (only for drivers on vectors/arrays)

CREATEDRIVER_MAPPING_NONE 

None (Single Prop): Do not create driver with any targets; these will get added later instead

CREATEDRIVER_MAPPING_NONE_ALL 

None (All Properties): Do not create driver with any targets; these will get added later instead

Definition at line 298 of file ED_keyframing.h.

◆ eCreateDriverFlags

Enumerator
CREATEDRIVER_WITH_DEFAULT_DVAR 

create drivers with a default variable for nicer UI

CREATEDRIVER_WITH_FMODIFIER 

create drivers with Generator FModifier (for backwards compat)

Definition at line 290 of file ED_keyframing.h.

◆ eDriverFCurveCreationMode

Enumerator
DRIVER_FCURVE_LOOKUP_ONLY 
DRIVER_FCURVE_KEYFRAMES 
DRIVER_FCURVE_GENERATOR 
DRIVER_FCURVE_EMPTY 

Definition at line 319 of file ED_keyframing.h.

◆ eModifyKey_Modes

Enumerator
MODIFYKEY_MODE_INSERT 
MODIFYKEY_MODE_DELETE 

Definition at line 216 of file ED_keyframing.h.

◆ eModifyKey_Returns

Enumerator
MODIFYKEY_INVALID_CONTEXT 
MODIFYKEY_MISSING_TYPEINFO 

Definition at line 222 of file ED_keyframing.h.

Function Documentation

◆ alloc_driver_fcurve()

struct FCurve* alloc_driver_fcurve ( const char  rna_path[],
const int  array_index,
eDriverFCurveCreationMode  creation_mode 
)

◆ ANIM_add_driver()

int ANIM_add_driver ( ReportList reports,
ID id,
const char  rna_path[],
int  array_index,
short  flag,
int  type 
)

◆ ANIM_add_driver_with_target()

int ANIM_add_driver_with_target ( struct ReportList reports,
struct ID dst_id,
const char  dst_path[],
int  dst_index,
struct ID src_id,
const char  src_path[],
int  src_index,
short  flag,
int  driver_type,
short  mapping_type 
)

◆ ANIM_apply_keyingset()

int ANIM_apply_keyingset ( bContext C,
ListBase dsources,
bAction act,
KeyingSet ks,
short  mode,
float  cfra 
)

Given a KeyingSet and context info (if required), modify keyframes for the channels specified by the KeyingSet. This takes into account many of the different combinations of using KeyingSets.

Returns
the number of channels that key-frames were added or an eModifyKey_Returns value (always a negative number).

Definition at line 1028 of file keyingsets.c.

References ANIM_get_keyframing_flags(), ANIM_validate_keyingset(), KS_Path::array_index, BKE_animsys_eval_context_construct(), BKE_animsys_free_nla_keyframing_context_cache(), BKE_reportf(), BLI_assert, C, CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_wm_reports(), DEG_id_tag_update(), delete_keyframe(), depsgraph, error(), ListBase::first, KS_Path::flag, KS_Path::group, KS_Path::groupmode, GS, KS_Path::id, Object::id, ID_OB, ID_RECALC_ANIMATION_NO_FLUSH, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, insert_keyframe(), ToolSettings::keyframe_type, KS_Path::keyingflag, KeyingSet::keyingflag, KS_Path::keyingoverride, KeyingSet::keyingoverride, keyingset_apply_keying_flags(), KSP_FLAG_WHOLE_ARRAY, KSP_GROUP_KSNAME, KSP_GROUP_NONE, MODIFYKEY_MODE_DELETE, MODIFYKEY_MODE_INSERT, NA_ADDED, KeyingSet::name, ID::name, NC_ANIMATION, ND_KEYFRAME, KS_Path::next, NULL, KeyingSet::paths, ptr, RNA_id_pointer_create(), KS_Path::rna_path, RNA_path_resolve_property(), RNA_property_array_length(), RPT_WARNING, scene, Scene::toolsettings, and WM_main_add_notifier().

Referenced by autokeyframe_object(), autokeyframe_pose(), delete_key_exec(), ED_autokeyframe_object(), ED_autokeyframe_pchan(), ED_view3d_camera_autokey(), insert_key_exec(), pose_clear_transform_generic_exec(), poseAnim_mapping_autoKeyframe(), poselib_add_exec(), and poselib_keytag_pose().

◆ ANIM_builtin_keyingset_get_named()

struct KeyingSet* ANIM_builtin_keyingset_get_named ( struct KeyingSet prevKS,
const char  name[] 
)

◆ ANIM_copy_as_driver()

void ANIM_copy_as_driver ( struct ID target_id,
const char *  target_path,
const char *  var_name 
)

◆ ANIM_copy_driver()

bool ANIM_copy_driver ( struct ReportList reports,
struct ID id,
const char  rna_path[],
int  array_index,
short  flag 
)

◆ ANIM_driver_can_paste()

bool ANIM_driver_can_paste ( void  )

Definition at line 617 of file drivers.c.

References channeldriver_copypaste_buf, and NULL.

Referenced by ui_popup_context_menu_for_button().

◆ ANIM_driver_vars_can_paste()

bool ANIM_driver_vars_can_paste ( void  )

Definition at line 754 of file drivers.c.

References BLI_listbase_is_empty(), and driver_vars_copybuf.

◆ ANIM_driver_vars_copy()

bool ANIM_driver_vars_copy ( struct ReportList reports,
struct FCurve fcu 
)

◆ ANIM_driver_vars_copybuf_free()

void ANIM_driver_vars_copybuf_free ( void  )

◆ ANIM_driver_vars_paste()

bool ANIM_driver_vars_paste ( struct ReportList reports,
struct FCurve fcu,
bool  replace 
)

Definition at line 785 of file drivers.c.

References FCurve::driver, and NULL.

Referenced by graph_driver_vars_paste_exec().

◆ ANIM_drivers_copybuf_free()

void ANIM_drivers_copybuf_free ( void  )

Definition at line 607 of file drivers.c.

References BKE_fcurve_free(), channeldriver_copypaste_buf, and NULL.

Referenced by ANIM_copy_as_driver(), ANIM_copy_driver(), and WM_exit_ex().

◆ ANIM_get_keyframing_flags()

eInsertKeyFlags ANIM_get_keyframing_flags ( struct Scene scene,
const bool  use_autokey_mode 
)

◆ ANIM_get_keyingset_for_autokeying()

struct KeyingSet* ANIM_get_keyingset_for_autokeying ( const struct Scene scene,
const char *  transformKSName 
)

◆ ANIM_keying_sets_enum_itemf()

const struct EnumPropertyItem* ANIM_keying_sets_enum_itemf ( struct bContext C,
struct PointerRNA ptr,
struct PropertyRNA prop,
bool *  r_free 
)

◆ ANIM_keyingset_context_ok_poll()

bool ANIM_keyingset_context_ok_poll ( struct bContext C,
struct KeyingSet ks 
)

◆ ANIM_keyingset_find_id()

bool ANIM_keyingset_find_id ( struct KeyingSet ks,
ID id 
)

Definition at line 658 of file keyingsets.c.

References BLI_findptr(), ELEM, NULL, and KeyingSet::paths.

Referenced by insert_key_exec().

◆ ANIM_keyingset_get_from_enum_type()

KeyingSet* ANIM_keyingset_get_from_enum_type ( Scene scene,
int  type 
)

Get the keying set from enum values generated in ANIM_keying_sets_enum_itemf.

Type is the Keying Set the user specified to use when calling the operator:

  • type == 0: use scene's active Keying Set
  • type > 0: use a user-defined Keying Set from the active scene
  • type < 0: use a builtin Keying Set

Definition at line 819 of file keyingsets.c.

References Scene::active_keyingset, BLI_findlink(), builtin_keyingsets, Scene::keyingsets, NULL, scene, and type.

Referenced by delete_key_exec(), and keyingset_get_from_op_with_error().

◆ ANIM_keyingset_get_from_idname()

KeyingSet* ANIM_keyingset_get_from_idname ( struct Scene scene,
const char *  idname 
)

◆ ANIM_keyingset_info_find_name()

KeyingSetInfo* ANIM_keyingset_info_find_name ( const char  name[])

◆ ANIM_keyingset_info_register()

void ANIM_keyingset_info_register ( KeyingSetInfo ksi)

◆ ANIM_keyingset_info_unregister()

void ANIM_keyingset_info_unregister ( struct Main bmain,
KeyingSetInfo ksi 
)

◆ ANIM_keyingset_infos_exit()

void ANIM_keyingset_infos_exit ( void  )

◆ ANIM_paste_driver()

bool ANIM_paste_driver ( struct ReportList reports,
struct ID id,
const char  rna_path[],
int  array_index,
short  flag 
)

◆ ANIM_relative_keyingset_add_source()

void ANIM_relative_keyingset_add_source ( ListBase dsources,
struct ID id,
struct StructRNA srna,
void *  data 
)

◆ ANIM_remove_driver()

bool ANIM_remove_driver ( struct ReportList reports,
struct ID id,
const char  rna_path[],
int  array_index,
short  flag 
)

◆ ANIM_scene_get_active_keyingset()

struct KeyingSet* ANIM_scene_get_active_keyingset ( const struct Scene scene)

◆ ANIM_scene_get_keyingset_index()

int ANIM_scene_get_keyingset_index ( struct Scene scene,
struct KeyingSet ks 
)

Definition at line 693 of file keyingsets.c.

References BLI_findindex(), builtin_keyingsets, Scene::keyingsets, NULL, and scene.

◆ ANIM_validate_keyingset()

eModifyKey_Returns ANIM_validate_keyingset ( bContext C,
ListBase dsources,
KeyingSet ks 
)

Given a KeyingSet and context info, validate Keying Set's paths. This is only really necessary with relative/built-in KeyingSets where their list of paths is dynamically generated based on the current context info.

Returns 0 if succeeded, otherwise an error code: eModifyKey_Returns

Definition at line 936 of file keyingsets.c.

References ANIM_keyingset_info_find_name(), BKE_keyingset_free(), BLI_listbase_is_empty(), C, KeyingSet::flag, KeyingSetInfo::iter, KEYINGSET_ABSOLUTE, MODIFYKEY_INVALID_CONTEXT, MODIFYKEY_MISSING_TYPEINFO, NULL, KeyingSet::paths, KeyingSetInfo::poll, RKS_ITER_overrides_list(), and KeyingSet::typeinfo.

Referenced by ANIM_apply_keyingset(), pose_select_same_keyingset(), and select_grouped_keyingset().

◆ autokeyframe_cfra_can_key()

bool autokeyframe_cfra_can_key ( const struct Scene scene,
struct ID id 
)

◆ delete_keyframe()

int delete_keyframe ( Main bmain,
ReportList reports,
ID id,
bAction act,
const char  rna_path[],
int  array_index,
float  cfra 
)

◆ ED_action_fcurve_ensure()

struct FCurve* ED_action_fcurve_ensure ( struct Main bmain,
struct bAction act,
const char  group[],
struct PointerRNA ptr,
const char  rna_path[],
const int  array_index 
)

◆ ED_action_fcurve_find()

struct FCurve* ED_action_fcurve_find ( struct bAction act,
const char  rna_path[],
const int  array_index 
)

Find the F-Curve from the Active Action, for the given Animation Data block. This assumes that all the destinations are valid.

Definition at line 181 of file keyframing.c.

References BKE_fcurve_find(), bAction::curves, ELEM, and NULL.

Referenced by clear_keyframe(), delete_keyframe(), and insert_keyframe_fcurve_value().

◆ ED_autokeyframe_object()

bool ED_autokeyframe_object ( struct bContext C,
struct Scene scene,
struct Object ob,
struct KeyingSet ks 
)

◆ ED_autokeyframe_pchan()

bool ED_autokeyframe_pchan ( struct bContext C,
struct Scene scene,
struct Object ob,
struct bPoseChannel pchan,
struct KeyingSet ks 
)

◆ ED_autokeyframe_property()

bool ED_autokeyframe_property ( bContext C,
Scene scene,
PointerRNA ptr,
PropertyRNA prop,
int  rnaindex,
float  cfra 
)

◆ ED_id_action_ensure()

struct bAction* ED_id_action_ensure ( struct Main bmain,
struct ID id 
)

◆ fcurve_frame_has_keyframe()

bool fcurve_frame_has_keyframe ( struct FCurve fcu,
float  frame,
short  filter 
)

◆ fcurve_is_changed()

bool fcurve_is_changed ( struct PointerRNA  ptr,
struct PropertyRNA prop,
struct FCurve fcu,
const struct AnimationEvalContext anim_eval_context 
)

◆ id_frame_has_keyframe()

bool id_frame_has_keyframe ( struct ID id,
float  frame,
short  filter 
)

Main Keyframe Checking API call: Checks whether a keyframe exists for the given ID-block one the given frame.

  • It is recommended to call this method over the other keyframe-checkers directly, in case some detail of the implementation changes...
  • frame: the value of this is quite often result of BKE_scene_frame_get()

Definition at line 2969 of file keyframing.c.

References AnimData::action, action_frame_has_keyframe(), BKE_animdata_from_id(), filter(), GS, id, ID_OB, ID_SCE, ID::name, NULL, and object_frame_has_keyframe().

Referenced by autokeyframe_cfra_can_key(), draw_selected_name(), and object_frame_has_keyframe().

◆ insert_bezt_fcurve()

int insert_bezt_fcurve ( struct FCurve fcu,
const struct BezTriple bezt,
eInsertKeyFlags  flag 
)

◆ insert_keyframe()

int insert_keyframe ( struct Main bmain,
struct ReportList reports,
struct ID id,
struct bAction act,
const char  group[],
const char  rna_path[],
int  array_index,
const struct AnimationEvalContext anim_eval_context,
eBezTriple_KeyframeType  keytype,
struct ListBase nla_cache,
eInsertKeyFlags  flag 
)

◆ insert_keyframe_direct()

bool insert_keyframe_direct ( struct ReportList reports,
struct PointerRNA  ptr,
struct PropertyRNA prop,
struct FCurve fcu,
const struct AnimationEvalContext anim_eval_context,
eBezTriple_KeyframeType  keytype,
struct NlaKeyframingContext nla,
eInsertKeyFlags  flag 
)

◆ insert_vert_fcurve()

int insert_vert_fcurve ( FCurve fcu,
float  x,
float  y,
eBezTriple_KeyframeType  keyframe_type,
eInsertKeyFlags  flag 
)

◆ update_autoflags_fcurve()

void update_autoflags_fcurve ( struct FCurve fcu,
struct bContext C,
struct ReportList reports,
struct PointerRNA ptr 
)

◆ verify_driver_fcurve()

struct FCurve* verify_driver_fcurve ( struct ID id,
const char  rna_path[],
const int  array_index,
eDriverFCurveCreationMode  creation_mode 
)

Variable Documentation

◆ prop_driver_create_mapping_types

EnumPropertyItem prop_driver_create_mapping_types[]
extern

Mapping Types enum for operators.

Note
Used by ANIM_OT_driver_button_add and UI_OT_eyedropper_driver.

XXX: These names need reviewing.

Definition at line 891 of file drivers.c.

Referenced by ANIM_OT_driver_button_add_menu(), driver_mapping_type_itemsf(), and UI_OT_eyedropper_driver().