|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_utildefines.h"#include "PIL_time.h"#include "PIL_time_utildefines.h"#include "DNA_cachefile_types.h"#include "DNA_collection_types.h"#include "DNA_node_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_simulation_types.h"#include "BKE_collection.h"#include "BKE_main.h"#include "BKE_scene.h"#include "DEG_depsgraph.h"#include "DEG_depsgraph_build.h"#include "DEG_depsgraph_debug.h"#include "builder/deg_builder_relations.h"#include "builder/pipeline_all_objects.h"#include "builder/pipeline_compositor.h"#include "builder/pipeline_from_ids.h"#include "builder/pipeline_render.h"#include "builder/pipeline_view_layer.h"#include "intern/debug/deg_debug.h"#include "intern/node/deg_node.h"#include "intern/node/deg_node_component.h"#include "intern/node/deg_node_id.h"#include "intern/node/deg_node_operation.h"#include "intern/depsgraph_registry.h"#include "intern/depsgraph_relation.h"#include "intern/depsgraph_tag.h"#include "intern/depsgraph_type.h"Go to the source code of this file.
Functions | |
| static deg::NodeType | deg_build_scene_component_type (eDepsSceneComponentType component) |
| static deg::DepsNodeHandle * | get_node_handle (DepsNodeHandle *node_handle) |
| void | DEG_add_scene_relation (DepsNodeHandle *node_handle, Scene *scene, eDepsSceneComponentType component, const char *description) |
| void | DEG_add_object_relation (DepsNodeHandle *node_handle, Object *object, eDepsObjectComponentType component, const char *description) |
| bool | DEG_object_has_geometry_component (Object *object) |
| void | DEG_add_collection_geometry_relation (DepsNodeHandle *node_handle, Collection *collection, const char *description) |
| void | DEG_add_collection_geometry_customdata_mask (DepsNodeHandle *node_handle, Collection *collection, const CustomData_MeshMasks *masks) |
| void | DEG_add_simulation_relation (DepsNodeHandle *node_handle, Simulation *simulation, const char *description) |
| void | DEG_add_node_tree_relation (DepsNodeHandle *node_handle, bNodeTree *node_tree, const char *description) |
| void | DEG_add_object_cache_relation (DepsNodeHandle *node_handle, CacheFile *cache_file, eDepsObjectComponentType component, const char *description) |
| void | DEG_add_bone_relation (DepsNodeHandle *node_handle, Object *object, const char *bone_name, eDepsObjectComponentType component, const char *description) |
| void | DEG_add_object_pointcache_relation (struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description) |
| void | DEG_add_generic_id_relation (struct DepsNodeHandle *node_handle, struct ID *id, const char *description) |
| void | DEG_add_modifier_to_transform_relation (struct DepsNodeHandle *node_handle, const char *description) |
| void | DEG_add_special_eval_flag (struct DepsNodeHandle *node_handle, ID *id, uint32_t flag) |
| void | DEG_add_customdata_mask (struct DepsNodeHandle *node_handle, struct Object *object, const CustomData_MeshMasks *masks) |
| struct ID * | DEG_get_id_from_handle (struct DepsNodeHandle *node_handle) |
| struct Depsgraph * | DEG_get_graph_from_handle (struct DepsNodeHandle *node_handle) |
| void | DEG_graph_build_from_view_layer (Depsgraph *graph) |
| void | DEG_graph_build_for_all_objects (struct Depsgraph *graph) |
| void | DEG_graph_build_for_render_pipeline (Depsgraph *graph) |
| void | DEG_graph_build_for_compositor_preview (Depsgraph *graph, bNodeTree *nodetree) |
| void | DEG_graph_build_from_ids (Depsgraph *graph, ID **ids, const int num_ids) |
| void | DEG_graph_tag_relations_update (Depsgraph *graph) |
| void | DEG_graph_relations_update (Depsgraph *graph) |
| void | DEG_relations_tag_update (Main *bmain) |
Methods for constructing depsgraph.
Definition in file depsgraph_build.cc.
| void DEG_add_bone_relation | ( | DepsNodeHandle * | node_handle, |
| Object * | object, | ||
| const char * | bone_name, | ||
| eDepsObjectComponentType | component, | ||
| const char * | description | ||
| ) |
Definition at line 173 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, component(), get_node_handle(), Object::id, blender::deg::nodeTypeFromObjectComponent(), and type.
Referenced by updateDepsgraph().
| void DEG_add_collection_geometry_customdata_mask | ( | DepsNodeHandle * | node_handle, |
| Collection * | collection, | ||
| const CustomData_MeshMasks * | masks | ||
| ) |
Definition at line 128 of file depsgraph_build.cc.
References DEG_add_customdata_mask(), FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN, FOREACH_COLLECTION_OBJECT_RECURSIVE_END, and OB_EMPTY.
| void DEG_add_collection_geometry_relation | ( | DepsNodeHandle * | node_handle, |
| Collection * | collection, | ||
| const char * | description | ||
| ) |
Definition at line 118 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, get_node_handle(), and Collection::id.
Referenced by add_collection_relation(), and updateDepsgraph().
| void DEG_add_customdata_mask | ( | struct DepsNodeHandle * | node_handle, |
| struct Object * | object, | ||
| const CustomData_MeshMasks * | masks | ||
| ) |
Definition at line 231 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_customdata_mask(), blender::deg::DepsNodeHandle::builder, and get_node_handle().
Referenced by DEG_add_collection_geometry_customdata_mask().
| void DEG_add_generic_id_relation | ( | struct DepsNodeHandle * | node_handle, |
| struct ID * | id, | ||
| const char * | description | ||
| ) |
Definition at line 208 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, and get_node_handle().
Referenced by updateDepsgraph().
| void DEG_add_modifier_to_transform_relation | ( | struct DepsNodeHandle * | node_handle, |
| const char * | description | ||
| ) |
Definition at line 218 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_modifier_to_transform_relation(), blender::deg::DepsNodeHandle::builder, and get_node_handle().
Referenced by updateDepsgraph().
| void DEG_add_node_tree_relation | ( | DepsNodeHandle * | node_handle, |
| bNodeTree * | node_tree, | ||
| const char * | description | ||
| ) |
Definition at line 151 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, and get_node_handle().
Referenced by updateDepsgraph().
| void DEG_add_object_cache_relation | ( | DepsNodeHandle * | node_handle, |
| CacheFile * | cache_file, | ||
| eDepsObjectComponentType | component, | ||
| const char * | description | ||
| ) |
Definition at line 162 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, component(), get_node_handle(), CacheFile::id, blender::deg::nodeTypeFromObjectComponent(), and type.
Referenced by updateDepsgraph().
| void DEG_add_object_pointcache_relation | ( | struct DepsNodeHandle * | node_handle, |
| struct Object * | object, | ||
| eDepsObjectComponentType | component, | ||
| const char * | description | ||
| ) |
Definition at line 185 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsgraphRelationBuilder::add_relation(), blender::deg::DepsNodeHandle::builder, component(), DEG_get_id_from_handle(), blender::deg::Relation::flag, get_node_handle(), id, Object::id, ID::name, blender::deg::nodeTypeFromObjectComponent(), blender::deg::RELATION_FLAG_FLUSH_USER_EDIT_ONLY, and type.
Referenced by DEG_add_collision_relations(), and DEG_add_forcefield_relations().
| void DEG_add_object_relation | ( | DepsNodeHandle * | node_handle, |
| Object * | object, | ||
| eDepsObjectComponentType | component, | ||
| const char * | description | ||
| ) |
Definition at line 102 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, component(), get_node_handle(), Object::id, blender::deg::nodeTypeFromObjectComponent(), and type.
Referenced by add_object_relation(), add_this_collection(), MOD_depsgraph_update_object_bone_relation(), and updateDepsgraph().
| void DEG_add_scene_relation | ( | DepsNodeHandle * | node_handle, |
| Scene * | scene, | ||
| eDepsSceneComponentType | component, | ||
| const char * | description | ||
| ) |
Definition at line 91 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, component(), deg_build_scene_component_type(), get_node_handle(), Scene::id, scene, and type.
| void DEG_add_simulation_relation | ( | DepsNodeHandle * | node_handle, |
| Simulation * | simulation, | ||
| const char * | description | ||
| ) |
Definition at line 141 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_node_handle_relation(), blender::deg::DepsNodeHandle::builder, get_node_handle(), Simulation::id, and simulation.
Definition at line 225 of file depsgraph_build.cc.
References blender::deg::DepsgraphRelationBuilder::add_special_eval_flag(), blender::deg::DepsNodeHandle::builder, and get_node_handle().
Referenced by updateDepsgraph().
|
static |
Definition at line 73 of file depsgraph_build.cc.
References component(), DEG_SCENE_COMP_ANIMATION, DEG_SCENE_COMP_PARAMETERS, DEG_SCENE_COMP_SEQUENCER, and blender::deg::UNDEFINED.
Referenced by DEG_add_scene_relation().
| struct Depsgraph* DEG_get_graph_from_handle | ( | struct DepsNodeHandle * | node_handle | ) |
Definition at line 245 of file depsgraph_build.cc.
References blender::deg::DepsNodeHandle::builder, get_node_handle(), and blender::deg::DepsgraphRelationBuilder::getGraph().
Referenced by DEG_add_collision_relations(), and DEG_add_forcefield_relations().
| struct ID* DEG_get_id_from_handle | ( | struct DepsNodeHandle * | node_handle | ) |
Definition at line 239 of file depsgraph_build.cc.
References get_node_handle(), blender::deg::IDNode::id_orig, blender::deg::DepsNodeHandle::node, blender::deg::ComponentNode::owner, and blender::deg::OperationNode::owner.
Referenced by DEG_add_object_pointcache_relation().
| void DEG_graph_build_for_all_objects | ( | struct Depsgraph * | graph | ) |
Definition at line 262 of file depsgraph_build.cc.
References blender::deg::AbstractBuilderPipeline::build(), and graph.
Referenced by blender::io::alembic::build_depsgraph(), blender::io::AbstractHierarchyIteratorInvisibleTest::depsgraph_create(), and blender::io::usd::export_startjob().
Definition at line 274 of file depsgraph_build.cc.
References blender::deg::AbstractBuilderPipeline::build(), and graph.
Referenced by compo_initjob().
| void DEG_graph_build_for_render_pipeline | ( | Depsgraph * | graph | ) |
Definition at line 268 of file depsgraph_build.cc.
References blender::deg::AbstractBuilderPipeline::build(), and graph.
Referenced by render_init_depsgraph(), and seq_prefetch_init_depsgraph().
Definition at line 280 of file depsgraph_build.cc.
References blender::deg::AbstractBuilderPipeline::build(), and graph.
Referenced by animviz_depsgraph_build().
| void DEG_graph_build_from_view_layer | ( | Depsgraph * | graph | ) |
Definition at line 256 of file depsgraph_build.cc.
References blender::deg::AbstractBuilderPipeline::build(), and graph.
Referenced by bake(), blender::io::alembic::build_depsgraph(), DEG_debug_graph_relations_validate(), DEG_graph_relations_update(), BlendfileLoadingBaseTest::depsgraph_create(), blender::io::usd::export_startjob(), and object_preview_scene_create().
| void DEG_graph_relations_update | ( | Depsgraph * | graph | ) |
Definition at line 305 of file depsgraph_build.cc.
References DEG_graph_build_from_view_layer(), graph, and blender::deg::Depsgraph::need_update.
Referenced by BKE_scene_graph_update_for_newframe_ex(), ED_scene_change_update(), EEVEE_lightbake_job(), engine_depsgraph_init(), Freestyle::BlenderStrokeRenderer::RenderScene(), scene_graph_update_tagged(), set_trans_object_base_flags(), and wm_event_do_depsgraph().
| void DEG_graph_tag_relations_update | ( | Depsgraph * | graph | ) |
Definition at line 287 of file depsgraph_build.cc.
References DEG_DEBUG_PRINTF, blender::deg::DEG_UPDATE_SOURCE_RELATIONS, blender::deg::Depsgraph::find_id_node(), graph, Scene::id, id_node, blender::deg::Depsgraph::need_update, and blender::deg::Depsgraph::scene.
Referenced by BKE_scene_undo_depsgraphs_restore(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), copy_particle_systems_exec(), DEG_relations_tag_update(), duplibase_for_convert(), engine_depsgraph_init(), and Freestyle::BlenderStrokeRenderer::NewMesh().
| bool DEG_object_has_geometry_component | ( | Object * | object | ) |
Definition at line 113 of file depsgraph_build.cc.
References blender::deg::geometry_tag_to_component(), Object::id, and blender::deg::UNDEFINED.
Referenced by add_object_relation().
| void DEG_relations_tag_update | ( | Main * | bmain | ) |
Definition at line 316 of file depsgraph_build.cc.
References DEG_GLOBAL_DEBUG_PRINTF, DEG_graph_tag_relations_update(), depsgraph, and blender::deg::get_all_registered_graphs().
Referenced by add_driver_button_invoke(), add_driver_button_none(), add_hook_object(), animchannels_delete_exec(), BKE_copybuffer_paste(), BKE_id_material_append(), BKE_id_material_clear(), BKE_id_material_pop(), BKE_id_material_resize(), BKE_id_materials_copy(), BKE_lib_override_library_update(), BKE_libblock_relink_ex(), BKE_libblock_remap_locked(), BKE_mask_new(), BKE_object_material_resize(), BKE_pose_rebuild(), BKE_pose_tag_recalc(), brush_draw_apply(), clip_delete_plane_track(), clip_delete_track(), collection_add_exec(), collection_create_exec(), collection_drop_invoke(), collection_duplicate_exec(), collection_flag_exec(), collection_hierarchy_delete_exec(), collection_instance_add_exec(), collection_instance_exec(), collection_link_exec(), collection_new_exec(), collection_objects_remove_all_exec(), collection_objects_remove_exec(), collection_remove_exec(), collection_unlink_exec(), collection_view_layer_exec(), constraint_add_exec(), constraint_delete_exec(), copy_particle_systems_to_object(), data_transfer_exec(), datalayout_transfer_exec(), deg_tag_after_keyframe_delete(), do_graph_region_driver_buttons(), driverdropper_sample(), duplicate_exec(), ED_action_fcurve_ensure(), ED_armature_join_objects_exec(), ED_curve_join_objects_exec(), ED_curve_updateAnimPaths(), ED_gpencil_join_objects_exec(), ED_id_action_ensure(), ED_mesh_join_objects_exec(), ED_object_add_type_with_obdata(), ED_object_constraint_dependency_tag_update(), ED_object_constraint_dependency_update(), ED_object_editmode_load_free_ex(), ED_object_gpencil_modifier_add(), ED_object_gpencil_modifier_clear(), ED_object_gpencil_modifier_remove(), ED_object_modifier_add(), ED_object_modifier_clear(), ED_object_modifier_convert(), ED_object_modifier_copy_to_object(), ED_object_modifier_link(), ED_object_modifier_remove(), ED_object_shaderfx_add(), ED_object_shaderfx_clear(), ED_object_shaderfx_remove(), ED_rigidbody_constraint_add(), ED_rigidbody_constraint_remove(), ED_rigidbody_object_remove(), ED_scene_view_layer_delete(), ED_text_to_object(), ED_wpaint_ensure_data(), edbm_separate_exec(), effector_add_exec(), eyedropper_add_material(), DocumentImporter::finish(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), geometry_extract_apply(), gpencil_brush_reset_all_exec(), gpencil_convert_old_files_exec(), gpencil_layer_to_curve(), gpencil_object_modifier_remove(), gpencil_object_vgroup_calc_from_armature(), gpencil_stroke_separate_exec(), graph_driver_delete_invalid_exec(), graph_driver_vars_paste_exec(), image_to_gpencil_exec(), import_endjob(), lib_id_clear_library_data_ex(), lib_relocate_do(), lightprobe_add_exec(), make_links_data_exec(), make_links_scene_exec(), make_proxy_exec(), make_single_user_exec(), modifier_apply_exec_ex(), modifier_copy_to_selected_exec(), move_to_collection_exec(), new_particle_settings_exec(), new_particle_target_exec(), nlaedit_add_actionclip_exec(), nlaedit_add_tracks_exec(), nlaedit_apply_scale_exec(), nlaedit_delete_exec(), nlaedit_delete_tracks_exec(), nlaedit_duplicate_exec(), nlaedit_make_single_user_exec(), node_add_object_exec(), node_clipboard_paste_exec(), node_group_make_exec(), nodeRemoveNode(), object_add_named_exec(), object_add_or_copy_particle_system(), object_constraint_copy_exec(), object_constraints_clear_exec(), object_convert_exec(), object_data_instance_add_exec(), object_delete_exec(), object_duplicates_make_real_exec(), object_remove_particle_system(), object_shaderfx_remove(), object_track_clear_exec(), objects_add_active_exec(), objects_remove_active_exec(), open_exec(), outliner_animdata_operation_exec(), outliner_collection_set_flag_recursive_fn(), outliner_delete_exec(), outliner_id_remap_exec(), outliner_object_set_flag_recursive_fn(), outliner_orphans_purge_exec(), output_toggle_exec(), paint_mask_slice_exec(), parent_clear_exec(), parent_clear_invoke(), parent_drop_set_parents(), parent_noinv_set_exec(), parent_set_exec(), paste_driver_button_exec(), pose_constraint_copy_exec(), pose_constraints_clear_exec(), pose_grab_with_ik_clear(), pyrna_struct_driver_add(), pyrna_struct_driver_remove(), remove_driver_button_exec(), remove_particle_target_exec(), rigidbody_world_add_exec(), rigidbody_world_remove_exec(), rna_property_update(), rule_del_exec(), scene_drop_invoke(), separate_armature_exec(), separate_exec(), sequencer_add_movie_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_add_sound_strip_exec(), sequencer_delete_exec(), sequencer_paste_exec(), shape_key_add_exec(), shape_key_remove_exec(), skin_armature_create_exec(), state_del_exec(), template_id_cb(), trace_end_job(), track_set_exec(), transform_autoik_update(), tree_element_camera_activate(), type_toggle_exec(), ui_but_anim_expression_create(), ui_but_anim_expression_set(), unlink_collection_fn(), unlink_object_fn(), update_deg_with_temporary_ik(), vertex_group_add_exec(), vertex_group_copy_exec(), vertex_group_copy_to_selected_exec(), vertex_group_mirror_exec(), vertex_group_remove_exec(), vertex_parent_set_exec(), view_layer_add_aov_exec(), view_layer_add_exec(), view_layer_remove_aov_exec(), weight_from_bones_exec(), and wm_link_append_exec().
|
static |
Definition at line 86 of file depsgraph_build.cc.
Referenced by DEG_add_bone_relation(), DEG_add_collection_geometry_relation(), DEG_add_customdata_mask(), DEG_add_generic_id_relation(), DEG_add_modifier_to_transform_relation(), DEG_add_node_tree_relation(), DEG_add_object_cache_relation(), DEG_add_object_pointcache_relation(), DEG_add_object_relation(), DEG_add_scene_relation(), DEG_add_simulation_relation(), DEG_add_special_eval_flag(), DEG_get_graph_from_handle(), and DEG_get_id_from_handle().