Blender  V3.3
Public Attributes | List of all members
Main Struct Reference

#include <BKE_main.h>

Public Attributes

struct Mainnext
 
struct Mainprev
 
char filepath [1024]
 
short versionfile
 
short subversionfile
 
short minversionfile
 
short minsubversionfile
 
bool has_forward_compatibility_issues
 
uint64_t build_commit_timestamp
 
char build_hash [16]
 
char recovered
 
char is_memfile_undo_written
 
char is_memfile_undo_flush_needed
 
char use_memfile_full_barrier
 
char is_locked_for_linking
 
bool is_read_invalid
 
BlendThumbnailblen_thumb
 
struct Librarycurlib
 
ListBase scenes
 
ListBase libraries
 
ListBase objects
 
ListBase meshes
 
ListBase curves
 
ListBase metaballs
 
ListBase materials
 
ListBase textures
 
ListBase images
 
ListBase lattices
 
ListBase lights
 
ListBase cameras
 
ListBase ipo
 
ListBase shapekeys
 
ListBase worlds
 
ListBase screens
 
ListBase fonts
 
ListBase texts
 
ListBase speakers
 
ListBase lightprobes
 
ListBase sounds
 
ListBase collections
 
ListBase armatures
 
ListBase actions
 
ListBase nodetrees
 
ListBase brushes
 
ListBase particles
 
ListBase palettes
 
ListBase paintcurves
 
ListBase wm
 
ListBase gpencils
 
ListBase movieclips
 
ListBase masks
 
ListBase linestyles
 
ListBase cachefiles
 
ListBase workspaces
 
ListBase hair_curves
 
ListBase pointclouds
 
ListBase volumes
 
ListBase simulations
 
struct MainIDRelationsrelations
 
struct IDNameLib_Mapid_map
 
struct UniqueName_Mapname_map
 
struct MainLock * lock
 

Detailed Description

Definition at line 121 of file BKE_main.h.

Member Data Documentation

◆ actions

ListBase Main::actions

◆ armatures

ListBase Main::armatures

◆ blen_thumb

BlendThumbnail* Main::blen_thumb

◆ brushes

ListBase Main::brushes

◆ build_commit_timestamp

uint64_t Main::build_commit_timestamp

Definition at line 134 of file BKE_main.h.

Referenced by read_global().

◆ build_hash

char Main::build_hash[16]

Definition at line 135 of file BKE_main.h.

Referenced by read_global().

◆ cachefiles

ListBase Main::cachefiles

◆ cameras

ListBase Main::cameras

◆ collections

ListBase Main::collections

◆ curlib

struct Library* Main::curlib

◆ curves

ListBase Main::curves

◆ filepath

char Main::filepath[1024]

◆ fonts

ListBase Main::fonts

◆ gpencils

ListBase Main::gpencils

◆ hair_curves

ListBase Main::hair_curves
Note
The name hair_curves is chosen to be different than curves, but they are generic curve data-blocks, not just for hair.

Definition at line 208 of file BKE_main.h.

Referenced by BKE_animdata_fix_paths_rename_all_ex(), BKE_animdata_main_cb(), set_listbasepointers(), and which_libbase().

◆ has_forward_compatibility_issues

bool Main::has_forward_compatibility_issues

The currently opened .blend file was written from a newer version of Blender, and has forward compatibility issues (data loss).

Note
: In practice currently this is only based on the version numbers, in the future it could try to use more refined detection on load.

Definition at line 132 of file BKE_main.h.

Referenced by blo_split_main(), block_create__close_file_dialog(), read_global(), uiTemplateStatusInfo(), wm_block_file_close_save(), and wm_save_as_mainfile_exec().

◆ id_map

struct IDNameLib_Map* Main::id_map

◆ images

ListBase Main::images

◆ ipo

ListBase Main::ipo

◆ is_locked_for_linking

char Main::is_locked_for_linking

When linking, disallow creation of new data-blocks. Make sure we don't do this by accident, see T76738.

Definition at line 156 of file BKE_main.h.

Referenced by BKE_id_free_ex(), BKE_libblock_alloc(), and do_version_workspaces_create_from_screens().

◆ is_memfile_undo_flush_needed

char Main::is_memfile_undo_flush_needed

◆ is_memfile_undo_written

char Main::is_memfile_undo_written

◆ is_read_invalid

bool Main::is_read_invalid

When set, indicates that an unrecoverable error/data corruption was detected. Should only be set by readfile code, and used by upper-level code (typically setup_app_data) to cancel a file reading operation.

Definition at line 163 of file BKE_main.h.

Referenced by add_main_to_main(), BKE_blendfile_read(), BKE_blendfile_read_from_memfile(), BKE_blendfile_read_from_memory(), BKE_blendfile_read_setup_ex(), BLO_library_link_end(), BLO_library_link_named_part(), blo_read_file_internal(), blo_readfile_invalidate(), and library_link_end().

◆ lattices

ListBase Main::lattices

◆ libraries

ListBase Main::libraries

◆ lightprobes

ListBase Main::lightprobes

