|
Blender
V2.93
|
#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 } |
Functions | |
| bool | id_type_can_have_animdata (const short id_type) |
| bool | id_can_have_animdata (const struct ID *id) |
| struct AnimData * | BKE_animdata_from_id (struct ID *id) |
| struct AnimData * | BKE_animdata_add_id (struct ID *id) |
| bool | BKE_animdata_set_action (struct ReportList *reports, struct ID *id, struct bAction *act) |
| bool | BKE_animdata_action_editable (const struct AnimData *adt) |
| bool | BKE_animdata_action_ensure_idroot (const struct ID *owner, struct bAction *action) |
| void | BKE_animdata_free (struct ID *id, const bool do_id_user) |
| bool | BKE_animdata_id_is_animated (const struct ID *id) |
| void | BKE_animdata_foreach_id (struct AnimData *adt, struct LibraryForeachIDData *data) |
| struct AnimData * | BKE_animdata_copy (struct Main *bmain, struct AnimData *adt, const int flag) |
| bool | BKE_animdata_copy_id (struct Main *bmain, struct ID *id_to, struct ID *id_from, const int flag) |
| void | BKE_animdata_copy_id_action (struct Main *bmain, struct ID *id) |
| void | BKE_animdata_duplicate_id_action (struct Main *bmain, struct ID *id, const uint duplicate_flags) |
| void | BKE_animdata_merge_copy (struct Main *bmain, struct ID *dst_id, struct ID *src_id, eAnimData_MergeCopy_Modes action_mode, bool fix_drivers) |
| void | BKE_animdata_blend_write (struct BlendWriter *writer, struct AnimData *adt) |
| void | BKE_animdata_blend_read_data (struct BlendDataReader *reader, struct AnimData *adt) |
| void | BKE_animdata_blend_read_lib (struct BlendLibReader *reader, struct ID *id, struct AnimData *adt) |
| void | BKE_animdata_blend_read_expand (struct BlendExpander *expander, struct AnimData *adt) |
| typedef enum eAnimData_MergeCopy_Modes eAnimData_MergeCopy_Modes |
| Enumerator | |
|---|---|
| ADT_MERGECOPY_KEEP_DST | |
| ADT_MERGECOPY_SRC_COPY | |
| ADT_MERGECOPY_SRC_REF | |
Definition at line 90 of file BKE_anim_data.h.
| bool BKE_animdata_action_editable | ( | const struct AnimData * | adt | ) |
Referenced by ED_id_action_ensure(), and what_does_obaction().
Definition at line 113 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(), BKE_object_copy_proxy_drivers(), do_versions_ipos_to_animato(), ED_id_action_ensure(), nlaedit_objects_add_exec(), object_speaker_add_exec(), and verify_driver_fcurve().
| void BKE_animdata_blend_read_data | ( | struct BlendDataReader * | reader, |
| struct AnimData * | adt | ||
| ) |
Definition at line 1574 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(), hair_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 1622 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 1603 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 1552 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(), greasepencil_blend_write(), hair_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 318 of file anim_data.c.
References AnimData::action, BKE_fcurves_copy(), BKE_id_copy_ex(), BKE_nla_tracks_copy(), 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, AnimData::nla_tracks, 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 375 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().
Definition at line 420 of file anim_data.c.
References animdata_copy_id_action(), and ID_IS_OVERRIDE_LIBRARY.
Referenced by single_mat_users(), single_obdata_users(), and single_object_action_users().
| void BKE_animdata_duplicate_id_action | ( | struct Main * | bmain, |
| struct ID * | id, | ||
| const uint | duplicate_flags | ||
| ) |
Referenced by BKE_id_copy_for_duplicate(), BKE_object_duplicate(), and BKE_scene_duplicate().
| void BKE_animdata_foreach_id | ( | AnimData * | adt, |
| LibraryForeachIDData * | data | ||
| ) |
Callback used by lib_query to walk over all ID usages (mimics foreach_id callback of IDTypeInfo structure).
Definition at line 294 of file anim_data.c.
References AnimData::action, BKE_fcurve_foreach_id(), BKE_LIB_FOREACHID_PROCESS, 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().
| void BKE_animdata_free | ( | struct ID * | id, |
| const bool | do_id_user | ||
| ) |
Definition at line 230 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(), hair_free_data(), make_object_duplilist_real(), ntreeFreeTree(), pointcloud_free_data(), simulation_free_data(), and volume_free_data().
Definition at line 96 of file anim_data.c.
References IdAdtTemplate::adt, id_can_have_animdata(), and NULL.
Referenced by achannel_setting_slider_cb(), action_to_animdata(), ANIM_list_elem_update(), ANIM_remove_driver(), animdata_copy_id_action(), animdata_filter_base_is_ok(), animdata_keyframe_list_get(), animfilter_block_data(), animrecord_check_state(), animviz_calc_motionpaths(), BKE_animdata_copy_id(), BKE_animdata_id_is_animated(), BKE_animdata_merge_copy(), BKE_animdata_set_action(), BKE_animdata_transfer_by_basepath(), BKE_animsys_eval_animdata(), BKE_animsys_eval_driver(), BKE_animsys_update_driver_array(), BKE_fcurve_find_by_rna_context_ui(), BKE_fcurves_id_cb(), BKE_library_id_can_use_idtype(), 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_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(), 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(), ntree_has_drivers(), poseAnim_mapping_refresh(), pyrna_struct_driver_add(), RE_RenderAnim(), remove_sequencer_fcurves(), seq_prefetch_frames(), seq_render_mask(), tag_update_animation_element(), texture_slot_move_exec(), undocurve_from_editcurve(), undocurve_to_editcurve(), and verify_driver_fcurve().
| bool BKE_animdata_id_is_animated | ( | const struct ID * | id | ) |
Definition at line 271 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 | ||
| ) |
Definition at line 436 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, bAction::id, id_us_plus(), LOG, DriverVar::next, FCurve::next, AnimData::nla_tracks, NULL, AnimData::tmpact, tracks, and ChannelDriver::variables.
Referenced by ED_armature_join_objects_exec(), and ED_gpencil_join_objects_exec().
| bool BKE_animdata_set_action | ( | ReportList * | reports, |
| ID * | id, | ||
| bAction * | act | ||
| ) |
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 150 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().
| bool id_can_have_animdata | ( | const struct ID * | id | ) |
Referenced by BKE_libblock_copy_ex(), and RNA_property_animateable().
| bool id_type_can_have_animdata | ( | const short | id_type | ) |
Definition at line 73 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().