|
Blender V5.0
|
ID and Library types, which are fundamental for SDNA. More...
#include "DNA_ID_enums.h"#include "DNA_defs.h"#include "DNA_listBase.h"#include "BLI_assert.h"#include "BLI_compiler_typecheck.h"Go to the source code of this file.
Classes | |
| struct | IDPropertyUIData |
| struct | IDPropertyUIDataEnumItem |
| struct | IDPropertyUIDataInt |
| struct | IDPropertyUIDataBool |
| struct | IDPropertyUIDataFloat |
| struct | IDPropertyUIDataString |
| struct | IDPropertyUIDataID |
| struct | IDPropertyData |
| struct | IDProperty |
| struct | IDOverrideLibraryPropertyOperation |
| struct | IDOverrideLibraryProperty |
| struct | IDOverrideLibraryRuntime |
| struct | IDOverrideLibrary |
| struct | IDHash |
| struct | ID |
| struct | Library |
| struct | LibraryWeakReference |
| struct | PreviewImage |
Macros | |
| #define | MAX_IDPROP_NAME 64 |
| #define | DEFAULT_ALLOC_FOR_NULL_STRINGS 64 |
| #define | MAX_ID_NAME 258 |
| #define | ID_FAKE_USERS(id) |
| #define | ID_EXTRA_USERS(id) |
| #define | ID_EXTRA_REAL_USERS(id) |
| #define | ID_REAL_USERS(id) |
| #define | ID_REFCOUNTING_USERS(id) |
| #define | ID_CHECK_UNDO(id) |
| #define | ID_BLEND_PATH(_bmain, _id) |
| #define | ID_BLEND_PATH_FROM_GLOBAL(_id) |
| #define | ID_MISSING(_id) |
| #define | ID_IS_LINKED(_id) |
| #define | ID_IS_PACKED(_id) |
| #define | ID_TYPE_SUPPORTS_ASSET_EDITABLE(id_type) |
| #define | ID_IS_EDITABLE(_id) |
| #define | ID_IS_OVERRIDABLE_LIBRARY_HIERARCHY(_id) |
| #define | ID_IS_OVERRIDABLE_LIBRARY(_id) |
| #define | ID_IS_OVERRIDE_LIBRARY_REAL(_id) |
| #define | ID_IS_OVERRIDE_LIBRARY_VIRTUAL(_id) |
| #define | ID_IS_OVERRIDE_LIBRARY(_id) |
| #define | ID_IS_OVERRIDE_LIBRARY_HIERARCHY_ROOT(_id) |
| #define | ID_IS_ASSET(_id) |
| #define | ID_TYPE_USE_COPY_ON_EVAL(_id_type) |
| #define | ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW(id_type) |
| #define | ID_TYPE_IS_DEPRECATED(id_type) |
| #define | GS(a) |
| #define | ID_NEW_SET(_id, _idn) |
| #define | ID_NEW_REMAP(a) |
| #define | ID_TAG_KEEP_ON_UNDO (ID_TAG_EXTRAUSER | ID_TAG_MISSING | ID_TAG_RUNTIME) |
| #define | FILTER_ID_AC (1ULL << 0) |
| #define | FILTER_ID_AR (1ULL << 1) |
| #define | FILTER_ID_BR (1ULL << 2) |
| #define | FILTER_ID_CA (1ULL << 3) |
| #define | FILTER_ID_CU_LEGACY (1ULL << 4) |
| #define | FILTER_ID_GD_LEGACY (1ULL << 5) |
| #define | FILTER_ID_GR (1ULL << 6) |
| #define | FILTER_ID_IM (1ULL << 7) |
| #define | FILTER_ID_LA (1ULL << 8) |
| #define | FILTER_ID_LS (1ULL << 9) |
| #define | FILTER_ID_LT (1ULL << 10) |
| #define | FILTER_ID_MA (1ULL << 11) |
| #define | FILTER_ID_MB (1ULL << 12) |
| #define | FILTER_ID_MC (1ULL << 13) |
| #define | FILTER_ID_ME (1ULL << 14) |
| #define | FILTER_ID_MSK (1ULL << 15) |
| #define | FILTER_ID_NT (1ULL << 16) |
| #define | FILTER_ID_OB (1ULL << 17) |
| #define | FILTER_ID_PAL (1ULL << 18) |
| #define | FILTER_ID_PC (1ULL << 19) |
| #define | FILTER_ID_SCE (1ULL << 20) |
| #define | FILTER_ID_SPK (1ULL << 21) |
| #define | FILTER_ID_SO (1ULL << 22) |
| #define | FILTER_ID_TE (1ULL << 23) |
| #define | FILTER_ID_TXT (1ULL << 24) |
| #define | FILTER_ID_VF (1ULL << 25) |
| #define | FILTER_ID_WO (1ULL << 26) |
| #define | FILTER_ID_PA (1ULL << 27) |
| #define | FILTER_ID_CF (1ULL << 28) |
| #define | FILTER_ID_WS (1ULL << 29) |
| #define | FILTER_ID_LP (1ULL << 31) |
| #define | FILTER_ID_CV (1ULL << 32) |
| #define | FILTER_ID_PT (1ULL << 33) |
| #define | FILTER_ID_VO (1ULL << 34) |
| #define | FILTER_ID_SIM (1ULL << 35) |
| #define | FILTER_ID_KE (1ULL << 36) |
| #define | FILTER_ID_SCR (1ULL << 37) |
| #define | FILTER_ID_WM (1ULL << 38) |
| #define | FILTER_ID_LI (1ULL << 39) |
| #define | FILTER_ID_GP (1ULL << 40) |
| #define | FILTER_ID_IP (1ULL << 41) |
| #define | FILTER_ID_ALL |
| #define | INDEX_ID_MAX (INDEX_ID_NULL + 1) |
| #define DEFAULT_ALLOC_FOR_NULL_STRINGS 64 |
Definition at line 187 of file DNA_ID.h.
Referenced by IDP_New(), and IDP_NewStringMaxSize().
| #define FILTER_ID_ALL |
Definition at line 1239 of file DNA_ID.h.
Referenced by BKE_library_id_can_use_filter_id(), blo_do_versions_300(), filelist_setfilter_options(), fileselect_ensure_updated_asset_params(), blender::ed::asset::list::AssetList::setup(), and blender::ed::asset::types_supported_as_filter_flags().
| #define FILTER_ID_AR (1ULL << 1) |
Definition at line 1198 of file DNA_ID.h.
Referenced by libblock_remap_data_preprocess_ob().
| #define FILTER_ID_BR (1ULL << 2) |
Definition at line 1199 of file DNA_ID.h.
Referenced by get_type_info().
| #define FILTER_ID_GD_LEGACY (1ULL << 5) |
Definition at line 1202 of file DNA_ID.h.
Referenced by get_type_info(), and image_id_remap().
| #define FILTER_ID_GR (1ULL << 6) |
Definition at line 1203 of file DNA_ID.h.
Referenced by blo_do_versions_300(), get_type_info(), and preview_filter_to_idfilter().
| #define FILTER_ID_IM (1ULL << 7) |
Definition at line 1204 of file DNA_ID.h.
Referenced by get_type_info(), image_id_remap(), paste_material_exec(), preview_filter_to_idfilter(), and view3d_id_remap().
| #define FILTER_ID_LA (1ULL << 8) |
Definition at line 1205 of file DNA_ID.h.
Referenced by preview_filter_to_idfilter().
| #define FILTER_ID_LS (1ULL << 9) |
Definition at line 1206 of file DNA_ID.h.
Referenced by get_type_info().
| #define FILTER_ID_MA (1ULL << 11) |
Definition at line 1208 of file DNA_ID.h.
Referenced by get_type_info(), paste_material_exec(), preview_filter_to_idfilter(), and view3d_id_remap().
| #define FILTER_ID_MC (1ULL << 13) |
Definition at line 1210 of file DNA_ID.h.
Referenced by clip_id_remap(), get_type_info(), and view3d_id_remap().
| #define FILTER_ID_MSK (1ULL << 15) |
Definition at line 1212 of file DNA_ID.h.
Referenced by clip_id_remap(), get_type_info(), and image_id_remap().
| #define FILTER_ID_NT (1ULL << 16) |
Definition at line 1213 of file DNA_ID.h.
Referenced by blender::ed::geometry::build_catalog_tree(), blender::ed::object::build_catalog_tree(), blender::ed::space_node::build_catalog_tree(), blender::ed::space_node::gather_search_link_ops_for_all_assets(), get_type_info(), and paste_material_exec().
| #define FILTER_ID_OB (1ULL << 17) |
Definition at line 1214 of file DNA_ID.h.
Referenced by get_type_info(), paste_material_exec(), pose_paste_exec(), preview_filter_to_idfilter(), view3d_id_remap(), and view3d_pastebuffer_exec().
| #define FILTER_ID_PAL (1ULL << 18) |
Definition at line 1215 of file DNA_ID.h.
Referenced by get_type_info().
| #define FILTER_ID_SCE (1ULL << 20) |
Definition at line 1217 of file DNA_ID.h.
Referenced by blo_do_versions_500(), blender::ed::vse::build_catalog_tree(), get_type_info(), and preview_filter_to_idfilter().
| #define FILTER_ID_SO (1ULL << 22) |
Definition at line 1219 of file DNA_ID.h.
Referenced by get_type_info().
| #define FILTER_ID_TE (1ULL << 23) |
Definition at line 1220 of file DNA_ID.h.
Referenced by preview_filter_to_idfilter().
| #define FILTER_ID_TXT (1ULL << 24) |
Definition at line 1221 of file DNA_ID.h.
Referenced by get_type_info(), and paste_material_exec().
| #define FILTER_ID_WO (1ULL << 26) |
Definition at line 1223 of file DNA_ID.h.
Referenced by get_type_info(), and preview_filter_to_idfilter().
| #define GS | ( | a | ) |
| #define ID_BLEND_PATH | ( | _bmain, | |
| _id ) |
Definition at line 685 of file DNA_ID.h.
Referenced by blender::seq::add_image_init_alpha_mode(), blender::seq::add_image_strip(), blender::seq::add_movie_strip(), blender::seq::add_reload_new_file(), blender::ed::object::bake_simulation::bake_simulation_get_path_users(), BKE_bpath_foreach_path_id(), BKE_cachefile_filepath_get(), BKE_image_load_exists_in_lib(), BKE_image_signal(), BKE_image_user_file_path_ex(), BKE_modifier_path_relbase(), BKE_movieclip_file_add_exists_ex(), BKE_packedfile_pack_all(), BKE_sound_new_file_exists_ex(), BKE_vfont_load_exists_ex(), bpy_text_filepath_get(), detect_clip_source(), blender::nodes::GeoNodeExecParams::ensure_absolute_path(), file_browse_exec(), blender::bke::bake::get_modifier_bake_path(), blender::bke::bake::get_node_bake_path(), image_pack_exec(), image_save_update_filepath(), blender::io::usd::load_image(), blender::io::usd::USDMaterialReader::load_tex_image(), blender::ed::vse::sequencer_generic_invoke_path__internal(), sound_pack_exec(), text_jump_to_file_at_point_exec(), text_jump_to_file_at_point_internal(), text_open_invoke(), text_save_as_invoke(), and blender::bke::bake::unpack_geometry_nodes_bake().
| #define ID_BLEND_PATH_FROM_GLOBAL | ( | _id | ) |
Definition at line 688 of file DNA_ID.h.
Referenced by add_ibuf_for_tile(), BKE_add_template_variables_general(), BKE_image_signal(), BKE_movieclip_filepath_for_frame(), BKE_text_file_modified_check(), BKE_text_file_modified_ignore(), BKE_text_reload(), BKE_vfont_data_ensure(), blender::seq::check_media_missing(), blender::seq::check_sound_media_missing(), customdata_external_filename(), blender::seq::effect_text_font_load(), blender::io::usd::export_packed_texture(), blender::io::usd::get_absolute_path(), blender::ed::vse::get_drag_path(), blender::seq::get_path_from_strip(), get_sequence_filepath(), image_update_views_format(), load_image_single(), meshcache_do(), movieclip_open_anim_file(), open_invoke(), open_invoke(), blender::seq::seq_proxy_multiview_context_invalid(), blender::seq::seq_render_image_strip(), blender::seq::strip_open_anim_file(), blender::seq::thumbnail_cache_invalidate_strip(), and ui_tooltip_from_vfont().
| #define ID_CHECK_UNDO | ( | id | ) |
Definition at line 683 of file DNA_ID.h.
Referenced by ED_undo_is_legacy_compatible_for_property(), operator_button_property_finish(), and ui_but_is_rna_undo().
| #define ID_EXTRA_REAL_USERS | ( | id | ) |
Amount of real 'extra' shallow, runtime-only usages of this ID (typically from UI). Always 0 or 1.
| #define ID_EXTRA_USERS | ( | id | ) |
Amount of defined 'extra' shallow, runtime-only usages of this ID (typically from UI). Always 0 or 1.
Definition at line 662 of file DNA_ID.h.
Referenced by blender::ed::object::base_free_and_unlink(), BKE_brush_delete(), blender::ed::object::object_delete_exec(), blender::ed::outliner::outliner_batch_delete_object_tag(), and blender::ed::outliner::outliner_object_delete_fn().
| #define ID_FAKE_USERS | ( | id | ) |
Amount of 'fake user' usages of this ID. Always 0 or 1.
Definition at line 655 of file DNA_ID.h.
Referenced by BKE_main_id_refcount_recompute(), blo_add_main_for_library(), create_placeholder(), direct_link_id_common(), id_delete(), id_us_clear_real(), id_us_ensure_real(), id_us_min(), lib_id_fake_user_toggle_exec(), blender::ed::outliner::outliner_draw_userbuts(), and read_libblock_undo_restore_identical().
| #define ID_IS_ASSET | ( | _id | ) |
Definition at line 737 of file DNA_ID.h.
Referenced by blender::ed::asset::asset_operation_get_id_vec_stats_from_ids(), BKE_lib_id_clear_library_data(), blender::ed::sculpt_paint::brush_asset_edit_metadata_exec(), blender::ed::sculpt_paint::brush_asset_edit_metadata_poll(), blender::ed::sculpt_paint::brush_asset_load_preview_exec(), blender::ed::sculpt_paint::brush_asset_save_as_exec(), blender::ed::sculpt_paint::brush_asset_save_exec(), blender::ed::space_node::context_path_add_node_tree_and_node_groups(), blender::ed::sculpt_paint::get_asset_library_reference(), template_ID(), and UI_icon_from_library().
| #define ID_IS_EDITABLE | ( | _id | ) |
Definition at line 705 of file DNA_ID.h.
Referenced by animfilter_action(), blender::ed::object::apply_objects_internal(), armature_bone_select_poll(), BKE_collection_add_from_collection(), BKE_collection_object_add_from(), BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_constraint_copy_for_object(), BKE_constraint_copy_for_pose(), BKE_id_can_be_asset(), BKE_id_is_editable(), BKE_mball_properties_copy(), BKE_packedfile_id_unpack(), BKE_packedfile_pack_all(), BKE_view_layer_rename_lightgroup(), bone_collection_add_poll(), bone_collection_assign_poll(), bone_collection_create_and_assign_poll(), blender::ed::object::collection_drop_exec(), blender::ed::outliner::collection_drop_init(), blender::ed::outliner::collection_duplicate_exec(), blender::ed::outliner::collection_edit_in_active_scene_poll(), collection_is_editable_in_viewlayer(), blender::ed::object::collection_link_exec(), blender::ed::outliner::collection_link_exec(), blender::ed::outliner::collection_new_exec(), blender::ed::outliner::collection_parent_from_ID(), blender::ed::object::collection_remove_exec(), blender::ed::transform::createTransCursor_view3d(), blender::ed::object::data_transfer_exec(), blender::ed::object::data_transfer_exec_is_object_valid(), blender::ed::object::data_transfer_exec_preprocess_objects(), blender::ed::object::datalayout_transfer_exec(), blender::ed::outliner::do_item_rename(), ED_add_action_channel(), ED_add_action_group_channel(), ED_add_action_layered_channel(), ED_add_fcurve_channel(), ED_id_rename(), ED_image_save_all_modified_info(), ED_operator_camera_poll(), ED_operator_editable_mesh(), ED_operator_object_active_editable_font(), ED_operator_object_active_editable_mesh(), ED_operator_objectmode(), ED_paint_proj_mesh_data_check(), ED_view3d_camera_lock_check(), blender::ed::object::edit_constraint_poll_generic(), blender::nodes::socket_items::ops::editable_node_active_poll(), blender::ed::object::editmode_enter_ex(), blender::ed::object::editmode_toggle_poll(), blender::nodes::socket_items::ops::get_active_node_to_operate_on(), icon_preview_startjob_all_sizes(), image_file_browse_poll(), image_from_context_editable_has_data_poll_active_tile(), image_pack_test(), image_paint_poll_ex(), image_unpack_exec(), image_unpack_invoke(), layers_poll(), lib_id_preview_editing_poll_ex(), blender::ed::outliner::material_drop_poll(), mesh_customdata_mask_clear_poll(), mesh_customdata_skin_state(), blender::ed::object::mode_set_ex(), blender::ed::sculpt_paint::vwpaint::mode_toggle_poll_test(), blender::ed::object::modifier_copy_to_selected_exec(), modifier_panel_get_property_pointers(), blender::ed::object::move_to_collection_exec(), move_to_collection_poll(), nlaedit_apply_scale_exec(), blender::ed::space_node::node_default_group_width_set_poll(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::ed::space_node::node_tree_interface_draw(), blender::ed::space_node::node_update_basis_buttons(), blender::ed::space_node::node_update_basis_from_declaration(), blender::ed::space_node::node_update_basis_socket(), blender::ed::object::object_convert_poll(), blender::ed::object::object_join_poll(), object_materials_supported_poll_ex(), blender::ed::object::object_origin_set_exec(), blender::ed::object::object_remesh_poll(), blender::ed::object::object_transfer_mode_invoke(), operator_rigidbody_constraints_editable_poll(), operator_rigidbody_editable_poll(), blender::ed::outliner::outliner_collection_delete(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_id_remap_exec(), palette_poll(), particle_edit_toggle_poll(), previews_id_ensure(), project_paint_prepare_all_faces(), ptcache_add_remove_poll(), ptcache_poll(), remove_particle_systems_from_object(), rename_anim_channels(), RNA_property_anim_editable(), rna_property_editable_do(), scene_collections_object_remove(), screen_ctx_sel_actions_impl(), blender::ed::vse::sequencer_strip_editable_poll(), blender::nodes::inverse_eval::set_rna_property(), blender::ed::object::shade_poll(), shaderfx_panel_header(), blender::ed::object::shape_key_poll(), blender::animrig::Action::slot_setup_for_id(), sound_unpack_exec(), sound_unpack_invoke(), template_add_button_search_menu(), template_ID(), template_id_def_new_but(), texture_paint_toggle_poll(), UI_context_copy_to_selected_list(), ui_drop_material_poll(), uiTemplateColorRamp(), uiTemplateConstraintHeader(), uiTemplateCurveMapping(), uiTemplateCurveProfile(), uiTemplateNodeLink(), blender::ed::outliner::unlink_collection_fn(), blender::ed::outliner::unlink_material_fn(), blender::ed::outliner::unlink_object_fn(), unpack_item_exec(), v3d_object_dimension_buts(), blender::ed::object::vertex_group_select_exec(), blender::ed::object::vertex_group_supported_poll_ex(), and view3d_mat_drop_poll().
| #define ID_IS_LINKED | ( | _id | ) |
Definition at line 694 of file DNA_ID.h.
Referenced by ANIM_animfilter_action_slot(), ANIM_armature_bonecoll_is_editable(), ANIM_armature_bonecoll_new(), animdata_copy_id_action(), animfilter_action_slots(), are_ids_from_different_mains_matching(), blender::bke::asset_reload(), blender::bke::bake::BakeDataBlockID::BakeDataBlockID(), BKE_animdata_blend_read_data(), BKE_blendfile_append(), BKE_blendfile_link_pack(), BKE_blendfile_override(), BKE_bpath_foreach_path_id(), BKE_brush_tag_unsaved_changes(), BKE_collection_add_from_object(), BKE_collection_duplicate(), BKE_constraint_blend_read_data(), BKE_gpencil_blend_read_data(), BKE_gpencil_modifier_blend_read_data(), BKE_id_copy_for_duplicate(), BKE_id_copy_in_lib(), BKE_id_free_us(), BKE_id_full_name_get(), BKE_id_move_to_same_lib(), BKE_id_new_name_validate(), BKE_id_to_unique_string_key(), BKE_lib_id_make_local_generic(), BKE_lib_override_id_tag_on_deg_tag_from_user(), BKE_lib_override_library_create_from_id(), BKE_lib_override_library_create_from_tag(), BKE_lib_override_library_init(), BKE_lib_override_library_main_operations_create(), BKE_lib_override_library_main_operations_restore(), BKE_lib_override_library_main_proxy_convert(), BKE_lib_override_library_main_resync(), BKE_lib_override_library_proxy_convert(), BKE_libblock_relink_to_newid(), BKE_library_indirectly_used_data_tag_clear(), BKE_library_main_rebuild_hierarchy(), BKE_library_make_local(), BKE_main_id_refcount_recompute(), BKE_main_id_repair_duplicate_names_listbase(), BKE_main_lib_objects_recalc_all(), BKE_modifier_blend_read_data(), BKE_modifier_path_relbase(), BKE_modifiers_persistent_uid_init(), BKE_nla_blend_read_data(), BKE_object_duplicate(), BKE_object_is_libdata(), BKE_object_obdata_is_libdata(), BKE_packedfile_count_all(), BKE_packedfile_pack_all(), BKE_packedfile_unpack_all(), BKE_paint_brush_set(), BKE_scene_can_be_removed(), BKE_scene_duplicate(), BKE_shaderfx_blend_read_data(), blend_write(), blend_write(), blend_write(), blend_write(), blendfile_append_define_actions(), blendfile_relocate_postprocess_liboverrides(), blo_cache_storage_init(), blo_cache_storage_old_bmain_clear(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_300(), blo_do_versions_pre250(), BLO_main_validate_libraries(), BLO_main_validate_shapekeys(), blender::ed::sculpt_paint::brush_asset_delete_invoke(), blender::ed::sculpt_paint::brush_asset_delete_poll(), brush_make_local(), camera_blend_read_data(), check_missing_files_foreach_path_cb(), blender::ed::object::clear_override_library_exec(), blender::ed::object::collection_exporter_common_check(), blender::bke::id_hash::compute_linked_id_deep_hashes(), con_extern_cb(), blender::ed::space_node::context_path_add_node_tree_and_node_groups(), blender::ed::space_node::NodeClipboard::copy_add_node(), direct_link_id_common(), do_version_collection_propagate_lib_to_children(), do_version_layers_to_collections(), do_versions_after_linking_400(), do_versions_rename_id(), ED_add_action_slot_channel(), blender::ed::greasepencil::editable_grease_pencil_poll(), blender::bke::library::ensure_archive_library(), filelist_readjob_main_assets_add_items(), foreach_id_file_path_map(), foreach_libblock_link_append_common_processing(), gather_local_ids_to_write(), blender::bke::id_hash::get_id_shallow_hash(), blender::ed::greasepencil::grease_pencil_context_poll(), id_copy_libmanagement_cb(), id_delete(), id_lib_extern(), id_lib_indirect_weak_link(), blender::ed::outliner::id_local_fn(), blender::ed::outliner::id_override_library_clear_single(), blender::ed::outliner::id_override_library_create_hierarchy(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), blender::ed::outliner::id_override_library_create_hierarchy_process(), blender::ed::outliner::id_override_library_delete_hierarchy(), blender::ed::outliner::id_override_library_reset(), blender::ed::outliner::id_override_library_resync(), id_refcount_recompute_callback(), id_search_add(), id_sort_by_name(), image_file_browse_exec(), image_file_browse_invoke(), IMB_colormanagement_check_file_config(), blender::animrig::insert_keyframes(), layer_collection_sync(), lib_id_copy_ensure_local(), lib_id_expand_local_cb(), lib_id_override_editable_toggle_poll(), lib_link_cb(), lib_override_cleanup_after_resync(), lib_override_group_tag_data_object_to_collection_init_collection_process(), lib_override_library_create_from(), lib_override_library_create_post_process(), lib_override_library_main_resync_on_library_indirect_level(), lib_override_library_operations_create(), lib_override_library_resync(), lib_override_library_resync_build_missing_ids_data(), lib_override_linked_group_tag(), lib_override_linked_group_tag_recursive(), lib_override_resync_id_lib_level_is_valid(), lib_override_sort_libraries_func(), lib_query_unused_ids_has_exception_user(), lib_query_unused_ids_tag(), lib_query_unused_ids_tag_id(), lib_query_unused_ids_tag_recurse(), lib_query_unused_ids_untag_id(), libblock_relink_to_newid_prepare_data(), library_foreach_ID_link(), library_make_local_copying_check(), long_id_names_ensure_unique_id_names(), loose_data_instantiate_process_check(), blender::ed::object::make_local_all__instance_indirect_unused(), blender::ed::object::make_override_library_exec(), blender::ed::object::make_override_library_invoke(), blender::ed::object::make_override_library_object_overridable_check(), blender::ed::object::make_override_library_poll(), make_selected_objects_local(), memfile_undosys_step_id_reused_cb(), blender::ed::object::mode_set_ex(), new_texture_exec(), blender::ed::space_node::node_duplicate_exec(), blender::nodes::node_group_declare(), blender::ed::space_node::node_undefined_or_unsupported(), ntree_version_245(), blender::draw::overlay::Origins::object_sync(), oldnewmap_liblookup(), blender::ed::outliner::outliner_draw_overrides_restrictbuts(), blender::ed::outliner::outliner_draw_userbuts(), blender::ed::outliner::outliner_id_relocate_invoke(), override_idtemplate_clear_exec(), override_idtemplate_make_exec(), override_idtemplate_menu_poll(), override_idtemplate_poll(), override_idtemplate_reset_exec(), override_library_is_valid(), blender::bke::library::pack_linked_id_hierarchy(), pack_linked_ids(), blender::ed::animrig::pose_asset_delete_exec(), blender::ed::animrig::pose_asset_delete_invoke(), blender::ed::animrig::pose_asset_delete_poll(), blender::ed::animrig::pose_asset_modify_exec(), blender::ed::animrig::pose_asset_modify_poll(), read_bone_collections(), read_undo_remap_noundo_data(), rebuild_hierarchy_best_parent_find(), blender::ed::object::reset_clear_override_library_poll(), blender::ed::object::reset_override_library_exec(), reuse_bmain_data_invalid_local_usages_fix(), reuse_bmain_data_invalid_local_usages_fix_cb(), reuse_bmain_move_id(), reuse_editable_asset_bmain_data_for_blendfile(), rna_id_itemf(), RNA_path_full_ID_py(), rna_property_override_check_resync(), scene_blend_read_after_liblink(), scene_undo_depsgraph_gen_key(), setup_app_data(), blender::ed::object::single_data_needs_duplication(), blender::ed::object::single_object_users_collection(), sort_linked_ids(), swap_old_bmain_data_for_blendfile(), blender::ed::object::tag_localizable_objects(), template_ID(), template_id_liboverride_hierarchy_collection_root_find_recursive(), template_id_liboverride_hierarchy_collections_tag_recursive(), template_id_liboverride_hierarchy_make(), blender::ed::outliner::tselem_draw_icon(), UI_icon_from_library(), ui_rna_collection_search_update_fn(), ui_template_id_liboverride_hierarchy_make(), ui_tooltip_data_from_button_or_extra_icon(), ui_tooltip_data_from_search_item_tooltip_data(), unpin_file_local_grease_pencil_brush_materials(), wm_id_linked_relocate_exec(), workspace_blend_read_after_liblink(), workspace_blend_read_data(), write_file_handle(), write_id_direct_linked_data_process_cb(), write_libraries(), and write_renderinfo().
| #define ID_IS_OVERRIDABLE_LIBRARY | ( | _id | ) |
Definition at line 716 of file DNA_ID.h.
Referenced by BKE_collection_add_from_object(), blender::ed::outliner::id_override_library_create_hierarchy(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), blender::ed::object::make_override_library_exec(), blender::ed::object::make_override_library_invoke(), blender::ed::object::make_override_library_poll(), and template_id_liboverride_hierarchy_collection_root_find_recursive().
| #define ID_IS_OVERRIDABLE_LIBRARY_HIERARCHY | ( | _id | ) |
Definition at line 712 of file DNA_ID.h.
Referenced by BKE_lib_override_library_proxy_convert(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), and ui_template_id_liboverride_hierarchy_make().
| #define ID_IS_OVERRIDE_LIBRARY | ( | _id | ) |
Definition at line 730 of file DNA_ID.h.
Referenced by action_new_exec(), action_pushdown_exec(), action_stash_create_exec(), action_stash_exec(), ANIM_animfilter_action_slot(), ANIM_armature_bonecoll_is_editable(), ANIM_armature_bonecoll_new(), animfilter_action(), animfilter_action_slots(), blender::ed::transform::animrecord_check_state(), blender::ed::object::apply_objects_internal(), armature_bone_select_poll(), BKE_animdata_copy_id_action(), BKE_collection_add_from_collection(), BKE_collection_object_add_from(), BKE_constraint_is_nonlocal_in_liboverride(), BKE_id_can_be_asset(), BKE_id_full_name_ui_prefix_get(), BKE_lib_override_id_tag_on_deg_tag_from_user(), BKE_lib_override_library_copy(), BKE_lib_override_library_id_is_user_deletable(), BKE_lib_override_library_is_system_defined(), BKE_lib_override_library_is_user_edited(), BKE_lib_override_library_main_tag(), BKE_lib_override_library_main_unused_cleanup(), BKE_lib_override_rna_property_find(), BKE_modifier_is_nonlocal_in_liboverride(), BKE_nlatrack_is_nonlocal_in_liboverride(), BKE_shaderfx_is_nonlocal_in_liboverride(), blend_write(), blend_write(), blend_write(), blend_write(), blendfile_append_define_actions(), BLO_main_validate_embedded_liboverrides(), bone_collection_assign_poll(), bone_collection_create_and_assign_poll(), camera_background_image_remove_exec(), blender::ed::outliner::collection_drop_init(), blender::ed::outliner::collection_duplicate_exec(), blender::ed::outliner::collection_edit_in_active_scene_poll(), blender::ed::object::collection_exporter_common_check(), collection_is_editable_in_viewlayer(), blender::ed::object::collection_link_exec(), blender::ed::outliner::collection_link_exec(), blender::ed::outliner::collection_new_exec(), blender::ed::outliner::collection_parent_from_ID(), blender::ed::object::collection_remove_exec(), blender::ed::object::collection_unlink_exec(), blender::ed::object::collection_unlink_poll(), blender::ed::object::data_transfer_exec(), blender::ed::object::data_transfer_exec_is_object_valid(), blender::ed::object::data_transfer_exec_preprocess_objects(), blender::ed::object::datalayout_transfer_exec(), blender::ed::outliner::do_item_rename(), ED_add_action_channel(), ED_add_action_group_channel(), ED_add_action_layered_channel(), ED_add_action_slot_channel(), ED_add_fcurve_channel(), ED_operator_editable_mesh(), ED_operator_object_active_editable_font(), ED_operator_object_active_editable_mesh(), ED_operator_object_active_local_editable(), ED_operator_object_active_local_editable_ex(), ED_operator_object_active_local_editable_posemode_exclusive(), ED_paint_proj_mesh_data_check(), blender::ed::object::edit_shaderfx_poll_generic(), blender::ed::object::editmode_enter_ex(), blender::ed::object::editmode_toggle_poll(), blender::ed::outliner::id_delete_tag(), blender::ed::outliner::id_is_in_override_hierarchy(), blender::ed::outliner::id_override_library_clear_single(), blender::ed::outliner::id_override_library_create_hierarchy(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), image_blend_write(), image_paint_poll_ex(), blender::animrig::insert_keyframes(), layer_collection_sync(), layers_poll(), lib_id_preview_editing_poll_ex(), lib_override_cleanup_after_resync(), lib_override_hierarchy_dependencies_skip_check(), lib_override_library_create_post_process(), lib_override_library_resync(), lib_override_library_resync_build_missing_ids_data(), lib_override_overrides_group_tag_recursive(), lib_override_root_find(), blender::ed::object::make_override_library_poll(), blender::ed::outliner::material_drop_poll(), mesh_blend_write(), mesh_customdata_mask_clear_poll(), mesh_customdata_skin_state(), blender::ed::object::modifier_apply_poll(), blender::ed::object::move_to_collection_exec(), move_to_collection_poll(), nlaedit_add_actionclip_exec(), nlaedit_add_sound_exec(), nlaedit_add_tracks_empty(), nlaedit_add_tracks_existing(), nlaedit_apply_scale_exec(), nlaedit_duplicate_exec(), nlaedit_move_down_exec(), nlaedit_move_up_exec(), nlaedit_snap_exec(), nlaedit_swap_exec(), nlatracks_pushdown_exec(), blender::ed::object::object_join_poll(), object_materials_supported_poll_ex(), blender::ed::object::object_origin_set_exec(), blender::ed::object::object_remesh_poll(), blender::ed::object::object_speaker_add_exec(), blender::ed::object::object_transfer_mode_invoke(), operator_rigidbody_constraints_editable_poll(), operator_rigidbody_editable_poll(), blender::ed::outliner::outliner_collection_delete(), blender::ed::outliner::outliner_draw_overrides_restrictbuts(), palette_poll(), particle_edit_toggle_poll(), project_paint_prepare_all_faces(), property_collection_liboverride_editable(), rearrange_nla_tracks(), blender::ed::transform::recalcData_nla(), remove_particle_systems_from_object(), rename_anim_channels(), blender::ed::object::reset_clear_override_library_poll(), RNA_property_anim_editable(), RNA_property_driver_editable(), rna_property_editable_do(), RNA_property_overridden(), RNA_property_override_library_status(), scene_collections_object_remove(), blender::ed::object::shade_poll(), blender::ed::object::shape_key_poll(), shapekey_blend_write(), blender::ed::object::skin_edit_poll(), blender::animrig::Action::slot_setup_for_id(), sound_blend_write(), template_ID(), template_id_cb(), texture_paint_toggle_poll(), ui_drop_material_poll(), UI_icon_from_library(), ui_template_id_liboverride_hierarchy_make(), blender::ed::outliner::unlink_collection_fn(), blender::ed::outliner::unlink_material_fn(), blender::ed::outliner::unlink_object_fn(), blender::ed::object::vertex_group_select_exec(), blender::ed::object::vertex_group_supported_poll_ex(), vfont_blend_write(), view3d_mat_drop_poll(), and volume_blend_write().
| #define ID_IS_OVERRIDE_LIBRARY_HIERARCHY_ROOT | ( | _id | ) |
Definition at line 733 of file DNA_ID.h.
Referenced by blender::ed::outliner::collection_collect_data_to_edit(), and blender::ed::outliner::outliner_collect_objects_to_delete().
| #define ID_IS_OVERRIDE_LIBRARY_REAL | ( | _id | ) |
Definition at line 723 of file DNA_ID.h.
Referenced by BKE_blendfile_override(), BKE_lib_override_library_create_from_tag(), BKE_lib_override_library_delete(), BKE_lib_override_library_id_hierarchy_reset(), BKE_lib_override_library_id_reset(), BKE_lib_override_library_id_unused_cleanup(), BKE_lib_override_library_is_hierarchy_leaf(), BKE_lib_override_library_is_user_edited(), BKE_lib_override_library_main_hierarchy_root_ensure(), BKE_lib_override_library_main_operations_create(), BKE_lib_override_library_main_operations_restore(), BKE_lib_override_library_operations_restore(), BKE_lib_override_library_status_check_local(), BKE_lib_override_library_status_check_reference(), BKE_lib_override_library_update(), BKE_libblock_copy_in_lib(), BKE_library_id_can_use_filter_id(), BKE_library_make_local(), BKE_modifiers_persistent_uid_init(), blendfile_relocate_postprocess_liboverrides(), blo_do_versions_300(), blender::ed::outliner::collection_collect_data_to_edit(), foreachid_is_hierarchy_leaf_fn(), blender::ed::outliner::TreeElementOverridesBase::get_warning(), blender::ed::outliner::id_delete_tag(), blender::ed::outliner::id_local_fn(), blender::ed::outliner::id_override_library_clear_single(), blender::ed::outliner::id_override_library_create_hierarchy(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), blender::ed::outliner::id_override_library_create_hierarchy_process(), blender::ed::outliner::id_override_library_delete_hierarchy(), blender::ed::outliner::id_override_library_reset(), blender::ed::outliner::id_override_library_resync(), lib_id_override_editable_toggle_poll(), lib_override_library_create_do(), lib_override_library_id_hierarchy_recursive_reset(), lib_override_library_main_hierarchy_id_root_ensure(), lib_override_library_main_resync_id_skip_check(), lib_override_library_main_resync_on_library_indirect_level(), lib_override_library_operations_create(), lib_override_library_resync(), lib_override_overrides_group_tag(), lib_override_overrides_group_tag_recursive(), lib_override_prefill_newid_from_existing_overrides(), lib_override_resync_tagging_finalize_recurse(), lib_override_root_find(), lib_override_root_hierarchy_set(), lib_override_root_is_valid(), blender::ed::object::make_override_library_exec(), blender::ed::object::make_override_library_invoke(), blender::ed::outliner::outliner_collect_objects_to_delete(), blender::ed::outliner::outliner_draw_mode_column_toggle(), override_idtemplate_menu_poll(), override_idtemplate_poll(), override_idtemplate_reset_exec(), ptcache_add_remove_poll(), ptcache_poll(), blender::ed::object::reset_override_library_exec(), reuse_bmain_data_invalid_local_usages_fix(), reuse_bmain_data_invalid_local_usages_fix_cb(), rna_property_override_check_resync(), template_id_liboverride_hierarchy_collection_root_find_recursive(), UI_icon_from_library(), ui_template_id_liboverride_hierarchy_make(), and write_file_handle().
| #define ID_IS_OVERRIDE_LIBRARY_VIRTUAL | ( | _id | ) |
Definition at line 727 of file DNA_ID.h.
Referenced by BKE_lib_override_library_make_local(), BKE_lib_override_library_validate(), BKE_libblock_copy_in_lib(), blender::ed::outliner::id_is_in_override_hierarchy(), blender::ed::outliner::id_override_library_create_hierarchy_pre_process(), and write_file_handle().
| #define ID_IS_PACKED | ( | _id | ) |
Indicates that this ID is linked but also packed into the current .blend file. Note that this just means that this specific ID and its dependencies are packed, not the entire library. So this is separate from Library::packedfile.
Definition at line 700 of file DNA_ID.h.
Referenced by blender::bke::asset_write_in_library(), BKE_blendfile_link_pack(), blender::ed::space_node::context_path_add_node_tree_and_node_groups(), blender::ed::space_node::NodeClipboard::copy_add_node(), copy_material_exec(), blender::bke::blendfile::PartialWriteContext::id_add(), library_link_begin(), blender::ed::object::mode_set_ex(), mywrite_id_begin(), blender::ed::outliner::outliner_id_copy_tag(), override_idtemplate_poll(), pack_linked_id(), blender::bke::library::pack_linked_id_hierarchy(), pack_linked_ids(), blender::ed::space_node::NodeClipboard::paste_validate_id_references(), pose_copy_exec(), read_libblock(), read_undo_move_libmain_data(), template_ID(), UI_icon_from_library(), and write_libraries().
| #define ID_MISSING | ( | _id | ) |
Definition at line 692 of file DNA_ID.h.
Referenced by BKE_id_full_name_ui_prefix_get(), BKE_lib_override_library_update(), blender::depends_on_time(), blender::NodesModifierUsageInferenceCache::ensure(), lib_override_library_operations_create(), blender::modifyGeometry(), blender::ed::space_node::node_group_enter_exit_invoke(), and blender::update_depsgraph().
| #define ID_NEW_REMAP | ( | a | ) |
Definition at line 760 of file DNA_ID.h.
Referenced by blender::ed::object::single_obdata_users(), and blender::ed::object::single_object_users().
| #define ID_NEW_SET | ( | _id, | |
| _idn ) |
Definition at line 756 of file DNA_ID.h.
Referenced by animdata_copy_id_action(), BKE_blendfile_append(), BKE_id_copy_for_duplicate(), BKE_lib_id_make_local_generic(), BKE_libblock_copy_in_lib(), BKE_scene_duplicate(), brush_make_local(), blender::ed::object::make_object_duplilist_real(), blender::ed::object::single_obdata_users(), and blender::ed::object::single_object_users_collection().
| #define ID_REAL_USERS | ( | id | ) |
Amount of real usages of this ID (i.e. excluding the 'fake user' one, but including a potential 'extra' shallow/runtime usage).
Definition at line 676 of file DNA_ID.h.
Referenced by blender::animrig::add_object_data_users(), animdata_filter_dopesheet_movieclips(), animdata_filter_mask(), blender::ed::object::apply_objects_internal(), blender::ed::object::apply_objects_internal_can_multiuser(), blender::ed::object::apply_objects_internal_need_single_user(), blender::ed::object::base_free_and_unlink(), BKE_brush_delete(), blender::ui::context_path_add_generic(), blender::ed::object::convert_font_to_curve_legacy_generic(), blender::animrig::find_related_ids(), blender::ed::sculpt_paint::flush_update_done(), blender::ed::outliner::TreeElementOverridesBase::get_warning(), blender::ed::outliner::id_delete_tag(), id_single_user(), lib_override_library_create_post_process(), blender::ed::object::modifier_apply(), blender::ed::object::modifier_apply_exec_ex(), blender::ed::object::modifier_apply_invoke(), nlaedit_make_single_user_exec(), blender::ed::object::object_delete_exec(), blender::ed::object::object_origin_set_exec(), blender::draw::overlay::Origins::object_sync(), blender::ed::outliner::outliner_batch_delete_object_tag(), blender::ed::outliner::outliner_object_delete_fn(), blender::ed::sculpt_paint::undo::restore_list(), and template_ID().
| #define ID_REFCOUNTING_USERS | ( | id | ) |
Amount of 'normal' reference-counting usages of this ID (i.e. excluding the 'fake user' one, and a potential 'extra' shallow/runtime usage).
Definition at line 681 of file DNA_ID.h.
Referenced by blender::ed::outliner::TreeDisplayIDOrphans::build_tree(), RNA_property_pointer_set(), and blender::animrig::tests::TEST_F().
| #define ID_TAG_KEEP_ON_UNDO (ID_TAG_EXTRAUSER | ID_TAG_MISSING | ID_TAG_RUNTIME) |
Most of ID tags are cleared on file write (i.e. also when storing undo steps), since they either have of very short lifetime (not expected to exist across undo steps), or are info that will be re-generated when reading undo steps.
However a few of these need to be explicitly preserved across undo steps.
Definition at line 1046 of file DNA_ID.h.
Referenced by BLO_Write_IDBuffer::BLO_Write_IDBuffer(), direct_link_id_common(), and read_libblock_undo_restore_identical().
| #define ID_TYPE_IS_DEPRECATED | ( | id_type | ) |
Definition at line 749 of file DNA_ID.h.
Referenced by BKE_id_copy_is_allowed(), blender::ed::outliner::TreeElementID::create_from_id(), and id_us_min().
| #define ID_TYPE_SUPPORTS_ASSET_EDITABLE | ( | id_type | ) |
Definition at line 702 of file DNA_ID.h.
Referenced by reuse_editable_asset_bmain_data_dependencies_process_cb(), and setup_app_data().
| #define ID_TYPE_SUPPORTS_PARAMS_WITHOUT_COW | ( | id_type | ) |
Definition at line 745 of file DNA_ID.h.
Referenced by BKE_id_eval_properties_copy(), blender::deg::DepsgraphNodeBuilder::build_parameters(), and blender::deg::ParametersComponentNode::need_tag_cow_before_update().
| #define ID_TYPE_USE_COPY_ON_EVAL | ( | _id_type | ) |
Definition at line 740 of file DNA_ID.h.
Referenced by blender::deg::deg_eval_copy_is_needed(), blender::deg::foreach_id_cow_detect_need_for_update_callback(), blender::deg::graph_tag_ids_for_visible_update(), blender::ed::geometry::replace_inputs_evaluated_data_blocks(), and rna_property_update().
| #define INDEX_ID_MAX (INDEX_ID_NULL + 1) |
Definition at line 1360 of file DNA_ID.h.
Referenced by BKE_main_idmap_create(), DEG_ids_clear_recalc(), DEG_ids_restore_recalc(), get_alloc_name(), id_type_init(), main_idmap_from_idcode(), blender::ed::outliner::outliner_draw_iconrow(), rna_def_fileselect_asset_idfilter(), setup_app_data(), and blender::ed::outliner::unused_message_gen().
| #define MAX_ID_NAME 258 |
ID is the first thing included in all serializable types. It provides a common handle to place all data in double-linked lists.
Definition at line 373 of file DNA_ID.h.
Referenced by UniqueName_Map::add_name(), ANIM_OT_keyframe_delete_by_name(), ANIM_OT_keyframe_insert_by_name(), BKE_blendfile_append(), BKE_blendfile_library_path_explode(), BKE_collection_new_name_get(), BKE_id_new_name_validate(), BKE_main_global_namemap_contain_name(), BKE_main_global_namemap_get_unique_name(), BKE_main_namemap_contain_name(), BKE_main_namemap_get_unique_name(), BKE_mask_new(), BKE_mball_basis_find(), BKE_mball_is_same_group(), BKE_mball_properties_copy(), BKE_scene_undo_depsgraphs_restore(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blendfile_library_relocate_id_remap_finalize(), blo_bhead_id_name(), bone_mouse_select_menu(), blender::ed::asset::catalogs_save_from_asset_reference(), blender::bke::tests::change_name_global(), collection_add(), blender::ed::object::collection_create_exec(), blender::ed::object::collection_exporter_add_exec(), blender::ed::object::COLLECTION_OT_create(), blender::ed::object::COLLECTION_OT_exporter_add(), blender::animrig::convert_to_layered_action(), do_version_layers_to_collections(), do_versions_after_linking_280(), draw_selected_name(), blender::io::grease_pencil::SVGExporter::export_grease_pencil_objects(), find_bhead_from_code_name(), get_default_collection_name(), blender::ed::greasepencil::GREASE_PENCIL_OT_stroke_material_set(), blender::ed::greasepencil::grease_pencil_stroke_material_set_exec(), id_name_final_build(), image_new_exec(), IMAGE_OT_new(), IMAGE_OT_unpack(), image_unpack_exec(), blender::io::usd::import_startjob(), init_meta(), keyingset_get_from_op_with_error(), lib_override_library_create_from(), lib_override_library_resync(), long_id_names_process_action_slots_identifiers(), mask_layer_new_exec(), mask_new_exec(), MASK_OT_layer_new(), MASK_OT_new(), blender::ed::object::mode_set_ex(), blender::ed::object::move_to_collection_exec(), blender::ed::object::move_to_collection_invoke(), namemap_get_name(), blender::ed::space_node::new_compositing_node_group_exec(), blender::ed::space_node::new_compositor_sequencer_node_group_exec(), blender::ed::space_node::new_node_tree_exec(), Freestyle::BlenderStrokeRenderer::NewMesh(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::ed::space_node::NODE_OT_new_compositing_node_group(), blender::ed::space_node::NODE_OT_new_compositor_sequencer_node_group(), blender::ed::space_node::NODE_OT_new_node_tree(), object_mouse_select_menu(), blender::ed::object::OBJECT_OT_collection_instance_add(), blender::ed::object::OBJECT_OT_link_to_collection(), blender::ed::object::OBJECT_OT_move_to_collection(), blender::ed::object::OBJECT_OT_select_same_collection(), blender::ed::object::OBJECT_OT_transform_to_mouse(), blender::ed::object::object_select_same_collection_exec(), blender::ed::outliner::outliner_buttons(), palette_join_exec(), PALETTE_OT_join(), proj_paint_image_create(), read_id_struct(), UniqueName_Map::remove_full_name(), RENDER_OT_render(), render_result_exr_file_cache_path(), rna_def_font(), rna_def_ID(), RNA_def_main_masks(), rna_def_mask_layer(), rna_def_maskParent(), rna_def_trackingObject(), rna_def_trackingPlaneTrack(), rna_def_trackingTrack(), scene_undo_depsgraph_gen_key(), screen_render_single_layer_set(), screen_state_to_nonnormal(), separate_slots_exec(), blender::ed::vse::sequencer_change_effect_type_exec(), slot_channels_move_to_new_action_exec(), SOUND_OT_unpack(), sound_unpack_exec(), space_text_update_drawcache(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), blender::animrig::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), texture_paint_add_texture_paint_slot_invoke(), unpack_item_exec(), update_duplicate_custom_bone_shapes(), update_duplicate_subtarget(), UV_OT_unwrap(), WM_operator_drop_load_path(), WM_operator_properties_id_lookup(), WM_operator_properties_id_lookup_from_name_or_session_uid(), workspace_append_activate_exec(), and WORKSPACE_OT_append_activate().
| #define MAX_IDPROP_NAME 64 |
Definition at line 186 of file DNA_ID.h.
Referenced by BPy_IDGroup_SetName(), bpy_prop_arg_parse_id(), blender::animrig::get_keyable_id_property_paths(), idp_try_read_name(), blender::bke::node_remove_node(), RNA_api_animdata(), rna_path_from_ptr_to_property_index_ex(), and version_geometry_nodes_add_attribute_input_settings().
This enum defines the index assigned to each type of IDs in the array returned by BKE_main_lists_get, and by extension, controls the default order in which each ID type is processed during standard 'foreach' looping over all IDs of a Main data-base.
This is (loosely) defined with a relationship order in mind, from lowest level (ID types using, referencing almost no other ID types) to highest level (ID types potentially using many other ID types).
So e.g. it ensures that this dependency chain is respected: Material <- Mesh <- Object <- Collection <- Scene
Default order of processing of IDs in 'foreach' macros (FOREACH_MAIN_ID_BEGIN and the like), built on top of BKE_main_lists_get, is actually reversed compared to the order defined here, since processing usually needs to happen on users before it happens on used IDs (when freeing e.g.).
DO NOT rely on this order as being full-proofed dependency order, there are many cases were it can be violated (most obvious cases being custom properties and drivers, which can reference any other ID types).
However, this order can be considered as an optimization heuristic, especially when processing relationships in a non-recursive pattern: in typical cases, a vast majority of those relationships can be processed fine in the first pass, and only few additional passes are required to address all remaining relationship cases. See e.g. how BKE_library_unused_linked_data_set_tag is doing this.
| typedef struct ID ID |
| typedef struct IDHash IDHash |
| typedef struct IDOverrideLibrary IDOverrideLibrary |
| typedef struct IDOverrideLibraryProperty IDOverrideLibraryProperty |
A single overridden property, contain all operations on this one.
| typedef struct IDOverrideLibraryPropertyOperation IDOverrideLibraryPropertyOperation |
| typedef struct IDOverrideLibraryRuntime IDOverrideLibraryRuntime |
| typedef struct IDProperty IDProperty |
| typedef struct IDPropertyData IDPropertyData |
| typedef struct IDPropertyUIData IDPropertyUIData |
| typedef struct IDPropertyUIDataBool IDPropertyUIDataBool |
For IDP_UI_DATA_TYPE_BOOLEAN Use int8_t because DNA does not support bool.
| typedef struct IDPropertyUIDataEnumItem IDPropertyUIDataEnumItem |
| typedef struct IDPropertyUIDataFloat IDPropertyUIDataFloat |
| typedef struct IDPropertyUIDataID IDPropertyUIDataID |
For IDP_UI_DATA_TYPE_ID.
| typedef struct IDPropertyUIDataInt IDPropertyUIDataInt |
| typedef struct IDPropertyUIDataString IDPropertyUIDataString |
| typedef struct LibraryWeakReference LibraryWeakReference |
A weak library/ID reference for local data that has been appended, to allow re-using that local data instead of creating a new copy of it in future appends.
NOTE: This is by design a week reference, in other words code should be totally fine and perform a regular append if it cannot find a valid matching local ID.
NOTE: There should always be only one single ID in current Main matching a given linked reference.
| typedef struct PreviewImage PreviewImage |
This type allows shallow copies. Use BKE_previewimg_free() to release contained resources. Don't call this for shallow copies (or the original instance will have dangling pointers).
| anonymous enum |
| anonymous enum |
| Enumerator | |
|---|---|
| LIBOVERRIDE_FLAG_NO_HIERARCHY | The override data-block should not be considered as part of an override hierarchy (generally because it was created as an single override, outside of any hierarchy consideration). |
| LIBOVERRIDE_FLAG_SYSTEM_DEFINED | The override ID is required for the system to work (because of ID dependencies), but is not seen as editable by the user. |
| anonymous enum |
| Enumerator | |
|---|---|
| LIBOVERRIDE_OP_FLAG_MANDATORY | User cannot remove that override operation. |
| LIBOVERRIDE_OP_FLAG_LOCKED | User cannot change that override operation. |
| LIBOVERRIDE_OP_FLAG_IDPOINTER_MATCH_REFERENCE | For overrides of ID pointers: this override still matches (follows) the hierarchy of the reference linked data. |
| LIBOVERRIDE_OP_FLAG_IDPOINTER_ITEM_USE_ID | For overrides of ID pointers within RNA collections: this override is using the ID pointer in addition to the item name (to fully disambiguate the reference, since IDs from different libraries can have a same name). |
| anonymous enum |
id->tag (runtime-only).
Those tags belong to three different categories, which have different expected handling in code:
| Enumerator | |
|---|---|
| ID_TAG_LOCAL | Long-life tags giving important info about general ID management. These tags are typically not changed often, if ever, during an ID's life. ID is from current .blend file. RESET_NEVER |
| ID_TAG_EXTERN | ID is from a library, but is used (linked) directly by current .blend file. RESET_NEVER |
| ID_TAG_INDIRECT | ID is from a library, and is only used (linked) indirectly through other libraries. RESET_NEVER |
| ID_TAG_RUNTIME | ID is considered as runtime, and should not be saved when writing .blend file, nor influence (in)direct status of linked data. Only meaningful for IDs belonging to regular Main database, all other cases are implicitly considered runtime-only. RESET_NEVER |
| ID_TAG_MISSING | ID is a place-holder, an 'empty shell' (because the real one could not be linked from its library e.g.). RESET_NEVER |
| ID_TAG_EXTRAUSER | ID has an extra virtual user (aka 'ensured real', as set by e.g. some editors, not to be confused with the ID_FLAG_FAKEUSER flag). RESET_NEVER
|
| ID_TAG_EXTRAUSER_SET | ID actually has increased user-count for the extra virtual user. RESET_NEVER |
| ID_TAG_LIBOVERRIDE_REFOK | ID is up-to-date regarding its reference (only for library overrides). RESET_NEVER |
| ID_TAG_LIBOVERRIDE_AUTOREFRESH | ID needs an auto-diffing execution, if enabled (only for library overrides). RESET_NEVER |
| ID_TAG_LIBOVERRIDE_NEED_RESYNC | ID is a library override that needs re-sync to its linked reference.
RESET_NEVER |
| ID_TAG_NEW | Short-life tags used during specific processes, like blend-file reading. ID is newly duplicated/copied (see ID_NEW_SET macro above). RESET_AFTER_USE
|
| ID_TAG_PRE_EXISTING | ID is already existing. Set before linking, to distinguish between existing data-blocks and newly linked ones. RESET_AFTER_USE |
| ID_TAG_UNDO_OLD_ID_REUSED_UNCHANGED | ID is being re-used from the old Main (instead of read from memfile), during memfile undo processing, because it was detected as unchanged.
RESET_AFTER_USE |
| ID_TAG_UNDO_OLD_ID_REUSED_NOUNDO | ID is being re-used from the old Main (instead of read from memfile), during memfile undo processing, because it is a 'NO_UNDO' type of ID.
RESET_AFTER_USE |
| ID_TAG_UNDO_OLD_ID_REREAD_IN_PLACE | ID has be re-read in-place, the ID address is the same as in the old main, but the content is different. RESET_AFTER_USE |
| ID_TAG_TEMP_MAIN | Tags for special kind of IDs, not living in regular BMain data-base. IDs with such tags have typically a short life. ID is part of a temporary Main which is expected to be freed in a short time-frame. RESET_NEVER Don't allow assigning this to non-temporary members (since it's likely to cause errors). When set ID.session_uid isn't initialized, since the data isn't part of the session. |
| ID_TAG_NO_MAIN | General ID management info, for freeing or copying behavior e.g. ID is not listed/stored in any Main database. RESET_NEVER |
| ID_TAG_LOCALIZED | ID is fully outside of any ID management area, and should be considered as a purely independent data. RESET_NEVER
|
| ID_TAG_COPIED_ON_EVAL | ID is an evaluated/localized version. RESET_NEVER
|
| ID_TAG_COPIED_ON_EVAL_FINAL_RESULT | ID is not the original evaluated ID created by the depsgraph, but has been re-allocated during the evaluation process of another ID. RESET_NEVER Typical example is object data, when evaluating the object's modifier stack the final obdata can be different than the evaluated initial obdata ID. |
| ID_TAG_NO_USER_REFCOUNT | ID management status tags related to non-standard BMain IDs. Datablock does not refcount usages of other IDs. RESET_NEVER |
| ID_TAG_NOT_ALLOCATED | ID was not allocated by standard system (BKE_libblock_alloc), do not free its memory (usual type-specific freeing is called though). RESET_NEVER |
| ID_TAG_DOIT | Free to use tag, often used in BKE code to mark IDs to be processed. RESET_BEFORE_USE
|
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
id->flag (persistent).
| Enumerator | |
|---|---|
| ID_FLAG_FAKEUSER | Don't delete the data-block even if unused. |
| ID_FLAG_EMBEDDED_DATA | The data-block is a sub-data of another one. Direct persistent references are not allowed. |
| ID_FLAG_INDIRECT_WEAK_LINK | Data-block is from a library and linked indirectly, with ID_TAG_INDIRECT tag set. But the current .blend file also has a weak pointer to it that we want to restore if possible, and silently drop if it's missing. |
| ID_FLAG_EMBEDDED_DATA_LIB_OVERRIDE | The data-block is a sub-data of another one, which is an override. Note that this also applies to shape-keys, even though they are not 100% embedded data. |
| ID_FLAG_LIB_OVERRIDE_RESYNC_LEFTOVER | The override data-block appears to not be needed anymore after resync with linked data, but it was kept around (because e.g. detected as user-edited). |
| ID_FLAG_CLIPBOARD_MARK | This id was explicitly copied as part of a clipboard copy operation. When reading the clipboard back, this can be used to check which ID's are intended to be part of the clipboard, compared with ID's that were indirectly referenced. While the flag is typically cleared, a saved file may have this set for some data-blocks, so it must be treated as dirty. |
| ID_FLAG_LINKED_AND_PACKED | Indicates that this linked ID is packed into the current .blend file. This should never be set on local ID (without)one with a null ID::lib pointer). |
| enum eID_Index |
This enum defines the index assigned to each type of IDs in the array returned by BKE_main_lists_get, and by extension, controls the default order in which each ID type is processed during standard 'foreach' looping over all IDs of a Main data-base.
This is (loosely) defined with a relationship order in mind, from lowest level (ID types using, referencing almost no other ID types) to highest level (ID types potentially using many other ID types).
So e.g. it ensures that this dependency chain is respected: Material <- Mesh <- Object <- Collection <- Scene
Default order of processing of IDs in 'foreach' macros (FOREACH_MAIN_ID_BEGIN and the like), built on top of BKE_main_lists_get, is actually reversed compared to the order defined here, since processing usually needs to happen on users before it happens on used IDs (when freeing e.g.).
DO NOT rely on this order as being full-proofed dependency order, there are many cases were it can be violated (most obvious cases being custom properties and drivers, which can reference any other ID types).
However, this order can be considered as an optimization heuristic, especially when processing relationships in a non-recursive pattern: in typical cases, a vast majority of those relationships can be processed fine in the first pass, and only few additional passes are required to address all remaining relationship cases. See e.g. how BKE_library_unused_linked_data_set_tag is doing this.
| enum ePreviewImage_Flag |
| enum IDRecalcFlag |
| enum LibraryFlag |
Some of these flags define a 'virtual' library, which may not be an actual blendfile, store 'archived' embedded data, etc. IDs contained in these virtual libraries are not managed by regular linking code.
| Enumerator | |
|---|---|
| LIBRARY_FLAG_IS_ARCHIVE | The library is an 'archive' that only contains embedded linked data. |