Definition at line 187 of file BKE_main.h.

Referenced by blo_do_versions_280(), set_listbasepointers(), and which_libbase().

◆ lights

ListBase Main::lights

◆ linestyles

ListBase Main::linestyles

◆ lock

struct MainLock* Main::lock

◆ masks

ListBase Main::masks

◆ materials

ListBase Main::materials

◆ meshes

ListBase Main::meshes

◆ metaballs

ListBase Main::metaballs

◆ minsubversionfile

short Main::minsubversionfile

Definition at line 126 of file BKE_main.h.

Referenced by read_global().

◆ minversionfile

short Main::minversionfile

Definition at line 126 of file BKE_main.h.

Referenced by read_global().

◆ movieclips

ListBase Main::movieclips

◆ name_map

struct UniqueName_Map* Main::name_map

Definition at line 224 of file BKE_main.h.

Referenced by BKE_main_free(), get_namemap_for(), and main_namemap_validate_and_fix().

◆ next

struct Main* Main::next

◆ nodetrees

ListBase Main::nodetrees

◆ objects

ListBase Main::objects

Definition at line 170 of file BKE_main.h.

Referenced by blender::bke::tests::add_id_in_library(), applyarmature_fix_boneparents(), bake(), BKE_animdata_fix_paths_rename_all_ex(), BKE_animdata_main_cb(), BKE_collections_object_remove_duplicates(), BKE_image_walk_all_users(), BKE_lib_override_library_main_operations_create(), BKE_lib_override_library_main_proxy_convert(), BKE_lib_override_library_update(), BKE_library_make_local(), BKE_main_lib_objects_recalc_all(), BKE_mball_properties_copy(), BKE_object_exists_check(), BKE_object_material_slot_remove(), BKE_object_update_select_id(), BKE_objects_materials_test_all(), BKE_scene_set_background(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blo_do_versions_pre250(), BLO_update_defaults_startup_blend(), BM_mesh_bm_to_me(), blender::bke::tests::change_name(), clean_viewport_memory(), collection_instantiated_by_any_object(), CryptomatteSession::CryptomatteSession(), do_version_curvemapping_walker(), do_versions_after_linking_280(), do_versions_after_linking_290(), do_versions_after_linking_300(), do_versions_after_linking_cycles(), do_versions_idproperty_ui_data(), do_versions_ipos_to_animato(), ED_armature_bone_rename(), ED_armature_from_edit(), ED_editors_exit(), ED_editors_flush_edits_ex(), ED_editors_init(), ED_gpencil_update_color_uv(), ED_object_iter_other(), blender::bke::NodeTreeRelations::ensure_modifier_users(), find_family_object(), ignore_parent_tx(), joined_armature_fix_links(), lib_override_library_create_post_process(), lib_override_linked_group_tag(), lib_override_linked_group_tag_clear_boneshapes_objects(), libblock_remap_data_postprocess_object_update(), libblock_remap_foreach_idpair_cb(), make_local_all__instance_indirect_unused(), mesh_needs_keyindex(), move_to_collection_exec(), move_vertex_group_names_to_object_data(), object_convert_exec(), object_data_convert_curve_to_mesh(), object_origin_set_exec(), object_preview_scene_create(), outliner_object_set_flag_recursive_fn(), placeholders_ensure_valid(), pose_copy_exec(), pose_hide_exec(), pose_paste_exec(), pose_reveal_exec(), previews_clear_exec(), remap_hooks_and_vertex_parents(), scene_changed(), selected_objects_get(), separated_armature_fix_links(), set_listbasepointers(), snap_selected_to_location(), tag_localizable_objects(), blender::bke::tests::TEST(), text_refresh_pyconstraints_exec(), tree_element_posechannel_activate(), and which_libbase().

◆ paintcurves

ListBase Main::paintcurves

Definition at line 196 of file BKE_main.h.

Referenced by set_listbasepointers(), and which_libbase().

◆ palettes

ListBase Main::palettes

◆ particles

ListBase Main::particles

◆ pointclouds

ListBase Main::pointclouds

◆ prev

struct Main * Main::prev

◆ recovered

char Main::recovered

Indicate the Main.filepath (file) is the recovered one.

Definition at line 138 of file BKE_main.h.

Referenced by setup_app_data(), and wm_file_write().

◆ relations

struct MainIDRelations* Main::relations

◆ scenes

ListBase Main::scenes

Definition at line 168 of file BKE_main.h.

Referenced by ANIM_keyingset_info_unregister(), BKE_animdata_fix_paths_rename_all_ex(), BKE_animdata_main_cb(), BKE_collections_child_remove_nulls(), BKE_collections_object_remove_duplicates(), BKE_collections_object_remove_nulls(), BKE_image_walk_all_users(), BKE_layer_collection_local_sync_all(), BKE_lib_override_library_main_proxy_convert(), BKE_main_collection_sync(), BKE_main_collection_sync_remap(), BKE_main_collections_parent_relations_rebuild(), BKE_node_tree_iter_init(), BKE_object_scenes_users_get(), BKE_paint_toolslots_init_from_main(), BKE_scene_can_be_removed(), BKE_scene_find_from_collection(), BKE_scene_undo_depsgraphs_extract(), BKE_scene_undo_depsgraphs_restore(), BKE_scene_validate_setscene(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blo_do_versions_cycles(), blo_do_versions_pre250(), BLO_update_defaults_startup_blend(), blender::ed::outliner::TreeDisplayScenes::buildTree(), clean_paths(), collection_owner_get(), do_version_curvemapping_walker(), do_versions_after_linking_280(), do_versions_after_linking_290(), do_versions_after_linking_300(), do_versions_after_linking_cycles(), do_versions_idproperty_ui_data(), do_versions_ipos_to_animato(), DRW_cache_free_old_batches(), ed_marker_make_links_scene_exec(), ED_render_engine_changed(), IMB_colormanagement_check_file_config(), lib_link_scenes_check_set(), make_links_scene_exec(), make_override_library_object_overridable_check(), node_owner_get(), blender::ed::space_node::node_read_viewlayers_exec(), object_delete_exec(), object_in_any_collection(), object_in_any_scene(), preview_get_scene(), previews_ensure_exec(), screen_render_single_layer_set(), seq_cache_cleanup_all(), SEQ_relations_invalidate_movieclip_strips(), SEQ_relations_invalidate_scene_strips(), sequencer_add_scene_strip_exec(), sequencer_change_scene_exec(), set_listbasepointers(), setup_app_data(), texture_changed(), uiTemplateRunningJobs(), version_fix_image_format_copy(), view3d_local_collections_reset(), view_layer_remove_unset_nodetrees(), which_libbase(), wm_block_autorun_warning_enable_scripts(), wm_file_read_report(), and write_renderinfo().

◆ screens

ListBase Main::screens

◆ shapekeys

ListBase Main::shapekeys

◆ simulations

ListBase Main::simulations

◆ sounds

ListBase Main::sounds

◆ speakers

ListBase Main::speakers

◆ subversionfile

short Main::subversionfile

◆ texts

ListBase Main::texts

◆ textures

ListBase Main::textures

◆ use_memfile_full_barrier

char Main::use_memfile_full_barrier

Indicates that next memfile undo step should not allow reusing old bmain when re-read, but instead do a complete full re-read/update from stored memfile.

Definition at line 150 of file BKE_main.h.

Referenced by memfile_undosys_step_encode().

◆ versionfile

short Main::versionfile

◆ volumes

ListBase Main::volumes

◆ wm

ListBase Main::wm

Definition at line 197 of file BKE_main.h.

Referenced by BKE_blendfile_read_from_memfile(), BKE_image_editors_update_frame(), BKE_image_walk_all_users(), BKE_view_layer_rename(), BKE_workspace_id_tag_all_visible(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), BlendfileLoadingBaseTest::blendfile_free(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), BLO_update_defaults_startup_blend(), check_rendered_viewport_visible(), clean_viewport_memory(), current_screen_compat(), do_version_workspaces_after_lib_link(), do_versions_after_linking_280(), ED_clip_update_frame(), ED_editors_init_for_undo(), ED_node_set_active(), ED_object_base_active_refresh(), ED_object_sculptmode_enter_ex(), ED_object_texture_paint_mode_enter_ex(), ED_render_engine_area_exit(), ED_render_scene_update(), ED_render_view3d_update(), ED_scene_delete(), ED_scene_view_layer_delete(), ED_spreadsheet_context_path_guess(), ED_spreadsheet_context_path_is_active(), ED_spreadsheet_context_paths_set_geometry_node(), ED_text_undo_push_init(), ED_view3d_shade_update(), find_spreadsheet_editors(), format_stats(), render_image_restore_layer(), render_image_update_pass_and_layer(), set_listbasepointers(), setup_app_data(), sound_jack_sync_callback(), toolsystem_ref_link(), toolsystem_refresh_screen_from_active_tool(), track_markers_endjob(), tree_element_camera_activate(), which_libbase(), WM_check(), wm_clear_default_size(), WM_file_read(), WM_gizmomaptype_group_init_runtime_keymap(), wm_homefile_read_ex(), WM_main_add_notifier(), WM_main_remap_editor_id_reference(), WM_main_remove_notifier_reference(), WM_report_banners_cancel(), WM_toolsystem_do_msg_notify_tag_refresh(), WM_toolsystem_ref_sync_from_context(), WM_toolsystem_refresh_active(), WM_toolsystem_refresh_screen_all(), WM_toolsystem_update_from_context_view3d(), wm_uilisttype_unlink(), wm_userpref_read_exec(), wm_window_match_do(), WM_window_set_active_view_layer(), wm_xr_session_create_cb(), wm_xr_session_update_screen(), workspace_blend_read_lib(), and Freestyle::BlenderStrokeRenderer::~BlenderStrokeRenderer().

◆ workspaces

ListBase Main::workspaces

◆ worlds

ListBase Main::worlds

The documentation for this struct was generated from the following file: