|
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_library_filepath_set(), BKE_main_blendfile_path(), BLI_path_abs(), BLI_path_is_rel(), Library::filepath, Library::runtime, and STRNCPY().
Referenced by BKE_library_filepath_set(), 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_library_main_rebuild_hierarchy(), 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(), BKE_library_main_rebuild_hierarchy(), blendfile_relocate_postprocess_liboverrides(), and id_delete().
|
static |
Definition at line 135 of file library.cc.
References library_blend_read_data(), and Library::runtime.
Referenced by library_blend_read_data().
|
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, library_blend_write_data(), and LOG.
Referenced by library_blend_write_data().
|
static |
Definition at line 66 of file library.cc.
References BKE_packedfile_duplicate(), BLI_assert, Main::libraries, library_copy_data(), Library::packedfile, Library::runtime, blender::bke::library::search_filepath_abs(), and UNUSED_VARS_NDEBUG.
Referenced by library_copy_data().
|
static |
Definition at line 92 of file library.cc.
References BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, IDWALK_CB_NEVER_SELF, library_foreach_id(), and Library::runtime.
Referenced by library_foreach_id().
|
static |
Definition at line 98 of file library.cc.
References BKE_bpath_foreach_path_fixed_process(), BKE_library_filepath_set(), BPathForeachPathData::bmain, Library::filepath, library_foreach_path(), and Library::packedfile.
Referenced by library_foreach_path().
|
static |
Definition at line 56 of file library.cc.
References BKE_packedfile_free(), library_free_data(), and library_runtime_reset().
Referenced by library_free_data().
|
static |
Definition at line 50 of file library.cc.
References library_init_data().
Referenced by library_init_data().
|
static |
Definition at line 45 of file library.cc.
References BKE_main_namemap_destroy(), library_runtime_reset(), and Library::runtime.
Referenced by library_free_data(), and library_runtime_reset().
|
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, 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.