|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include <string.h>#include "BKE_action.h"#include "BKE_anim_data.h"#include "BKE_animsys.h"#include "BKE_context.h"#include "BKE_fcurve.h"#include "BKE_fcurve_driver.h"#include "BKE_global.h"#include "BKE_idtype.h"#include "BKE_lib_id.h"#include "BKE_lib_query.h"#include "BKE_main.h"#include "BKE_nla.h"#include "BKE_node.h"#include "BKE_report.h"#include "DNA_ID.h"#include "DNA_anim_types.h"#include "DNA_light_types.h"#include "DNA_material_types.h"#include "DNA_node_types.h"#include "DNA_space_types.h"#include "DNA_windowmanager_types.h"#include "DNA_world_types.h"#include "BLI_alloca.h"#include "BLI_dynstr.h"#include "BLI_listbase.h"#include "BLI_string.h"#include "BLI_utildefines.h"#include "DEG_depsgraph.h"#include "BLO_read_write.h"#include "RNA_access.h"#include "CLG_log.h"Go to the source code of this file.
Classes | |
| struct | AllFCurvesCbWrapper |
Macros | |
| #define | ANIMDATA_IDS_CB(first) |
| #define | ANIMDATA_NODETREE_IDS_CB(first, NtId_Type) |
| #define | RENAMEFIX_ANIM_IDS(first) |
| #define | RENAMEFIX_ANIM_NODETREE_IDS(first, NtId_Type) |
Typedefs | |
| typedef struct AllFCurvesCbWrapper | AllFCurvesCbWrapper |
Functions | |
| bool | id_type_can_have_animdata (const short id_type) |
| bool | id_can_have_animdata (const ID *id) |
| AnimData * | BKE_animdata_from_id (ID *id) |
| AnimData * | BKE_animdata_add_id (ID *id) |
| bool | BKE_animdata_set_action (ReportList *reports, ID *id, bAction *act) |
| bool | BKE_animdata_action_editable (const AnimData *adt) |
| bool | BKE_animdata_action_ensure_idroot (const ID *owner, bAction *action) |
| void | BKE_animdata_free (ID *id, const bool do_id_user) |
| bool | BKE_animdata_id_is_animated (const struct ID *id) |
| void | BKE_animdata_foreach_id (AnimData *adt, LibraryForeachIDData *data) |
| AnimData * | BKE_animdata_copy (Main *bmain, AnimData *adt, const int flag) |
| bool | BKE_animdata_copy_id (Main *bmain, ID *id_to, ID *id_from, const int flag) |
| static void | animdata_copy_id_action (Main *bmain, ID *id, const bool set_newid, const bool do_linked_id) |
| void | BKE_animdata_copy_id_action (Main *bmain, ID *id) |
| void | BKE_animdata_duplicate_id_action (struct Main *bmain, struct ID *id, const eDupli_ID_Flags duplicate_flags) |
| void | BKE_animdata_merge_copy (Main *bmain, ID *dst_id, ID *src_id, eAnimData_MergeCopy_Modes action_mode, bool fix_drivers) |
| static bool | animpath_matches_basepath (const char path[], const char basepath[]) |
| static void | animpath_update_basepath (FCurve *fcu, const char *old_basepath, const char *new_basepath) |
| static void | action_move_fcurves_by_basepath (bAction *srcAct, bAction *dstAct, const char *src_basepath, const char *dst_basepath) |
| static void | animdata_move_drivers_by_basepath (AnimData *srcAdt, AnimData *dstAdt, const char *src_basepath, const char *dst_basepath) |
| void | BKE_animdata_transfer_by_basepath (Main *bmain, ID *srcID, ID *dstID, ListBase *basepaths) |
| char * | BKE_animdata_driver_path_hack (bContext *C, PointerRNA *ptr, PropertyRNA *prop, char *base_path) |
| static bool | check_rna_path_is_valid (ID *owner_id, const char *path) |
| static char * | rna_path_rename_fix (ID *owner_id, const char *prefix, const char *oldName, const char *newName, char *oldpath, bool verify_paths) |
| static bool | fcurves_path_rename_fix (ID *owner_id, const char *prefix, const char *oldName, const char *newName, const char *oldKey, const char *newKey, ListBase *curves, bool verify_paths) |
| static bool | drivers_path_rename_fix (ID *owner_id, ID *ref_id, const char *prefix, const char *oldName, const char *newName, const char *oldKey, const char *newKey, ListBase *curves, bool verify_paths) |
| static bool | nlastrips_path_rename_fix (ID *owner_id, const char *prefix, const char *oldName, const char *newName, const char *oldKey, const char *newKey, ListBase *strips, bool verify_paths) |
| char * | BKE_animsys_fix_rna_path_rename (ID *owner_id, char *old_path, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths) |
| void | BKE_action_fix_paths_rename (ID *owner_id, bAction *act, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths) |
| void | BKE_animdata_fix_paths_rename (ID *owner_id, AnimData *adt, ID *ref_id, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths) |
| static bool | fcurves_path_remove_fix (const char *prefix, ListBase *curves) |
| static bool | nlastrips_path_remove_fix (const char *prefix, ListBase *strips) |
| bool | BKE_animdata_fix_paths_remove (ID *id, const char *prefix) |
| static void | fcurves_apply_cb (ID *id, ListBase *fcurves, ID_FCurve_Edit_Callback func, void *user_data) |
| static void | nlastrips_apply_all_curves_cb (ID *id, ListBase *strips, AllFCurvesCbWrapper *wrapper) |
| static void | adt_apply_all_fcurves_cb (ID *id, AnimData *adt, void *wrapper_data) |
| void | BKE_fcurves_id_cb (ID *id, ID_FCurve_Edit_Callback func, void *user_data) |
| void | BKE_fcurves_main_cb (Main *bmain, ID_FCurve_Edit_Callback func, void *user_data) |
| void | BKE_animdata_main_cb (Main *bmain, ID_AnimData_Edit_Callback func, void *user_data) |
| void | BKE_animdata_fix_paths_rename_all (ID *ref_id, const char *prefix, const char *oldName, const char *newName) |
| void | BKE_animdata_fix_paths_rename_all_ex (Main *bmain, ID *ref_id, const char *prefix, const char *oldName, const char *newName, const int oldSubscript, const int newSubscript, const bool verify_paths) |
| void | BKE_animdata_blend_write (BlendWriter *writer, struct AnimData *adt) |
| void | BKE_animdata_blend_read_data (BlendDataReader *reader, AnimData *adt) |
| void | BKE_animdata_blend_read_lib (BlendLibReader *reader, ID *id, AnimData *adt) |
| void | BKE_animdata_blend_read_expand (struct BlendExpander *expander, AnimData *adt) |
Variables | |
| static CLG_LogRef | LOG = {"bke.anim_sys"} |
| #define ANIMDATA_IDS_CB | ( | first | ) |
| #define ANIMDATA_NODETREE_IDS_CB | ( | first, | |
| NtId_Type | |||
| ) |
| #define RENAMEFIX_ANIM_IDS | ( | first | ) |
| #define RENAMEFIX_ANIM_NODETREE_IDS | ( | first, | |
| NtId_Type | |||
| ) |
| typedef struct AllFCurvesCbWrapper AllFCurvesCbWrapper |
|
static |
Definition at line 544 of file anim_data.c.
References action_groups_add_channel(), action_groups_add_new(), action_groups_clear_tempflags(), action_groups_remove_channel(), AGRP_TEMP, animpath_matches_basepath(), animpath_update_basepath(), BKE_action_group_find_name(), BLI_addtail(), BLI_freelinkN(), BLI_listbase_is_empty(), bActionGroup::channels, CLOG_ERROR, bAction::curves, ELEM, ListBase::first, bActionGroup::flag, G, G_DEBUG, bAction::groups, FCurve::grp, LOG, bActionGroup::name, bActionGroup::next, FCurve::next, NULL, and FCurve::rna_path.
Referenced by BKE_animdata_transfer_by_basepath().
Definition at line 1256 of file anim_data.c.
References AnimData::action, bAction::curves, AnimData::drivers, fcurves_apply_cb(), ListBase::first, AllFCurvesCbWrapper::func, NlaTrack::next, AnimData::nla_tracks, nlastrips_apply_all_curves_cb(), NlaTrack::strips, AnimData::tmpact, and AllFCurvesCbWrapper::user_data.
Referenced by BKE_fcurves_id_cb(), and BKE_fcurves_main_cb().
|
static |
Definition at line 394 of file anim_data.c.
References AnimData::action, BKE_animdata_from_id(), BKE_id_copy(), bAction::id, bNodeTree::id, ID_IS_LINKED, ID_NEW_SET, id_us_min(), ntree, ntreeFromID(), and AnimData::tmpact.
Referenced by BKE_animdata_copy_id_action(), and BKE_animdata_duplicate_id_action().
|
static |
Definition at line 634 of file anim_data.c.
References animpath_matches_basepath(), animpath_update_basepath(), BLI_addtail(), BLI_remlink(), AnimData::drivers, and LISTBASE_FOREACH_MUTABLE.
Referenced by BKE_animdata_transfer_by_basepath().
|
static |
Helper heuristic for determining if a path is compatible with the basepath
| path | Full RNA-path from some data (usually an F-Curve) to compare |
| basepath | Shorter path fragment to look for |
Definition at line 518 of file anim_data.c.
References STRPREFIX.
Referenced by action_move_fcurves_by_basepath(), animdata_move_drivers_by_basepath(), and animpath_update_basepath().
|
static |
Definition at line 524 of file anim_data.c.
References animpath_matches_basepath(), BLI_assert, BLI_sprintfN(), MEM_freeN, FCurve::rna_path, and STREQ.
Referenced by action_move_fcurves_by_basepath(), and animdata_move_drivers_by_basepath().
| void BKE_action_fix_paths_rename | ( | ID * | owner_id, |
| bAction * | act, | ||
| const char * | prefix, | ||
| const char * | oldName, | ||
| const char * | newName, | ||
| int | oldSubscript, | ||
| int | newSubscript, | ||
| bool | verify_paths | ||
| ) |
Definition at line 1032 of file anim_data.c.
References BLI_array_alloca, BLI_sprintfN(), BLI_str_escape(), bAction::curves, ELEM, fcurves_path_rename_fix(), MEM_freeN, and NULL.
Referenced by constraint_bone_name_fix(), and joined_armature_fix_links_constraints().
| bool BKE_animdata_action_editable | ( | const AnimData * | adt | ) |
Definition at line 201 of file anim_data.c.
References AnimData::actstrip, ADT_NLA_EDIT_ON, AnimData::flag, NULL, and AnimData::tmpact.
Referenced by BKE_animdata_set_action().
Definition at line 209 of file anim_data.c.
References GS, bAction::idroot, ID::name, and NULL.
Referenced by BKE_animdata_set_action(), and BKE_animdata_transfer_by_basepath().
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 | ( | BlendDataReader * | reader, |
| 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, |
| 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 | ( | BlendLibReader * | reader, |
| ID * | id, | ||
| 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 | ( | 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().
| char* BKE_animdata_driver_path_hack | ( | bContext * | C, |
| PointerRNA * | ptr, | ||
| PropertyRNA * | prop, | ||
| char * | base_path | ||
| ) |
Temporary wrapper for driver operators for buttons to make it easier to create such drivers by rerouting all paths through the active object instead so that they will get picked up by the dependency system.
| C | Context pointer - for getting active data | |
| [in,out] | ptr | RNA pointer for property's data-block. May be modified as result of path remapping. |
| prop | RNA definition of property to add for |
Definition at line 732 of file anim_data.c.
References blender::compositor::area(), C, CTX_data_active_object(), CTX_wm_area(), PointerRNA::data, Object::id, PointerRNA::owner_id, ptr, RNA_path_from_ID_to_property(), RNA_pointer_create(), SPACE_PROPERTIES, and PointerRNA::type.
Referenced by add_driver_button_invoke(), add_driver_button_none(), BKE_fcurve_find_by_rna_context_ui(), copy_driver_button_exec(), driverdropper_sample(), paste_driver_button_exec(), and remove_driver_button_exec().
| void BKE_animdata_duplicate_id_action | ( | struct Main * | bmain, |
| struct ID * | id, | ||
| const eDupli_ID_Flags | duplicate_flags | ||
| ) |
Definition at line 426 of file anim_data.c.
References animdata_copy_id_action(), USER_DUP_ACT, and USER_DUP_LINKED_ID.
| bool BKE_animdata_fix_paths_remove | ( | ID * | id, |
| const char * | prefix | ||
| ) |
Definition at line 1188 of file anim_data.c.
References AnimData::action, IdAdtTemplate::adt, bAction::curves, AnimData::drivers, fcurves_path_remove_fix(), id_can_have_animdata(), LISTBASE_FOREACH, AnimData::nla_tracks, nlastrips_path_remove_fix(), NULL, and AnimData::tmpact.
Referenced by clip_delete_plane_track(), clip_delete_track(), and nodeRemoveNode().
| void BKE_animdata_fix_paths_rename | ( | ID * | owner_id, |
| AnimData * | adt, | ||
| ID * | ref_id, | ||
| const char * | prefix, | ||
| const char * | oldName, | ||
| const char * | newName, | ||
| int | oldSubscript, | ||
| int | newSubscript, | ||
| bool | verify_paths | ||
| ) |
Definition at line 1079 of file anim_data.c.
References AnimData::action, BLI_array_alloca, BLI_sprintfN(), BLI_str_escape(), bAction::curves, DEG_id_tag_update(), AnimData::drivers, drivers_path_rename_fix(), ELEM, fcurves_path_rename_fix(), ListBase::first, bAction::id, ID_RECALC_COPY_ON_WRITE, MEM_freeN, NlaTrack::next, AnimData::nla_tracks, nlastrips_path_rename_fix(), NULL, NlaTrack::strips, and AnimData::tmpact.
Referenced by SEQ_dupe_animdata(), and texture_slot_move_exec().
| void BKE_animdata_fix_paths_rename_all | ( | ID * | ref_id, |
| const char * | prefix, | ||
| const char * | oldName, | ||
| const char * | newName | ||
| ) |
Definition at line 1414 of file anim_data.c.
References BKE_animdata_fix_paths_rename_all_ex(), and G.
Referenced by BKE_mask_layer_rename(), BKE_view_layer_rename(), and ED_armature_bone_rename().
| void BKE_animdata_fix_paths_rename_all_ex | ( | Main * | bmain, |
| ID * | ref_id, | ||
| const char * | prefix, | ||
| const char * | oldName, | ||
| const char * | newName, | ||
| const int | oldSubscript, | ||
| const int | newSubscript, | ||
| const bool | verify_paths | ||
| ) |
Definition at line 1428 of file anim_data.c.
References Main::armatures, Main::cachefiles, Main::cameras, Main::curves, ListBase::first, Main::gpencils, Main::hairs, id, Main::lattices, Main::lights, Main::linestyles, Main::masks, Main::materials, Main::meshes, Main::metaballs, Main::movieclips, Main::nodetrees, Main::objects, Main::particles, Main::pointclouds, RENAMEFIX_ANIM_IDS, RENAMEFIX_ANIM_NODETREE_IDS, Main::scenes, Main::shapekeys, Main::simulations, Main::speakers, Main::textures, Main::volumes, and Main::worlds.
Referenced by BKE_animdata_fix_paths_rename_all(), and do_versions_after_linking_290().
| 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 | ( | 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_main_cb | ( | Main * | bmain, |
| ID_AnimData_Edit_Callback | func, | ||
| void * | user_data | ||
| ) |
Definition at line 1300 of file anim_data.c.
References ANIMDATA_IDS_CB, ANIMDATA_NODETREE_IDS_CB, Main::armatures, Main::cachefiles, Main::cameras, Main::curves, ListBase::first, Main::gpencils, Main::hairs, id, Main::lattices, Main::lights, Main::linestyles, Main::masks, Main::materials, Main::meshes, Main::metaballs, Main::movieclips, Main::nodetrees, Main::objects, Main::palettes, Main::particles, Main::pointclouds, Main::scenes, Main::shapekeys, Main::simulations, Main::speakers, Main::textures, Main::volumes, and Main::worlds.
Referenced by BKE_fcurves_main_cb(), and blo_do_versions_280().
| void BKE_animdata_merge_copy | ( | Main * | bmain, |
| ID * | dst_id, | ||
| 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().
| void BKE_animdata_transfer_by_basepath | ( | Main * | bmain, |
| ID * | srcID, | ||
| ID * | dstID, | ||
| ListBase * | basepaths | ||
| ) |
Definition at line 656 of file anim_data.c.
References AnimData::action, action_move_fcurves_by_basepath(), animdata_move_drivers_by_basepath(), BKE_action_add(), BKE_animdata_action_ensure_idroot(), BKE_animdata_add_id(), BKE_animdata_from_id(), CLOG_ERROR, CLOG_WARN, DEG_id_tag_update(), AnimData::drivers, ELEM, ListBase::first, G, G_DEBUG, bAction::id, ID_RECALC_COPY_ON_WRITE, id_us_min(), LISTBASE_FOREACH, LOG, Main::name, ID::name, and NULL.
Referenced by node_group_make_insert_selected(), node_group_separate_selected(), and node_group_ungroup().
| char* BKE_animsys_fix_rna_path_rename | ( | ID * | owner_id, |
| char * | old_path, | ||
| const char * | prefix, | ||
| const char * | oldName, | ||
| const char * | newName, | ||
| int | oldSubscript, | ||
| int | newSubscript, | ||
| bool | verify_paths | ||
| ) |
Definition at line 969 of file anim_data.c.
References BLI_array_alloca, BLI_sprintfN(), BLI_str_escape(), CLOG_WARN, ELEM, G, G_DEBUG, LOG, MEM_freeN, NULL, result, and rna_path_rename_fix().
Referenced by gpencil_joined_fix_animdata_cb(), and joined_armature_fix_animdata_cb().
| void BKE_fcurves_id_cb | ( | ID * | id, |
| ID_FCurve_Edit_Callback | func, | ||
| void * | user_data | ||
| ) |
Definition at line 1278 of file anim_data.c.
References adt_apply_all_fcurves_cb(), BKE_animdata_from_id(), NULL, and user_data.
Referenced by do_versions_after_linking_280(), blender::deg::AnimationBackup::init_from_id(), blender::deg::AnimatedPropertyStorage::initializeFromID(), and update_mapping_node_inputs_and_properties().
| void BKE_fcurves_main_cb | ( | Main * | bmain, |
| ID_FCurve_Edit_Callback | func, | ||
| void * | user_data | ||
| ) |
Definition at line 1288 of file anim_data.c.
References adt_apply_all_fcurves_cb(), BKE_animdata_main_cb(), and user_data.
Referenced by do_versions_after_linking_270(), ED_armature_join_objects_exec(), and ED_gpencil_join_objects_exec().
|
static |
Definition at line 771 of file anim_data.c.
References NULL, ptr, RNA_id_pointer_create(), and RNA_path_resolve_property().
Referenced by rna_path_rename_fix().
|
static |
Definition at line 879 of file anim_data.c.
References BLI_strncpy(), FCurve::driver, DRIVER_TARGETS_LOOPER_END, DRIVER_TARGETS_USED_LOOPER_BEGIN, ListBase::first, GS, ID_OB, DriverVar::next, FCurve::next, NULL, FCurve::rna_path, rna_path_rename_fix(), STREQ, and ChannelDriver::variables.
Referenced by BKE_animdata_fix_paths_rename().
|
static |
Definition at line 1227 of file anim_data.c.
References ListBase::first, FCurve::next, and user_data.
Referenced by adt_apply_all_fcurves_cb(), and nlastrips_apply_all_curves_cb().
|
static |
Definition at line 1146 of file anim_data.c.
References BKE_fcurve_free(), BLI_remlink(), ListBase::first, FCurve::next, FCurve::rna_path, and STRPREFIX.
Referenced by BKE_animdata_fix_paths_remove(), and nlastrips_path_remove_fix().
|
static |
Definition at line 844 of file anim_data.c.
References BLI_strncpy(), ListBase::first, FCurve::grp, bActionGroup::name, FCurve::next, NULL, FCurve::rna_path, rna_path_rename_fix(), and STREQ.
Referenced by BKE_action_fix_paths_rename(), BKE_animdata_fix_paths_rename(), and nlastrips_path_rename_fix().
| bool id_can_have_animdata | ( | const ID * | id | ) |
Definition at line 82 of file anim_data.c.
References GS, id, id_type_can_have_animdata(), ID::name, and NULL.
Referenced by BKE_animdata_add_id(), BKE_animdata_fix_paths_remove(), BKE_animdata_free(), and BKE_animdata_from_id().
| 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().
|
static |
Definition at line 1240 of file anim_data.c.
References NlaStrip::act, bAction::curves, fcurves_apply_cb(), ListBase::first, AllFCurvesCbWrapper::func, NlaStrip::next, NlaStrip::strips, and AllFCurvesCbWrapper::user_data.
Referenced by adt_apply_all_fcurves_cb().
|
static |
Definition at line 1170 of file anim_data.c.
References NlaStrip::act, bAction::curves, fcurves_path_remove_fix(), ListBase::first, NlaStrip::next, and NlaStrip::strips.
Referenced by BKE_animdata_fix_paths_remove().
|
static |
Definition at line 933 of file anim_data.c.
References NlaStrip::act, bAction::curves, fcurves_path_rename_fix(), ListBase::first, NlaStrip::next, NULL, and NlaStrip::strips.
Referenced by BKE_animdata_fix_paths_rename().
|
static |
Definition at line 786 of file anim_data.c.
References BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_nappend(), BLI_dynstr_new(), check_rna_path_is_valid(), MEM_freeN, and NULL.
Referenced by BKE_animsys_fix_rna_path_rename(), drivers_path_rename_fix(), and fcurves_path_rename_fix().
|
static |
Definition at line 65 of file anim_data.c.
Referenced by action_move_fcurves_by_basepath(), BKE_animdata_merge_copy(), BKE_animdata_transfer_by_basepath(), and BKE_animsys_fix_rna_path_rename().