Blender
V3.3
|
#include "BLI_range.h"
Go to the source code of this file.
Classes | |
struct | ActKeyBlockInfo |
struct | ActKeyColumn |
Typedefs | |
typedef struct ActKeyBlockInfo | ActKeyBlockInfo |
typedef struct ActKeyColumn | ActKeyColumn |
typedef enum eActKeyBlock_Hold | eActKeyBlock_Flag |
typedef enum eKeyframeShapeDrawOpts | eKeyframeShapeDrawOpts |
typedef enum eKeyframeHandleDrawOpts | eKeyframeHandleDrawOpts |
typedef enum eKeyframeExtremeDrawOpts | eKeyframeExtremeDrawOpts |
Enumerations | |
enum | eActKeyBlock_Hold { ACTKEYBLOCK_FLAG_MOVING_HOLD = (1 << 0) , ACTKEYBLOCK_FLAG_STATIC_HOLD = (1 << 1) , ACTKEYBLOCK_FLAG_ANY_HOLD = (1 << 2) , ACTKEYBLOCK_FLAG_NON_BEZIER = (1 << 3) , ACTKEYBLOCK_FLAG_GPENCIL = (1 << 4) } |
enum | eKeyframeShapeDrawOpts { KEYFRAME_SHAPE_FRAME = 0 , KEYFRAME_SHAPE_INSIDE , KEYFRAME_SHAPE_BOTH } |
enum | eKeyframeHandleDrawOpts { KEYFRAME_HANDLE_NONE = 0 , KEYFRAME_HANDLE_AUTO_CLAMP , KEYFRAME_HANDLE_AUTO , KEYFRAME_HANDLE_VECTOR , KEYFRAME_HANDLE_ALIGNED , KEYFRAME_HANDLE_FREE } |
enum | eKeyframeExtremeDrawOpts { KEYFRAME_EXTREME_NONE = 0 , KEYFRAME_EXTREME_MIN = (1 << 0) , KEYFRAME_EXTREME_MAX = (1 << 1) , KEYFRAME_EXTREME_MIXED = (1 << 2) , KEYFRAME_EXTREME_FLAT = (1 << 3) } |
Functions | |
struct AnimKeylist * | ED_keylist_create (void) |
void | ED_keylist_free (struct AnimKeylist *keylist) |
void | ED_keylist_prepare_for_direct_access (struct AnimKeylist *keylist) |
const struct ActKeyColumn * | ED_keylist_find_exact (const struct AnimKeylist *keylist, float cfra) |
const struct ActKeyColumn * | ED_keylist_find_next (const struct AnimKeylist *keylist, float cfra) |
const struct ActKeyColumn * | ED_keylist_find_prev (const struct AnimKeylist *keylist, float cfra) |
const struct ActKeyColumn * | ED_keylist_find_any_between (const struct AnimKeylist *keylist, const Range2f frame_range) |
bool | ED_keylist_is_empty (const struct AnimKeylist *keylist) |
const struct ListBase * | ED_keylist_listbase (const struct AnimKeylist *keylist) |
bool | ED_keylist_all_keys_frame_range (const struct AnimKeylist *keylist, Range2f *r_frame_range) |
bool | ED_keylist_selected_keys_frame_range (const struct AnimKeylist *keylist, Range2f *r_frame_range) |
const ActKeyColumn * | ED_keylist_array (const struct AnimKeylist *keylist) |
int64_t | ED_keylist_array_len (const struct AnimKeylist *keylist) |
void | fcurve_to_keylist (struct AnimData *adt, struct FCurve *fcu, struct AnimKeylist *keylist, int saction_flag) |
void | agroup_to_keylist (struct AnimData *adt, struct bActionGroup *agrp, struct AnimKeylist *keylist, int saction_flag) |
void | action_to_keylist (struct AnimData *adt, struct bAction *act, struct AnimKeylist *keylist, int saction_flag) |
void | ob_to_keylist (struct bDopeSheet *ads, struct Object *ob, struct AnimKeylist *keylist, int saction_flag) |
void | cachefile_to_keylist (struct bDopeSheet *ads, struct CacheFile *cache_file, struct AnimKeylist *keylist, int saction_flag) |
void | scene_to_keylist (struct bDopeSheet *ads, struct Scene *sce, struct AnimKeylist *keylist, int saction_flag) |
void | summary_to_keylist (struct bAnimContext *ac, struct AnimKeylist *keylist, int saction_flag) |
void | gpencil_to_keylist (struct bDopeSheet *ads, struct bGPdata *gpd, struct AnimKeylist *keylist, bool active) |
void | gpl_to_keylist (struct bDopeSheet *ads, struct bGPDlayer *gpl, struct AnimKeylist *keylist) |
void | mask_to_keylist (struct bDopeSheet *ads, struct MaskLayer *masklay, struct AnimKeylist *keylist) |
bool | actkeyblock_is_valid (const ActKeyColumn *ac) |
int | actkeyblock_get_valid_hold (const ActKeyColumn *ac) |
typedef struct ActKeyBlockInfo ActKeyBlockInfo |
typedef struct ActKeyColumn ActKeyColumn |
typedef enum eActKeyBlock_Hold eActKeyBlock_Flag |
typedef enum eKeyframeExtremeDrawOpts eKeyframeExtremeDrawOpts |
typedef enum eKeyframeHandleDrawOpts eKeyframeHandleDrawOpts |
typedef enum eKeyframeShapeDrawOpts eKeyframeShapeDrawOpts |
enum eActKeyBlock_Hold |
Enumerator | |
---|---|
ACTKEYBLOCK_FLAG_MOVING_HOLD | |
ACTKEYBLOCK_FLAG_STATIC_HOLD | |
ACTKEYBLOCK_FLAG_ANY_HOLD | |
ACTKEYBLOCK_FLAG_NON_BEZIER | |
ACTKEYBLOCK_FLAG_GPENCIL |
Definition at line 73 of file ED_keyframes_keylist.h.
Enumerator | |
---|---|
KEYFRAME_EXTREME_NONE | |
KEYFRAME_EXTREME_MIN | |
KEYFRAME_EXTREME_MAX | |
KEYFRAME_EXTREME_MIXED | |
KEYFRAME_EXTREME_FLAT |
Definition at line 111 of file ED_keyframes_keylist.h.
Enumerator | |
---|---|
KEYFRAME_HANDLE_NONE | |
KEYFRAME_HANDLE_AUTO_CLAMP | |
KEYFRAME_HANDLE_AUTO | |
KEYFRAME_HANDLE_VECTOR | |
KEYFRAME_HANDLE_ALIGNED | |
KEYFRAME_HANDLE_FREE |
Definition at line 99 of file ED_keyframes_keylist.h.
Enumerator | |
---|---|
KEYFRAME_SHAPE_FRAME | |
KEYFRAME_SHAPE_INSIDE | |
KEYFRAME_SHAPE_BOTH |
Definition at line 89 of file ED_keyframes_keylist.h.
void action_to_keylist | ( | struct AnimData * | adt, |
struct bAction * | act, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 1089 of file keyframes_keylist.cc.
References bAction::curves, fcurve_to_keylist(), and LISTBASE_FOREACH.
Referenced by actkeys_list_element_to_keylist(), animviz_calc_motionpaths(), ED_keylist_draw_list_elem_build_keylist(), nla_action_draw_keyframes(), and poselib_sanitize_exec().
int actkeyblock_get_valid_hold | ( | const ActKeyColumn * | ac | ) |
Checks if ActKeyColumn can be used as a block (i.e. drawn/used to detect "holds").
Definition at line 874 of file keyframes_keylist.cc.
References ACTKEYBLOCK_FLAG_ANY_HOLD, ACTKEYBLOCK_FLAG_STATIC_HOLD, actkeyblock_is_valid(), ActKeyColumn::block, ActKeyBlockInfo::conflict, and ActKeyBlockInfo::flag.
Referenced by draw_keylist_block(), and pose_propagate_get_boneHoldEndFrame().
bool actkeyblock_is_valid | ( | const ActKeyColumn * | ac | ) |
Checks if ActKeyColumn has any block data.
Definition at line 869 of file keyframes_keylist.cc.
References ActKeyColumn::next, and ActKeyColumn::totblock.
Referenced by actkeyblock_get_valid_hold(), and draw_keylist_block().
void agroup_to_keylist | ( | struct AnimData * | adt, |
struct bActionGroup * | agrp, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 1073 of file keyframes_keylist.cc.
References bActionGroup::channels, fcurve_to_keylist(), and LISTBASE_FOREACH.
Referenced by actkeys_list_element_to_keylist(), animviz_calc_motionpaths(), and ED_keylist_draw_list_elem_build_keylist().
void cachefile_to_keylist | ( | struct bDopeSheet * | ads, |
struct CacheFile * | cache_file, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 996 of file keyframes_keylist.cc.
References bAnimContext::ads, bAnimListElem::adt, CacheFile::adt, ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMCONT_CHANNEL, ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, ANIMTYPE_DSCACHEFILE, bAnimContext::data, bAnimListElem::data, bAnimContext::datatype, fcurve_to_keylist(), filter(), bAnimListElem::id, CacheFile::id, LISTBASE_FOREACH, and bAnimListElem::type.
bool ED_keylist_all_keys_frame_range | ( | const struct AnimKeylist * | keylist, |
Range2f * | r_frame_range | ||
) |
Definition at line 321 of file keyframes_keylist.cc.
References BLI_assert, ActKeyColumn::cfra, ED_keylist_is_empty(), keylist_first_last(), Range2f::max, and Range2f::min.
Referenced by animviz_motionpath_compute_range(), and nla_action_draw_keyframes().
const ActKeyColumn* ED_keylist_array | ( | const struct AnimKeylist * | keylist | ) |
Definition at line 281 of file keyframes_keylist.cc.
References BLI_assert_msg, AnimKeylist::is_runtime_initialized, AnimKeylist::key_columns, and AnimKeylist::runtime.
Referenced by ED_keylist_draw_list_elem_draw_blocks(), and ED_keylist_draw_list_elem_draw_keys().
int64_t ED_keylist_array_len | ( | const struct AnimKeylist * | keylist | ) |
Definition at line 289 of file keyframes_keylist.cc.
References AnimKeylist::column_len.
Referenced by ED_keylist_draw_list_elem_draw_blocks(), and ED_keylist_draw_list_elem_draw_keys().
struct AnimKeylist* ED_keylist_create | ( | void | ) |
Definition at line 96 of file keyframes_keylist.cc.
Referenced by actkeys_find_key_in_list_element(), animviz_calc_motionpaths(), animviz_motionpath_compute_range(), blender::editor::animation::tests::create_test_keylist(), ed_keylist_draw_list_add_elem(), find_prev_next_keyframes(), keyframe_jump_exec(), motionpath_calculate_update_range(), nla_action_draw_keyframes(), pose_propagate_get_boneHoldEndFrame(), pose_slide_init(), and poselib_sanitize_exec().
const struct ActKeyColumn* ED_keylist_find_any_between | ( | const struct AnimKeylist * | keylist, |
const Range2f | frame_range | ||
) |
const struct ActKeyColumn* ED_keylist_find_exact | ( | const struct AnimKeylist * | keylist, |
float | cfra | ||
) |
const struct ActKeyColumn* ED_keylist_find_next | ( | const struct AnimKeylist * | keylist, |
float | cfra | ||
) |
const struct ActKeyColumn* ED_keylist_find_prev | ( | const struct AnimKeylist * | keylist, |
float | cfra | ||
) |
void ED_keylist_free | ( | struct AnimKeylist * | keylist | ) |
Definition at line 102 of file keyframes_keylist.cc.
References BLI_assert.
Referenced by actkeys_find_key_in_list_element(), animviz_calc_motionpaths(), animviz_motionpath_compute_range(), ED_keylist_draw_list_free(), find_prev_next_keyframes(), keyframe_jump_exec(), motionpath_calculate_update_range(), motionpath_free_free_tree_data(), nla_action_draw_keyframes(), pose_propagate_get_boneHoldEndFrame(), pose_slide_exit(), poselib_sanitize_exec(), and blender::editor::animation::tests::TEST().
bool ED_keylist_is_empty | ( | const struct AnimKeylist * | keylist | ) |
Definition at line 294 of file keyframes_keylist.cc.
References AnimKeylist::column_len.
Referenced by ED_keylist_add_or_update_column(), ED_keylist_all_keys_frame_range(), ED_keylist_find_any_between(), ED_keylist_find_exact(), ED_keylist_find_exact_or_neighbor_column(), ED_keylist_find_lower_bound(), ED_keylist_find_next(), ED_keylist_find_prev(), ED_keylist_find_upper_bound(), ED_keylist_runtime_init_listbase(), ED_keylist_selected_keys_frame_range(), nla_action_draw_keyframes(), and pose_slide_invoke_common().
const struct ListBase* ED_keylist_listbase | ( | const struct AnimKeylist * | keylist | ) |
void ED_keylist_prepare_for_direct_access | ( | struct AnimKeylist * | keylist | ) |
Definition at line 160 of file keyframes_keylist.cc.
References ED_keylist_runtime_init(), and AnimKeylist::is_runtime_initialized.
Referenced by actkeys_find_key_in_list_element(), animviz_calc_motionpaths(), blender::editor::animation::tests::create_test_keylist(), ED_keylist_draw_list_elem_prepare_for_drawing(), find_prev_next_keyframes(), keyframe_jump_exec(), motionpath_calculate_update_range(), pose_propagate_get_boneHoldEndFrame(), and pose_slide_invoke_common().
bool ED_keylist_selected_keys_frame_range | ( | const struct AnimKeylist * | keylist, |
Range2f * | r_frame_range | ||
) |
Definition at line 338 of file keyframes_keylist.cc.
References BLI_assert, ActKeyColumn::cfra, ED_keylist_is_empty(), keylist_first_last(), Range2f::max, Range2f::min, ActKeyColumn::next, ActKeyColumn::prev, ActKeyColumn::sel, and SELECT.
Referenced by animviz_motionpath_compute_range().
void fcurve_to_keylist | ( | struct AnimData * | adt, |
struct FCurve * | fcu, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 1031 of file keyframes_keylist.cc.
References add_bezt_to_keycolumns_list(), ANIM_nla_mapping_apply_fcurve(), FCurve::bezt, BKE_fcurve_is_cyclic(), BezTripleChain::cur, ED_keylist_reset_last_accessed(), is_cyclic(), BezTripleChain::next, BezTripleChain::prev, SACTION_SHOW_EXTREMES, FCurve::totvert, update_keyblocks(), and v.
Referenced by action_to_keylist(), actkeys_list_element_to_keylist(), agroup_to_keylist(), animviz_motionpath_compute_range(), cachefile_to_keylist(), blender::editor::animation::tests::create_test_keylist(), ED_keylist_draw_list_elem_build_keylist(), motionpath_calculate_update_range(), ob_to_keylist(), pose_propagate_get_boneHoldEndFrame(), pose_slide_invoke_common(), scene_to_keylist(), and summary_to_keylist().
void gpencil_to_keylist | ( | struct bDopeSheet * | ads, |
struct bGPdata * | gpd, | ||
struct AnimKeylist * | keylist, | ||
bool | active | ||
) |
Definition at line 1099 of file keyframes_keylist.cc.
References blender::compositor::active, GP_LAYER_HIDE, GP_LAYER_SELECT, gpl_to_keylist(), bGPdata::layers, and LISTBASE_FOREACH_BACKWARD.
Referenced by find_prev_next_keyframes(), and keyframe_jump_exec().
void gpl_to_keylist | ( | struct bDopeSheet * | ads, |
struct bGPDlayer * | gpl, | ||
struct AnimKeylist * | keylist | ||
) |
void mask_to_keylist | ( | struct bDopeSheet * | ads, |
struct MaskLayer * | masklay, | ||
struct AnimKeylist * | keylist | ||
) |
void ob_to_keylist | ( | struct bDopeSheet * | ads, |
struct Object * | ob, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 959 of file keyframes_keylist.cc.
References bAnimContext::ads, bAnimListElem::adt, Object::adt, ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMCONT_CHANNEL, ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, ANIMTYPE_OBJECT, bAnimContext::data, bAnimListElem::data, bAnimContext::datatype, fcurve_to_keylist(), filter(), bAnimListElem::id, Object::id, LISTBASE_FOREACH, Base::object, and bAnimListElem::type.
Referenced by actkeys_list_element_to_keylist(), ED_keylist_draw_list_elem_build_keylist(), find_prev_next_keyframes(), and keyframe_jump_exec().
void scene_to_keylist | ( | struct bDopeSheet * | ads, |
struct Scene * | sce, | ||
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 924 of file keyframes_keylist.cc.
References bAnimContext::ads, bAnimListElem::adt, Scene::adt, ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMCONT_CHANNEL, ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, ANIMTYPE_SCENE, bAnimContext::data, bAnimListElem::data, bAnimContext::datatype, fcurve_to_keylist(), filter(), bAnimListElem::id, Scene::id, LISTBASE_FOREACH, and bAnimListElem::type.
Referenced by actkeys_list_element_to_keylist(), ED_keylist_draw_list_elem_build_keylist(), find_prev_next_keyframes(), and keyframe_jump_exec().
void summary_to_keylist | ( | struct bAnimContext * | ac, |
struct AnimKeylist * | keylist, | ||
int | saction_flag | ||
) |
Definition at line 887 of file keyframes_keylist.cc.
References bAnimContext::ads, ALE_FCURVE, ALE_GPFRAME, ALE_MASKLAY, ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMFILTER_DATA_VISIBLE, bAnimContext::data, bAnimContext::datatype, fcurve_to_keylist(), filter(), gpl_to_keylist(), LISTBASE_FOREACH, and mask_to_keylist().
Referenced by actkeys_list_element_to_keylist(), and ED_keylist_draw_list_elem_build_keylist().