Blender
V3.3
|
#include "BLI_sys_types.h"
Go to the source code of this file.
Typedefs | |
typedef enum eAnimData_MergeCopy_Modes | eAnimData_MergeCopy_Modes |
Enumerations | |
enum | eAnimData_MergeCopy_Modes { ADT_MERGECOPY_KEEP_DST = 0 , ADT_MERGECOPY_SRC_COPY = 1 , ADT_MERGECOPY_SRC_REF = 2 } |
typedef enum eAnimData_MergeCopy_Modes eAnimData_MergeCopy_Modes |
Enumerator | |
---|---|
ADT_MERGECOPY_KEEP_DST | |
ADT_MERGECOPY_SRC_COPY | |
ADT_MERGECOPY_SRC_REF |
Definition at line 107 of file BKE_anim_data.h.
Ensure that the action's idroot is set correctly given the ID type of the owner. Return true if it is, false if it was already set to an incompatible type.
Referenced by ED_id_action_ensure(), and what_does_obaction().
void BKE_animdata_blend_read_data | ( | struct BlendDataReader * | reader, |
struct AnimData * | adt | ||
) |
Definition at line 1443 of file anim_data.c.
References AnimData::act_track, AnimData::actstrip, BKE_fcurve_blend_read_data(), BKE_nla_blend_read_data(), BLO_read_data_address, BLO_read_list(), AnimData::driver_array, AnimData::drivers, AnimData::nla_tracks, and NULL.
Referenced by armature_blend_read_data(), BKE_gpencil_blend_read_data(), cache_file_blend_read_data(), camera_blend_read_data(), curve_blend_read_data(), curves_blend_read_data(), lattice_blend_read_data(), light_blend_read_data(), lightprobe_blend_read_data(), linestyle_blend_read_data(), material_blend_read_data(), mesh_blend_read_data(), metaball_blend_read_data(), movieclip_blend_read_data(), ntreeBlendReadData(), object_blend_read_data(), particle_settings_blend_read_data(), pointcloud_blend_read_data(), scene_blend_read_data(), shapekey_blend_read_data(), simulation_blend_read_data(), speaker_blend_read_data(), texture_blend_read_data(), volume_blend_read_data(), and world_blend_read_data().
void BKE_animdata_blend_read_expand | ( | struct BlendExpander * | expander, |
struct AnimData * | adt | ||
) |
Definition at line 1491 of file anim_data.c.
References AnimData::action, BKE_fcurve_blend_read_expand(), BKE_nla_blend_read_expand(), BLO_expand, AnimData::drivers, AnimData::nla_tracks, and AnimData::tmpact.
Referenced by expand_id().
void BKE_animdata_blend_read_lib | ( | struct BlendLibReader * | reader, |
struct ID * | id, | ||
struct AnimData * | adt | ||
) |
Definition at line 1472 of file anim_data.c.
References AnimData::action, BKE_fcurve_blend_read_lib(), BKE_nla_blend_read_lib(), BLO_read_id_address, AnimData::drivers, id, ID::lib, AnimData::nla_tracks, NULL, and AnimData::tmpact.
Referenced by lib_link_id().
void BKE_animdata_blend_write | ( | struct BlendWriter * | writer, |
struct AnimData * | adt | ||
) |
Definition at line 1421 of file anim_data.c.
References BKE_fcurve_blend_write(), BKE_nla_blend_write(), BLO_write_string(), BLO_write_struct, AnimData::drivers, LISTBASE_FOREACH, AnimData::nla_tracks, and AnimData::overrides.
Referenced by armature_blend_write(), cache_file_blend_write(), camera_blend_write(), curve_blend_write(), curves_blend_write(), greasepencil_blend_write(), lattice_blend_write(), light_blend_write(), lightprobe_blend_write(), linestyle_blend_write(), mask_blend_write(), material_blend_write(), mesh_blend_write(), metaball_blend_write(), movieclip_blend_write(), ntreeBlendWrite(), object_blend_write(), particle_settings_blend_write(), pointcloud_blend_write(), scene_blend_write(), shapekey_blend_write(), simulation_blend_write(), speaker_blend_write(), texture_blend_write(), volume_blend_write(), and world_blend_write().
Make a copy of the given AnimData - to be used when copying data-blocks.
flag | Control ID pointers management, see LIB_ID_CREATE_.../LIB_ID_COPY_... flags in BKE_lib_id.h |
Definition at line 275 of file anim_data.c.
References AnimData::action, BKE_fcurves_copy(), BKE_id_copy_ex(), BKE_nla_tracks_copy_from_adt(), BLI_assert, BLI_listbase_clear(), AnimData::driver_array, AnimData::drivers, id_us_plus(), LIB_ID_COPY_ACTIONS, LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, NULL, AnimData::overrides, and AnimData::tmpact.
Referenced by BKE_animdata_copy_id(), BKE_libblock_copy_ex(), ED_armature_join_objects_exec(), and ED_gpencil_join_objects_exec().
flag | Control ID pointers management, see LIB_ID_CREATE_.../LIB_ID_COPY_... flags in BKE_lib_id.h |
Definition at line 327 of file anim_data.c.
References IdAdtTemplate::adt, BKE_animdata_copy(), BKE_animdata_free(), BKE_animdata_from_id(), GS, LIB_ID_CREATE_NO_USER_REFCOUNT, and ID::name.
Referenced by make_links_data_exec().
Copy AnimData Actions.
Definition at line 372 of file anim_data.c.
References animdata_copy_id_action(), and ID_IS_OVERRIDE_LIBRARY.
Ensure AnimData exists in the given ID-block (when supported).
Definition at line 90 of file anim_data.c.
References AnimData::act_influence, IdAdtTemplate::adt, id_can_have_animdata(), MEM_callocN, and NULL.
Referenced by BKE_animdata_transfer_by_basepath(), do_versions_ipos_to_animato(), ED_id_action_ensure(), nlaedit_objects_add_exec(), object_speaker_add_exec(), and verify_driver_fcurve().
void BKE_animdata_foreach_id | ( | struct AnimData * | adt, |
struct LibraryForeachIDData * | data | ||
) |
Callback used by lib_query to walk over all ID usages (mimics foreach_id
callback of IDTypeInfo structure).
Definition at line 257 of file anim_data.c.
References AnimData::action, BKE_fcurve_foreach_id(), BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_nla_strip_foreach_id(), data, AnimData::drivers, IDWALK_CB_USER, LISTBASE_FOREACH, AnimData::nla_tracks, NlaStrip::strips, and AnimData::tmpact.
Referenced by library_foreach_ID_link().
Free AnimData used by the nominated ID-block, and clear ID-block's AnimData pointer.
Definition at line 197 of file anim_data.c.
References AnimData::action, IdAdtTemplate::adt, BKE_fcurves_free(), BKE_nla_tracks_free(), AnimData::driver_array, AnimData::drivers, bAction::id, id_can_have_animdata(), id_us_min(), MEM_freeN, MEM_SAFE_FREE, AnimData::nla_tracks, NULL, and AnimData::tmpact.
Referenced by animchannels_clean_empty_exec(), BKE_animdata_copy_id(), BKE_libblock_free_data(), BKE_mesh_clear_geometry(), clear_animdata_fn(), curves_free_data(), make_object_duplilist_real(), ntreeFreeTree(), pointcloud_free_data(), simulation_free_data(), and volume_free_data().
Get AnimData from the given ID-block.
Referenced by achannel_setting_slider_cb(), action_to_animdata(), ANIM_list_elem_update(), ANIM_remove_driver(), animdata_filter_base_is_ok(), animdata_keyframe_list_get(), animfilter_block_data(), animrecord_check_state(), animviz_calc_motionpaths(), BKE_animsys_eval_animdata(), BKE_animsys_eval_driver(), BKE_animsys_update_driver_array(), BKE_fcurve_find_by_rna_context_ui(), BKE_lib_override_library_property_is_animated(), BKE_library_id_can_use_filter_id(), blender::deg::DepsgraphNodeBuilder::build_animdata(), blender::deg::DepsgraphRelationBuilder::build_animdata_curves(), blender::deg::DepsgraphRelationBuilder::build_animdata_drivers(), blender::deg::DepsgraphRelationBuilder::build_copy_on_write_relations(), blender::deg::DepsgraphRelationBuilder::build_driver_relations(), clear_keyframe(), curve_is_animated(), curve_rename_fcurves(), delete_keyframe(), do_graph_region_driver_buttons(), do_version_hue_sat_node(), do_versions_after_linking_250(), do_versions_after_linking_300(), do_versions_ipos_to_animato(), draw_fcurve_curve(), ED_curve_updateAnimPaths(), ED_id_action_ensure(), expand_id(), gather_frames_to_render(), gather_frames_to_render_for_id(), blender::deg::graph_tag_ids_for_visible_update(), id_data_find_fcurve(), id_frame_has_keyframe(), insert_key_button_exec(), insert_keyframe(), ipo_to_animdata(), lib_link_id(), library_foreach_ID_link(), make_local_exec(), make_local_material_tag(), make_new_animlistelem(), mouse_nla_channels(), nlastrips_to_animdata(), poseAnim_mapping_refresh(), poselib_keytag_pose(), pyrna_struct_driver_add(), RE_RenderAnim(), remove_sequencer_fcurves(), seq_prefetch_frames(), seq_render_mask(), single_object_action_users(), single_objectdata_action_users(), tag_update_animation_element(), texture_slot_move_exec(), undocurve_from_editcurve(), undocurve_to_editcurve(), verify_driver_fcurve(), and version_liboverride_rnacollections_insertion_animdata().
Return true if the ID-block has non-empty AnimData.
Definition at line 238 of file anim_data.c.
References AnimData::action, BKE_animdata_from_id(), BLI_listbase_is_empty(), bAction::curves, AnimData::drivers, AnimData::nla_tracks, NULL, and AnimData::overrides.
Referenced by BKE_object_moves_in_time(), and blender::io::AbstractHierarchyWriter::check_is_animated().
void BKE_animdata_merge_copy | ( | struct Main * | bmain, |
struct ID * | dst_id, | ||
struct ID * | src_id, | ||
eAnimData_MergeCopy_Modes | action_mode, | ||
bool | fix_drivers | ||
) |
Merge copies of the data from the src AnimData into the destination AnimData.
Definition at line 387 of file anim_data.c.
References AnimData::action, ADT_MERGECOPY_SRC_COPY, ADT_MERGECOPY_SRC_REF, ADT_NLA_EDIT_ON, BKE_animdata_from_id(), BKE_fcurves_copy(), BKE_id_copy(), BKE_nla_tracks_copy(), BLI_movelisttolist(), CLOG_ERROR, FCurve::driver, DRIVER_TARGETS_LOOPER_END, DRIVER_TARGETS_USED_LOOPER_BEGIN, AnimData::drivers, ELEM, ListBase::first, AnimData::flag, id_us_plus(), LOG, DriverVar::next, FCurve::next, AnimData::nla_tracks, NULL, src, AnimData::tmpact, tracks, and ChannelDriver::variables.
Referenced by ED_armature_join_objects_exec(), and ED_gpencil_join_objects_exec().
bool BKE_animdata_set_action | ( | struct ReportList * | reports, |
struct ID * | id, | ||
struct bAction * | act | ||
) |
Set active action used by AnimData from the given ID-block.
Called when user tries to change the active action of an AnimData block (via RNA, Outliner, etc.)
reports | Can be NULL. |
id | The owner of the animation data |
act | The Action to set, or NULL to clear. |
Definition at line 118 of file anim_data.c.
References AnimData::action, BKE_animdata_action_editable(), BKE_animdata_action_ensure_idroot(), BKE_animdata_from_id(), BKE_report(), BKE_reportf(), id, bAction::id, id_us_min(), id_us_plus(), ID::name, NULL, RPT_ERROR, and RPT_WARNING.
Referenced by actionset_id_fn(), unlink_action_fn(), and unlinkact_animdata_fn().
Referenced by BKE_libblock_copy_ex(), and RNA_property_animateable().
bool id_type_can_have_animdata | ( | short | id_type | ) |
Check if the given ID-block can have AnimData.
Definition at line 57 of file anim_data.c.
References BKE_idtype_get_info_from_idcode(), IDTypeInfo::flags, IDTYPE_FLAGS_NO_ANIMDATA, and NULL.
Referenced by id_can_have_animdata(), and wm_context_member_from_ptr().