|
Blender V4.5
|
#include <optional>#include "CLG_log.h"#include "DNA_ID.h"#include "BLI_utildefines.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_path_utils.hh"#include "BLI_set.hh"#include "BLI_string.h"#include "BLT_translation.hh"#include "BLO_read_write.hh"#include "BKE_bpath.hh"#include "BKE_idtype.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_library.hh"#include "BKE_main.hh"#include "BKE_main_namemap.hh"#include "BKE_packedFile.hh"Go to the source code of this file.
Functions | |
| static void | library_runtime_reset (Library *lib) |
| static void | library_init_data (ID *id) |
| static void | library_free_data (ID *id) |
| static void | library_copy_data (Main *bmain, std::optional< Library * > owner_library, ID *id_dst, const ID *id_src, int) |
| static void | library_foreach_id (ID *id, LibraryForeachIDData *data) |
| static void | library_foreach_path (ID *id, BPathForeachPathData *bpath_data) |
| static void | library_blend_write_data (BlendWriter *writer, ID *id, const void *id_address) |
| static void | library_blend_read_data (BlendDataReader *, ID *id) |
| void | BKE_library_filepath_set (Main *bmain, Library *lib, const char *filepath) |
| static void | rebuild_hierarchy_best_parent_find (Main *bmain, blender::Set< Library * > &directly_used_libs, Library *lib) |
| void | BKE_library_main_rebuild_hierarchy (Main *bmain) |
Variables | |
| static CLG_LogRef | LOG = {"bke.library"} |
| IDTypeInfo | IDType_ID_LI |
Contains code specific to the Library ID type.
Definition in file library.cc.
Definition at line 171 of file library.cc.
References BKE_main_blendfile_path(), BLI_path_abs(), BLI_path_is_rel(), lib, and STRNCPY().
Referenced by BLO_main_validate_libraries(), library_foreach_path(), blender::ed::outliner::namebutton_fn(), and blender::bke::tests::TEST_F().
| void BKE_library_main_rebuild_hierarchy | ( | Main * | bmain | ) |
Rebuild the hierarchy of libraries, after e.g. deleting or relocating one, often some indirectly linked libraries lose their 'parent' pointer, making them wrongly directly used ones.
Definition at line 270 of file library.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_main_relations_create(), BKE_main_relations_free(), BLI_assert, BLI_ghash_lookup(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, MainIDRelationsEntry::from_ids, ID_IS_LINKED, blender::Vector< T, InlineBufferCapacity, Allocator >::last(), ID::lib, Main::libraries, LISTBASE_FOREACH, MainIDRelationsEntryItem::next, rebuild_hierarchy_best_parent_find(), Main::relations, MainIDRelations::relations_from_pointers, Library::runtime, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by BKE_id_free_us(), blendfile_relocate_postprocess_liboverrides(), and id_delete().
|
static |
Definition at line 135 of file library.cc.
References lib.
|
static |
Definition at line 115 of file library.cc.
References BKE_id_blend_write(), BKE_packedfile_blend_write(), BLO_write_id_struct, BLO_write_is_undo(), CLOG_INFO, and LOG.
|
static |
Definition at line 66 of file library.cc.
References BKE_packedfile_duplicate(), BLI_assert, Main::libraries, Library::packedfile, Library::runtime, blender::bke::library::search_filepath_abs(), and UNUSED_VARS_NDEBUG.
|
static |
Definition at line 92 of file library.cc.
References BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, IDWALK_CB_NEVER_SELF, and lib.
|
static |
Definition at line 98 of file library.cc.
References BKE_bpath_foreach_path_fixed_process(), BKE_library_filepath_set(), BPathForeachPathData::bmain, and lib.
|
static |
Definition at line 56 of file library.cc.
References BKE_packedfile_free(), and library_runtime_reset().
|
static |
Definition at line 50 of file library.cc.
|
static |
Definition at line 45 of file library.cc.
References BKE_main_namemap_destroy(), and lib.
Referenced by library_free_data().
|
static |
Definition at line 196 of file library.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_assert, BLI_assert_unreachable, BLI_ghash_lookup(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), FOREACH_MAIN_LISTBASE_BEGIN, FOREACH_MAIN_LISTBASE_END, FOREACH_MAIN_LISTBASE_ID_BEGIN, FOREACH_MAIN_LISTBASE_ID_END, MainIDRelationsEntry::from_ids, ID_IS_LINKED, ID::lib, lib, MainIDRelationsEntryItem::next, rebuild_hierarchy_best_parent_find(), Main::relations, MainIDRelations::relations_from_pointers, and Library::runtime.
Referenced by BKE_library_main_rebuild_hierarchy(), and rebuild_hierarchy_best_parent_find().
| IDTypeInfo IDType_ID_LI |
Definition at line 141 of file library.cc.
|
static |
Definition at line 41 of file library.cc.