|
Blender V5.0
|
#include <readfile.hh>
General data used during a blend-file reading.
Note that this data (and its accesses) are absolutely not thread-safe currently. It should never be accessed concurrently.
Definition at line 78 of file readfile.hh.
| std::optional<blender::Map<blender::StringRefNull, BHead *> > FileData::bhead_idname_map |
Definition at line 157 of file readfile.hh.
Referenced by find_bhead_from_code_name(), find_bhead_from_idname(), and read_file_bhead_idname_map_create().
| ListBase FileData::bhead_list = {} |
Linked list of BHeadN's.
Definition at line 80 of file readfile.hh.
Referenced by blo_bhead_first(), blo_filedata_free(), and get_bhead().
Definition at line 154 of file readfile.hh.
Referenced by blo_filedata_free(), find_bhead(), and sort_bhead_old_map().
| BlenderHeader FileData::blender_header = {} |
Definition at line 83 of file readfile.hh.
Referenced by get_bhead(), and read_blender_header().
The root (main, local) Main. The Main that will own Library IDs.
When reading libraries, this is typically not the same Main as the one being populated from the content of this filedata, see fd_bmain.
Definition at line 166 of file readfile.hh.
Referenced by blo_add_main_for_library(), blo_find_main_for_library_and_idname(), blo_read_file_internal(), blo_verify_data_address(), change_ID_pointer_to_real_ID_pointer(), change_link_placeholder_to_real_ID_pointer(), direct_link_library(), library_link_begin(), read_libblock_undo_restore_at_old_address(), read_libraries(), read_library_file_data(), read_undo_move_libmain_data(), read_undo_remap_noundo_data(), and read_undo_reuse_noundo_local_ids().
| BLOCacheStorage* FileData::cache_storage = nullptr |
Definition at line 152 of file readfile.hh.
Referenced by blo_cache_storage_end(), blo_cache_storage_init(), blo_cache_storage_old_bmain_clear(), and direct_link_id().
| const char* FileData::compflags = nullptr |
Definition at line 108 of file readfile.hh.
Referenced by blo_filedata_free(), read_file_dna(), and read_struct().
Definition at line 140 of file readfile.hh.
Referenced by blo_filedata_free(), blo_read_asset_data_block(), filedata_new(), newdataadr(), newdataadr_no_us(), read_data_into_datamap(), read_libblock(), and read_userdef().
The main for the (local) data loaded from this filedata.
This is the same as bmain when opening a blendfile, but not when reading/loading from libraries blendfiles.
Definition at line 175 of file readfile.hh.
Referenced by blo_read_file_internal(), library_link_begin(), and read_library_file_data().
| FileReader* FileData::file = nullptr |
Definition at line 85 of file readfile.hh.
Referenced by blo_bhead_read_data(), blo_filedata_free(), blo_filedata_from_file_descriptor(), blo_filedata_from_memfile(), blo_filedata_from_memory(), blo_read_shared_impl(), get_bhead(), and read_blender_header().
| std::optional<BLI_stat_t> FileData::file_stat |
Definition at line 86 of file readfile.hh.
Referenced by blo_filedata_from_file_descriptor(), and read_libblock().
| int FileData::fileflags = 0 |
Definition at line 127 of file readfile.hh.
Referenced by read_global().
General reading variables.
Definition at line 105 of file readfile.hh.
Referenced by BLO_blendhandle_get_datablock_info(), BLO_blendhandle_get_preview_for_id(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blo_do_versions_400(), blo_do_versions_410(), blo_do_versions_420(), blo_do_versions_440(), blo_filedata_free(), BLO_read_pointer_array(), do_versions_after_linking_400(), get_alloc_name(), is_minversion_older_than_blender(), read_file_dna(), and read_struct().
| int FileData::filesubversion = 0 |
Unlike the fileversion which is read from the header, this is initialized from read_file_dna.
Definition at line 116 of file readfile.hh.
Referenced by BLO_blendhandle_get_version(), and read_file_dna().
| int FileData::fileversion = 0 |
Definition at line 111 of file readfile.hh.
Referenced by BLO_blendhandle_get_version(), blo_read_file_internal(), BLO_read_fileversion_get(), BLO_version_from_file(), is_minversion_older_than_blender(), library_link_begin(), read_blender_header(), read_file_dna(), read_file_version_and_colorspace(), and read_library_file_data().
| enum eFileDataFlag FileData::flags = eFileDataFlag(0) |
Definition at line 81 of file readfile.hh.
Referenced by blo_bhead_id_name(), blo_bhead_read_data(), blo_cache_storage_init(), blo_decode_and_check(), blo_filedata_from_file_minimal(), blo_filedata_from_memfile(), BLO_read_data_is_undo(), BLO_read_double_array(), blo_read_file_internal(), BLO_read_float_array(), BLO_read_int16_array(), BLO_read_int32_array(), BLO_read_lib_is_undo(), blo_read_shared_impl(), BLO_read_uint32_array(), convert_pointer_array_64_to_32(), expand_main(), find_previous_lib(), get_bhead(), lib_link_all(), peek_struct_undo(), read_blender_header(), read_file_dna(), read_file_thumbnail(), read_id_struct(), read_libblock(), read_libraries_report_invalid_id_names(), and read_struct().
| int FileData::globalf = 0 |
Definition at line 141 of file readfile.hh.
Referenced by blo_filedata_free(), BLO_read_data_globmap_add(), blo_read_get_new_globaldata_address(), filedata_new(), and link_glob_list().
| int FileData::id_asset_data_offset = 0 |
Used to retrieve asset data from (bhead+1). NOTE: This may not be available in old files, will be -1 then!
Definition at line 122 of file readfile.hh.
Referenced by blo_bhead_id_asset_data_address(), and read_file_dna().
| std::shared_ptr<blender::Map<IDHash, ID *> > FileData::id_by_deep_hash |
Used to keep track of already loaded packed IDs to avoid loading them multiple times.
Definition at line 143 of file readfile.hh.
Referenced by filedata_new(), library_id_is_yet_read_deep_hash(), library_link_begin(), read_libblock(), and read_library_file_data().
| int FileData::id_deep_hash_offset = 0 |
Definition at line 124 of file readfile.hh.
Referenced by blo_bhead_id_deep_hash(), and read_file_dna().
| int FileData::id_flag_offset = 0 |
Definition at line 123 of file readfile.hh.
Referenced by blo_bhead_id_deep_hash(), blo_bhead_id_flag(), and read_file_dna().
| int FileData::id_name_offset = 0 |
Used to retrieve ID names from (bhead+1).
Definition at line 119 of file readfile.hh.
Referenced by blo_bhead_id_name(), and read_file_dna().
| int FileData::id_tag_extra = 0 |
Tag to apply to all loaded ID data-blocks.
Definition at line 138 of file readfile.hh.
Referenced by library_link_begin(), link_named_part(), and read_id_in_lib().
| bool FileData::is_eof = false |
Definition at line 82 of file readfile.hh.
Referenced by get_bhead().
Store mapping from old ID pointers (the values they have in the .blend file) to new ones, typically from value in bhead->old to address in memory where the ID was read. Used during library-linking process (see lib_link_all).
Definition at line 150 of file readfile.hh.
Referenced by blo_do_versions_pre250(), blo_filedata_free(), change_ID_pointer_to_real_ID_pointer_fd(), change_link_placeholder_to_real_ID_pointer_fd(), filedata_new(), newlibadr(), oldnewmap_lib_insert(), and read_library_file_data().
Definition at line 106 of file readfile.hh.
Referenced by BLO_read_pointer_array(), BLO_read_struct_by_name_array(), filedata_new(), and read_file_dna().
| IDNameLib_Map* FileData::new_idmap_uid = nullptr |
IDMap using uids as keys of the IDs read (or moved) in the new main(s).
Used during undo to ensure that the ID pointers from the 'no undo' IDs remain valid (these IDs are re-used from old main even if their content is not the same as in the memfile undo step, so they could point e.g. to an ID that does not exist in the newly read undo step).
Also used to find current valid pointers (or none) of these 'no undo' IDs existing in read memfile.
Definition at line 190 of file readfile.hh.
Referenced by blo_filedata_free(), blo_read_file_internal(), BLO_read_get_new_id_address_from_session_uid(), read_libblock(), read_libblock_undo_restore(), read_libblock_undo_restore_identical(), read_libblock_undo_restore_linked(), read_undo_move_libmain_data(), read_undo_remap_noundo_data(), and read_undo_reuse_noundo_local_ids().
The existing root (main, local) Main, used for undo.
Definition at line 168 of file readfile.hh.
Referenced by blo_read_file_internal(), BLO_read_from_memfile(), read_libblock_undo_restore_at_old_address(), read_libblock_undo_restore_identical(), read_libblock_undo_restore_library(), read_undo_move_libmain_data(), and read_undo_reuse_noundo_local_ids().
| IDNameLib_Map* FileData::old_idmap_uid = nullptr |
IDMap using UID's as keys of all the old IDs in the old bmain. Used during undo to find a matching old data when reading a new ID.
Definition at line 180 of file readfile.hh.
Referenced by blo_filedata_free(), blo_make_old_idmap_from_main(), and read_libblock_undo_restore().
| DNA_ReconstructInfo* FileData::reconstruct_info = nullptr |
Definition at line 109 of file readfile.hh.
Referenced by blo_filedata_free(), read_file_dna(), and read_struct().
| char FileData::relabase[FILE_MAX] = {} |
Used for relative paths handling.
Typically the actual filepath of the read blend-file, except when recovering save-on-exit/autosave files. In the latter case, it will be the path of the file that generated the auto-saved one being recovered.
NOTE: Currently expected to be the same path as BlendFileData.filepath.
Definition at line 102 of file readfile.hh.
Referenced by blo_decode_and_check(), blo_filedata_from_file(), blo_read_file_internal(), BLO_read_from_memfile(), direct_link_library(), do_versions(), expand_doit_library(), is_minversion_older_than_blender(), read_global(), and read_library_file_data().
| BlendFileReadReport* FileData::reports = nullptr |
Definition at line 192 of file readfile.hh.
Referenced by blo_do_versions_280(), blo_do_versions_420(), BLO_read_data_reports(), blo_read_file_internal(), BLO_read_lib_reports(), blo_readfile_invalidate(), direct_link_id_embedded_id(), direct_link_library(), do_version_remove_lzo_and_lzma_compression(), do_versions_after_linking_400(), do_versions_after_linking_420(), do_versions_after_linking_440(), expand_doit_library(), filedata_new(), read_library_file_data(), read_library_linked_id(), read_library_linked_ids(), and repair_node_link_node_pointers().
| eBLOReadSkip FileData::skip_flags = BLO_READ_SKIP_NONE |
Optionally skip some data-blocks when they're not needed.
Definition at line 130 of file readfile.hh.
Referenced by blo_read_file_internal(), BLO_read_from_file(), BLO_read_from_memfile(), BLO_read_from_memory(), direct_link_id_common(), read_libblock(), read_libblock_undo_restore(), read_libblock_undo_restore_at_old_address(), and read_libblock_undo_restore_identical().
| void* FileData::storage_handle = nullptr |
Opaque handle to the storage system used for non-static allocation strings.
Definition at line 195 of file readfile.hh.
Referenced by get_alloc_name().
| int FileData::tot_bheadmap = 0 |
Definition at line 155 of file readfile.hh.
Referenced by find_bhead(), and sort_bhead_old_map().
| int FileData::undo_direction = 0 |
Whether we are undoing (< 0) or redoing (> 0), used to choose which 'unchanged' flag to use to detect unchanged data from memfile. eUndoStepDir.
Definition at line 93 of file readfile.hh.
Referenced by blo_filedata_from_memfile(), and direct_link_id_restore_recalc().