|
Blender V5.0
|
Classes | |
| struct | LibraryRuntime |
Functions | |
| Library * | search_filepath_abs (ListBase *libraries, blender::StringRef filepath_abs) |
| void | pack_linked_id_hierarchy (Main &bmain, ID &root_id) |
| void | main_cleanup_parent_archives (Main &bmain) |
| Library * | ensure_archive_library (Main &bmain, ID &id, Library &reference_library, const IDHash &id_deep_hash, bool &is_new) |
| Library * blender::bke::library::ensure_archive_library | ( | Main & | bmain, |
| ID & | id, | ||
| Library & | reference_library, | ||
| const IDHash & | id_deep_hash, | ||
| bool & | is_new ) |
Ensure that there is a valid archive library in given bmain, for the given id, reference_library and id_deep_hash parameters.
Definition at line 468 of file library.cc.
References add_archive_library(), Library::archive_parent_library, BKE_id_name(), BKE_libblock_find_name_and_library(), BKE_main_namemap_contain_name(), BLI_assert, BLI_assert_msg, ID::deep_hash, Library::flag, GS, Library::id, ID_IS_LINKED, LIBRARY_FLAG_IS_ARCHIVE, name, Library::runtime, and UNUSED_VARS_NDEBUG.
Referenced by pack_linked_id().
| void blender::bke::library::main_cleanup_parent_archives | ( | Main & | bmain | ) |
Cleanup references to removed/deleted archive libraries in their archive parent.
Definition at line 714 of file library.cc.
References BLI_assert, lib, Main::libraries, LIBRARY_FLAG_IS_ARCHIVE, and LISTBASE_FOREACH.
Referenced by id_delete().
Pack given linked ID, and all the related hierarchy.
Will set final embedded ID into each ID::newid pointers.
Definition at line 658 of file library.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), Library::archive_parent_library, BKE_library_foreach_ID_link(), BLI_assert, LibraryIDLinkCallbackData::cb_flag, CLOG_ERROR, GS, ID_IS_LINKED, ID_IS_PACKED, ID_KE, LibraryIDLinkCallbackData::id_pointer, IDWALK_CB_EMBEDDED, IDWALK_CB_EMBEDDED_NOT_OWNING, IDWALK_CB_LOOPBACK, IDWALK_READONLY, IDWALK_RECURSE, IDWALK_RET_NOP, ID::lib, LOG, ID::name, ID::newid, pack_linked_ids(), and LibraryIDLinkCallbackData::self_id.
Referenced by BKE_blendfile_link_pack().
| Library * blender::bke::library::search_filepath_abs | ( | ListBase * | libraries, |
| blender::StringRef | filepath_abs ) |
Search for given absolute filepath in all libraries in given ListBase.
Definition at line 417 of file library.cc.
References LIBRARY_FLAG_IS_ARCHIVE, and LISTBASE_FOREACH.
Referenced by library_copy_data(), and blender::ed::space_node::NodeClipboard::paste_validate_id_references().