Blender V2.61 - r43446
Classes | Typedefs | Functions | Variables

keyframes_general.c File Reference

#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "DNA_anim_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BKE_fcurve.h"
#include "BKE_utildefines.h"
#include "BKE_report.h"
#include "BKE_library.h"
#include "BKE_global.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
#include "ED_anim_api.h"
#include "ED_keyframing.h"
#include "ED_keyframes_edit.h"

Go to the source code of this file.

Classes

struct  tSmooth_Bezt
struct  tempFrameValCache
struct  tAnimCopybufItem

Typedefs

typedef struct tSmooth_Bezt tSmooth_Bezt
typedef struct tempFrameValCache tempFrameValCache
typedef struct tAnimCopybufItem tAnimCopybufItem

Functions

void delete_fcurve_key (FCurve *fcu, int index, short do_recalc)
void delete_fcurve_keys (FCurve *fcu)
void clear_fcurve_keys (FCurve *fcu)
void duplicate_fcurve_keys (FCurve *fcu)
void clean_fcurve (FCurve *fcu, float thresh)
void smooth_fcurve (FCurve *fcu)
void sample_fcurve (FCurve *fcu)
void free_anim_copybuf (void)
short copy_animedit_keys (bAnimContext *ac, ListBase *anim_data)
static tAnimCopybufItempastebuf_match_path_full (FCurve *fcu, const short from_single, const short to_simple)
static tAnimCopybufItempastebuf_match_path_property (FCurve *fcu, const short from_single, const short UNUSED(to_simple))
static tAnimCopybufItempastebuf_match_index_only (FCurve *fcu, const short from_single, const short UNUSED(to_simple))
static void paste_animedit_keys_fcurve (FCurve *fcu, tAnimCopybufItem *aci, float offset, const eKeyMergeMode merge_mode)
short paste_animedit_keys (bAnimContext *ac, ListBase *anim_data, const eKeyPasteOffset offset_mode, const eKeyMergeMode merge_mode)

Variables

static ListBase animcopybuf = {NULL, NULL}
static float animcopy_firstframe = 999999999.0f
static float animcopy_lastframe = -999999999.0f
static float animcopy_cfra = 0.0
EnumPropertyItem keyframe_paste_offset_items []
EnumPropertyItem keyframe_paste_merge_items []

Detailed Description

Definition in file keyframes_general.c.


Typedef Documentation

typedef struct tSmooth_Bezt tSmooth_Bezt

Function Documentation

void clean_fcurve ( FCurve fcu,
float  thresh 
)
void clear_fcurve_keys ( FCurve fcu)

Definition at line 130 of file keyframes_general.c.

References FCurve::bezt, MEM_freeN(), NULL, and FCurve::totvert.

Referenced by delete_fcurve_keys(), and paste_animedit_keys_fcurve().

short copy_animedit_keys ( bAnimContext ac,
ListBase anim_data 
)
void delete_fcurve_key ( FCurve fcu,
int  index,
short  do_recalc 
)
void delete_fcurve_keys ( FCurve fcu)
void duplicate_fcurve_keys ( FCurve fcu)
void free_anim_copybuf ( void  )
short paste_animedit_keys ( bAnimContext ac,
ListBase anim_data,
const eKeyPasteOffset  offset_mode,
const eKeyMergeMode  merge_mode 
)
static void paste_animedit_keys_fcurve ( FCurve fcu,
tAnimCopybufItem aci,
float  offset,
const eKeyMergeMode  merge_mode 
) [static]
static tAnimCopybufItem* pastebuf_match_index_only ( FCurve fcu,
const short  from_single,
const short   UNUSEDto_simple 
) [static]
static tAnimCopybufItem* pastebuf_match_path_full ( FCurve fcu,
const short  from_single,
const short  to_simple 
) [static]
static tAnimCopybufItem* pastebuf_match_path_property ( FCurve fcu,
const short  from_single,
const short   UNUSEDto_simple 
) [static]
void sample_fcurve ( FCurve fcu)
void smooth_fcurve ( FCurve fcu)

Variable Documentation

float animcopy_cfra = 0.0 [static]

Definition at line 460 of file keyframes_general.c.

Referenced by copy_animedit_keys(), and paste_animedit_keys().

float animcopy_firstframe = 999999999.0f [static]
float animcopy_lastframe = -999999999.0f [static]
ListBase animcopybuf = {NULL, NULL} [static]

Definition at line 457 of file keyframes_general.c.

Initial value:
 {
    {KEYFRAME_PASTE_MERGE_MIX, "MIX", 0, "Mix", "Overlay existing with new keys"},
    {KEYFRAME_PASTE_MERGE_OVER, "OVER_ALL", 0, "Overwrite All", "Replace all keys"},
    {KEYFRAME_PASTE_MERGE_OVER_RANGE, "OVER_RANGE", 0, "Overwrite Range", "Overwrite keys in pasted range"},
    {KEYFRAME_PASTE_MERGE_OVER_RANGE_ALL, "OVER_RANGE_ALL", 0, "Overwrite Entire Range", "Overwrite keys in pasted range, using the range of all copied keys"},
    {0, NULL, 0, NULL, NULL}}

Definition at line 752 of file keyframes_general.c.

Referenced by ACTION_OT_paste(), and GRAPH_OT_paste().

Initial value:
 {
    {KEYFRAME_PASTE_OFFSET_CFRA_START, "START", 0, "Frame Start", "Paste keys starting at current frame"},
    {KEYFRAME_PASTE_OFFSET_CFRA_END, "END", 0, "Frame End", "Paste keys ending at current frame"},
    {KEYFRAME_PASTE_OFFSET_CFRA_RELATIVE, "RELATIVE", 0, "Frame Relative", "Paste keys relative to the current frame when copying"},
    {KEYFRAME_PASTE_OFFSET_NONE, "NONE", 0, "No Offset", "Paste keys from original time"},
    {0, NULL, 0, NULL, NULL}}

Definition at line 745 of file keyframes_general.c.

Referenced by ACTION_OT_paste(), and GRAPH_OT_paste().