|
Blender V4.3
|
#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_anim_types.h"#include "DNA_armature_types.h"#include "DNA_gpencil_legacy_types.h"#include "DNA_grease_pencil_types.h"#include "DNA_mask_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "DNA_space_types.h"#include "DNA_windowmanager_types.h"#include "BLI_blenlib.h"#include "BLI_set.hh"#include "BLI_utildefines.h"#include "BKE_action.hh"#include "BKE_anim_data.hh"#include "BKE_context.hh"#include "BKE_fcurve.hh"#include "BKE_gpencil_legacy.h"#include "BKE_grease_pencil.hh"#include "BKE_screen.hh"#include "BKE_workspace.hh"#include "DEG_depsgraph.hh"#include "RNA_access.hh"#include "RNA_path.hh"#include "SEQ_sequencer.hh"#include "SEQ_utils.hh"#include "ED_anim_api.hh"#include "ANIM_action.hh"Go to the source code of this file.
Functions | |
| void | ANIM_list_elem_update (Main *bmain, Scene *scene, bAnimListElem *ale) |
| void | ANIM_id_update (Main *bmain, ID *id) |
| static void | animchan_sync_group (bAnimContext *ac, bAnimListElem *ale, bActionGroup **active_agrp) |
| static void | animchan_sync_fcurve_scene (bAnimListElem *ale) |
| static void | animchan_sync_fcurve (bAnimListElem *ale) |
| static void | animchan_sync_gplayer (bAnimListElem *ale) |
| void | ANIM_sync_animchannels_to_data (const bContext *C) |
| void | ANIM_animdata_update (bAnimContext *ac, ListBase *anim_data) |
| void | ANIM_animdata_freelist (ListBase *anim_data) |
| void | ANIM_deselect_keys_in_animation_editors (bContext *C) |
| void ANIM_animdata_freelist | ( | ListBase * | anim_data | ) |
Definition at line 457 of file anim_deps.cc.
References BLI_assert, BLI_freelistN(), BLI_listbase_clear(), ListBase::first, MEM_freeN(), bAnimListElem::next, and bAnimListElem::update.
Referenced by achannel_setting_flush_widget_cb(), action_channel_region_draw(), actkeys_channels_get_selected_extents(), actkeys_find_list_element_at_position(), actkeys_framejump_exec(), actkeys_mselect_channel_only(), actkeys_mselect_column(), actkeys_mselect_single(), actkeys_select_leftright(), actkeys_select_linked_exec(), ANIM_anim_channels_select_set(), ANIM_anim_channels_select_toggle(), ANIM_animdata_keyframe_callback(), ANIM_deselect_keys_in_animation_editors(), ANIM_editkeyframes_refresh(), ANIM_frame_channel_y_extents(), ANIM_set_active_channel(), ANIM_sync_animchannels_to_data(), animchannel_has_active_of_type(), animchannel_select_range(), animchannels_clean_empty_exec(), animchannels_delete_exec(), animchannels_enable_exec(), animchannels_group_channels(), animchannels_group_exec(), animchannels_rearrange_exec(), animchannels_ungroup_exec(), apply_fcu_segment_function(), bake_action_keys(), bake_graph_keys(), blend_to_default_graph_keys(), box_select_action(), box_select_anim_channels(), box_select_elem(), box_select_graphcurves(), box_select_graphkeys(), box_select_nla_strips(), btw_smooth_free_operator_data(), btw_smooth_graph_keys(), cachefile_to_keylist(), channels_bake_exec(), clean_action_keys(), clean_graph_keys(), columnselect_action_keys(), columnselect_graph_keys(), convert_keys_to_samples(), convert_samples_to_keys(), copy_action_keys(), copy_graph_keys(), count_fcurves_hidden_by_filter(), create_ghost_curves(), createTransActionData(), createTransGraphEditData(), createTransNlaData(), decimate_graph_keys(), delete_action_keys(), delete_graph_keys(), deselect_action_keys(), deselect_all_fcurves(), deselect_graph_keys(), deselect_nla_strips(), draw_channel_strips(), draw_nla_main_data(), duplicate_action_keys(), duplicate_graph_keys(), ease_graph_keys(), ED_gpencil_anim_copybuf_copy(), ED_gpencil_anim_copybuf_paste(), ED_nla_postop_refresh(), equalize_graph_keys(), gaussian_smooth_free_operator_data(), gaussian_smooth_graph_keys(), get_active_fcurve_channel(), get_graph_keyframe_extents(), get_keyframe_extents(), get_nearest_fcurve_verts_list(), get_nlastrip_extents(), graph_channel_region_draw(), graph_draw_curves(), graph_driver_delete_invalid_exec(), graph_fmodifier_add_exec(), graph_fmodifier_paste_exec(), graph_has_selected_control_points(), graph_refresh_fcurve_colors(), graphkeys_channel_view_pick_invoke(), graphkeys_euler_filter_exec(), graphkeys_mselect_column(), graphkeys_select_key_handles(), graphkeys_select_leftright(), graphkeys_select_linked_exec(), graphkeys_smooth_exec(), graphkeys_view_selected_channels_exec(), graphop_editable_keyframes_poll(), graphop_selected_fcurve_poll(), graphop_visible_keyframes_poll(), graphview_curves_hide_exec(), graphview_curves_reveal_exec(), blender::ed::greasepencil::grease_pencil_copy_keyframes(), blender::ed::greasepencil::grease_pencil_paste_keyframes(), insert_action_keys(), keyframe_jump_exec(), markers_selectkeys_between(), markers_selectkeys_between(), match_slope_graph_keys(), mirror_action_keys(), mirror_graph_keys(), mouse_anim_channels(), mouse_nla_tracks(), nla_fmodifier_add_exec(), nla_fmodifier_copy_exec(), nla_fmodifier_paste_exec(), nla_panel_context(), nla_track_region_draw(), nla_tracks_get_selected_extents(), nlaedit_add_actionclip_exec(), nlaedit_add_meta_exec(), nlaedit_add_sound_exec(), nlaedit_add_tracks_empty(), nlaedit_add_tracks_existing(), nlaedit_add_transition_exec(), nlaedit_apply_scale_exec(), nlaedit_clear_scale_exec(), nlaedit_delete_exec(), nlaedit_delete_tracks_exec(), nlaedit_disable_tweakmode(), nlaedit_duplicate_exec(), nlaedit_enable_tweakmode_exec(), nlaedit_make_single_user_exec(), nlaedit_move_down_exec(), nlaedit_move_up_exec(), nlaedit_remove_meta_exec(), nlaedit_select_leftright(), nlaedit_snap_exec(), nlaedit_split_exec(), nlaedit_strip_at_region_position(), nlaedit_swap_exec(), nlaedit_sync_actlen_exec(), nlaedit_toggle_mute_exec(), nlatrack_truncate_temporary_tracks(), nlatracks_pushdown_exec(), ob_keyframes_loop(), ob_to_keylist(), paste_action_keys(), paste_graph_keys(), posttrans_action_clean(), rearrange_gpencil_channels(), recalcData_actedit(), recalcData_graphedit(), blender::animrig::reevaluate_fcurve_errors(), region_select_action_keys(), region_select_elem(), rename_anim_channels(), reset_bezts(), scale_from_neighbor_graph_keys(), scene_keyframes_loop(), scene_to_keylist(), screen_ctx_active_editable_fcurve(), screen_ctx_sel_actions_impl(), screen_ctx_sel_edit_fcurves_(), screen_ctx_selected_editable_keyframes(), screen_ctx_selected_nla_strips(), select_anim_channel_keys(), select_moreless_action_keys(), select_moreless_graph_keys(), seteasing_graph_keys(), setexpo_action_keys(), setexpo_graph_keys(), setflag_anim_channels(), sethandles_action_keys(), sethandles_graph_keys(), setipo_graph_keys(), setkeytype_action_keys(), shear_graph_keys(), snap_action_keys(), snap_graph_keys(), special_aftertrans_update__actedit(), special_aftertrans_update__graph(), special_aftertrans_update__nla(), store_original_bezt_arrays(), sum_selected_keyframes(), summary_keyframes_loop(), summary_to_keylist(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), and update_depsgraph().
| void ANIM_animdata_update | ( | bAnimContext * | ac, |
| ListBase * | anim_data ) |
Acts on bAnimListElem eAnim_Update_Flags.
Definition at line 350 of file anim_deps.cc.
References ALE_FCURVE, ALE_MASKLAY, ANIM_list_elem_update(), ANIM_UPDATE_DEPS, ANIM_UPDATE_HANDLES, ANIM_UPDATE_ORDER, ANIMTYPE_ANIMDATA, ANIMTYPE_GPLAYER, ANIMTYPE_GREASE_PENCIL_DATABLOCK, ANIMTYPE_GREASE_PENCIL_LAYER, ANIMTYPE_GREASE_PENCIL_LAYER_GROUP, ANIMTYPE_NLAACTION, ANIMTYPE_NLACURVE, ANIMTYPE_NLATRACK, BKE_fcurve_handles_recalc(), BKE_gpencil_layer_frames_sort(), BLI_assert, bAnimContext::bmain, ELEM, G, G_DEBUG, LISTBASE_FOREACH, printf, bAnimContext::scene, and sort_time_fcurve().
Referenced by actkeys_mselect_channel_only(), actkeys_mselect_column(), actkeys_mselect_single(), actkeys_select_leftright(), ANIM_animdata_keyframe_callback(), ANIM_editkeyframes_refresh(), animchannels_delete_exec(), animchannels_enable_exec(), apply_fcu_segment_function(), bake_action_keys(), bake_graph_keys(), blend_to_default_graph_keys(), box_select_action(), box_select_elem(), btw_smooth_graph_keys(), btw_smooth_modal_update(), clean_action_keys(), clean_graph_keys(), columnselect_action_keys(), convert_keys_to_samples(), convert_samples_to_keys(), decimate_graph_keys(), delete_action_keys(), delete_graph_keys(), deselect_action_keys(), duplicate_action_keys(), duplicate_graph_keys(), ease_graph_keys(), ED_nla_postop_refresh(), equalize_graph_keys(), gaussian_smooth_graph_keys(), gaussian_smooth_modal_update(), graph_fmodifier_add_exec(), graph_fmodifier_paste_exec(), graphkeys_click_insert_exec(), graphkeys_euler_filter_exec(), graphkeys_smooth_exec(), insert_action_keys(), markers_selectkeys_between(), match_slope_graph_keys(), mirror_action_keys(), mirror_graph_keys(), mouse_action_keys(), mouse_nla_tracks(), nla_fmodifier_add_exec(), nla_fmodifier_paste_exec(), nlaedit_add_meta_exec(), nlaedit_add_tracks_empty(), nlaedit_add_tracks_existing(), nlaedit_apply_scale_exec(), nlaedit_delete_tracks_exec(), nlaedit_disable_tweakmode(), nlaedit_enable_tweakmode_exec(), nlaedit_make_single_user_exec(), nlaedit_remove_meta_exec(), nlaedit_snap_exec(), nlaedit_sync_actlen_exec(), nlaedit_toggle_mute_exec(), paste_animedit_keys(), region_select_action_keys(), region_select_elem(), scale_from_neighbor_graph_keys(), seteasing_graph_keys(), setexpo_action_keys(), setexpo_graph_keys(), sethandles_action_keys(), sethandles_graph_keys(), setipo_graph_keys(), setkeytype_action_keys(), shear_graph_keys(), snap_action_keys(), and snap_graph_keys().
| void ANIM_deselect_keys_in_animation_editors | ( | bContext * | C | ) |
Deselects the keys displayed within the open animation editors. Depending on the display settings of those editors, the keys may not be from an action of the selected objects.
Definition at line 472 of file anim_deps.cc.
References ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIM_animdata_get_context(), ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, BKE_area_find_region_type(), BKE_workspace_active_screen_get(), CTX_wm_area(), CTX_wm_area_set(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_region_set(), CTX_wm_window(), CTX_wm_window_set(), bAnimContext::data, bAnimContext::datatype, ELEM, LISTBASE_FOREACH, RGN_TYPE_WINDOW, SPACE_ACTION, and SPACE_GRAPH.
Referenced by actkeys_insertkey_exec(), graphkeys_insertkey_exec(), insert_key_button_exec(), insert_key_exec(), keyframe_insert_with_keyingset_exec(), blender::ed::object::object_clear_transform_generic_exec(), snap_sel_to_grid_exec(), snap_selected_to_location(), special_aftertrans_update__object(), and special_aftertrans_update__pose().
Tags the given ID block for refreshes (if applicable) due to Animation Editor editing.
Definition at line 102 of file anim_deps.cc.
References DEG_id_tag_update_ex(), ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, and ID_RECALC_TRANSFORM.
Referenced by convert_action_exec(), merge_actions_selection_exec(), and recalcData_nla().
| void ANIM_list_elem_update | ( | Main * | bmain, |
| Scene * | scene, | ||
| bAnimListElem * | ale ) |
Tags the given anim list element for refreshes (if applicable) due to Animation Editor editing.
Definition at line 51 of file anim_deps.cc.
References AnimData::action, ALE_FCURVE, ANIMTYPE_ANIMDATA, ANIMTYPE_NLAACTION, ANIMTYPE_NLACURVE, ANIMTYPE_NLATRACK, BKE_animdata_from_id(), bAnimListElem::datatype, DEG_id_tag_update(), ELEM, bAction::id, bAnimListElem::id, ID_RECALC_ANIMATION, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, bAnimListElem::key_data, ptr, RNA_id_pointer_create(), FCurve::rna_path, RNA_path_resolve_property(), RNA_property_update_main(), and bAnimListElem::type.
Referenced by ANIM_animdata_update(), recalcData_actedit(), and recalcData_graphedit().
| void ANIM_sync_animchannels_to_data | ( | const bContext * | C | ) |
Main call to be exported to animation editors.
Definition at line 255 of file anim_deps.cc.
References ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIM_animdata_get_context(), animchan_sync_fcurve(), animchan_sync_gplayer(), animchan_sync_group(), ANIMFILTER_DATA_VISIBLE, ANIMFILTER_LIST_CHANNELS, ANIMFILTER_NODUPLIS, ANIMTYPE_ACTION_SLOT, ANIMTYPE_ANIMDATA, ANIMTYPE_DSARM, ANIMTYPE_DSCACHEFILE, ANIMTYPE_DSCAM, ANIMTYPE_DSCUR, ANIMTYPE_DSGPENCIL, ANIMTYPE_DSHAIR, ANIMTYPE_DSLAM, ANIMTYPE_DSLAT, ANIMTYPE_DSLINESTYLE, ANIMTYPE_DSMAT, ANIMTYPE_DSMBALL, ANIMTYPE_DSMCLIP, ANIMTYPE_DSMESH, ANIMTYPE_DSNTREE, ANIMTYPE_DSPART, ANIMTYPE_DSPOINTCLOUD, ANIMTYPE_DSSKEY, ANIMTYPE_DSSPK, ANIMTYPE_DSTEX, ANIMTYPE_DSVOLUME, ANIMTYPE_DSWOR, ANIMTYPE_FCURVE, ANIMTYPE_FILLACT_LAYERED, ANIMTYPE_FILLACTD, ANIMTYPE_FILLDRIVERS, ANIMTYPE_GPDATABLOCK, ANIMTYPE_GPLAYER, ANIMTYPE_GREASE_PENCIL_DATABLOCK, ANIMTYPE_GREASE_PENCIL_LAYER, ANIMTYPE_GREASE_PENCIL_LAYER_GROUP, ANIMTYPE_GROUP, ANIMTYPE_MASKDATABLOCK, ANIMTYPE_MASKLAYER, ANIMTYPE_NLAACTION, ANIMTYPE_NLACONTROLS, ANIMTYPE_NLACURVE, ANIMTYPE_NLATRACK, ANIMTYPE_NONE, ANIMTYPE_NUM_TYPES, ANIMTYPE_OBJECT, ANIMTYPE_PALETTE, ANIMTYPE_SCENE, ANIMTYPE_SHAPEKEY, ANIMTYPE_SPECIALDATA__UNUSED, ANIMTYPE_SUMMARY, bAnimContext::data, bAnimContext::datatype, filter(), and LISTBASE_FOREACH.
Referenced by action_refresh(), and graph_refresh().
|
static |
Definition at line 210 of file anim_deps.cc.
References animchan_sync_fcurve_scene(), bAnimListElem::data, ELEM, GS, bAnimListElem::id, ID_SCE, ID::name, and FCurve::rna_path.
Referenced by ANIM_sync_animchannels_to_data().
|
static |
Definition at line 179 of file anim_deps.cc.
References BLI_assert, BLI_str_quoted_substr(), bAnimListElem::data, FCURVE_SELECTED, FCurve::flag, Sequence::flag, GS, bAnimListElem::id, ID_SCE, ID::name, Sequence::name, FCurve::rna_path, SELECT, SEQ_editing_get(), SEQ_get_sequence_by_name(), and Editing::seqbasep.
Referenced by animchan_sync_fcurve().
|
static |
Definition at line 232 of file anim_deps.cc.
References bAnimListElem::data, bGPDlayer::flag, GP_LAYER_ACTIVE, and GP_LAYER_SELECT.
Referenced by ANIM_sync_animchannels_to_data().
|
static |
Definition at line 122 of file anim_deps.cc.
References bArmature::act_bone, action_group_colors_set_from_posebone(), AGRP_ACTIVE, AGRP_SELECTED, BKE_pose_channel_find_name(), bPoseChannel::bone, BONE_SELECTED, bAnimListElem::data, Object::data, ELEM, bActionGroup::flag, Bone::flag, GS, bAnimListElem::id, ID_OB, bActionGroup::name, ID::name, bAnimContext::obact, and Object::pose.
Referenced by ANIM_sync_animchannels_to_data().