|
Blender V5.0
|
#include <deg_node_id.hh>
Inherits blender::deg::Node.
Classes | |
| struct | ComponentIDKey |
Public Member Functions | |
| void | init (const ID *id, const char *subdata) override |
| void | init_copy_on_write (ID *id_cow_hint=nullptr) |
| ~IDNode () override | |
| void | destroy () |
| std::string | identifier () const override |
| ComponentNode * | find_component (NodeType type, StringRef name="") const |
| ComponentNode * | add_component (NodeType type, StringRef name="") |
| void | tag_update (Depsgraph *graph, eUpdateSource source) override |
| void | finalize_build (Depsgraph *graph) |
| IDComponentsMask | get_visible_components_mask () const |
| Public Member Functions inherited from blender::deg::Node | |
| Node () | |
| virtual | ~Node () |
| virtual OperationNode * | get_entry_operation () |
| virtual OperationNode * | get_exit_operation () |
| virtual NodeClass | get_class () const |
| MEM_CXX_CLASS_ALLOC_FUNCS ("Node") | |
Public Attributes | |
| ID_Type | id_type |
| ID * | id_orig |
| uint | id_orig_session_uid |
| ID * | id_cow |
| Map< ComponentIDKey, ComponentNode * > | components |
| uint32_t | eval_flags |
| uint32_t | previous_eval_flags |
| DEGCustomDataMeshMasks | customdata_masks |
| DEGCustomDataMeshMasks | previous_customdata_masks |
| eDepsNode_LinkedState_Type | linked_state |
| bool | is_visible_on_build |
| bool | is_enabled_on_eval |
| bool | is_collection_fully_expanded |
| bool | has_base |
| bool | is_user_modified |
| bool | is_cow_explicitly_tagged |
| int | id_cow_recalc_backup |
| IDComponentsMask | visible_components_mask |
| IDComponentsMask | previously_visible_components_mask |
| DEG_DEPSNODE_DECLARE | |
| Public Attributes inherited from blender::deg::Node | |
| std::string | name |
| NodeType | type |
| Relations | inlinks |
| Relations | outlinks |
| Stats | stats |
| int | custom_flags |
Additional Inherited Members | |
| Public Types inherited from blender::deg::Node | |
| using | Relations = Vector<Relation *> |
Definition at line 39 of file deg_node_id.hh.
|
override |
Definition at line 95 of file deg_node_id.cc.
References destroy().
| ComponentNode * blender::deg::IDNode::add_component | ( | NodeType | type, |
| StringRef | name = "" ) |
Definition at line 139 of file deg_node_id.cc.
References BLI_assert, components, blender::deg::DepsNodeFactory::create_node(), find_component(), blender::deg::Node::name, blender::deg::ComponentNode::owner, blender::deg::Node::type, and blender::deg::type_get_factory().
Referenced by blender::deg::DepsgraphNodeBuilder::add_component_node(), and blender::deg::DepsgraphNodeBuilder::add_id_node().
| void blender::deg::IDNode::destroy | ( | ) |
Definition at line 100 of file deg_node_id.cc.
References components, DEG_COW_PRINT, blender::deg::deg_free_eval_copy_datablock(), ELEM, id_cow, id_orig, and MEM_freeN().
Referenced by ~IDNode().
| void blender::deg::IDNode::finalize_build | ( | Depsgraph * | graph | ) |
Definition at line 167 of file deg_node_id.cc.
References components, get_visible_components_mask(), and visible_components_mask.
Referenced by blender::deg::deg_graph_build_finalize().
| ComponentNode * blender::deg::IDNode::find_component | ( | NodeType | type, |
| StringRef | name = "" ) const |
Definition at line 133 of file deg_node_id.cc.
References components, blender::deg::Node::name, and blender::deg::Node::type.
Referenced by add_component(), blender::deg::deg_evaluate_object_modifiers_mode_node_visibility(), blender::deg::DepsgraphNodeBuilder::find_component_node(), blender::deg::DepsgraphRelationBuilder::find_node(), blender::deg::DepsgraphRelationBuilder::find_node(), blender::deg::RNANodeQuery::find_node(), blender::deg::DepsgraphRelationBuilder::get_node(), and operation_needs_update().
| IDComponentsMask blender::deg::IDNode::get_visible_components_mask | ( | ) | const |
Definition at line 176 of file deg_node_id.cc.
References BLI_assert, components, and result.
Referenced by finalize_build().
|
overridevirtual |
Generic identifier for Depsgraph Nodes.
Reimplemented from blender::deg::Node.
Definition at line 123 of file deg_node_id.cc.
References id_cow, id_orig, is_visible_on_build, blender::deg::Node::name, blender::deg::nodeTypeAsString(), SNPRINTF, and blender::deg::Node::type.
|
overridevirtual |
Initialize 'id' node - from pointer data given.
Reimplemented from blender::deg::Node.
Definition at line 38 of file deg_node_id.cc.
References BLI_assert, customdata_masks, blender::deg::DEG_ID_LINKED_INDIRECTLY, eval_flags, GS, has_base, id_cow_recalc_backup, id_orig, id_orig_session_uid, id_type, is_collection_fully_expanded, is_enabled_on_eval, is_user_modified, is_visible_on_build, linked_state, ID::name, previous_customdata_masks, previous_eval_flags, previously_visible_components_mask, and visible_components_mask.
Definition at line 61 of file deg_node_id.cc.
References BKE_libblock_alloc_notest(), DEG_COW_PRINT, blender::deg::deg_eval_copy_is_needed(), GS, id_cow, and id_orig.
Referenced by blender::deg::Depsgraph::add_id_node().
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 155 of file deg_node_id.cc.
References blender::deg::ANIMATION, components, and blender::deg::DEG_UPDATE_SOURCE_RELATIONS.
Referenced by blender::deg::graph_tag_ids_for_visible_update().
| Map<ComponentIDKey, ComponentNode *> blender::deg::IDNode::components |
Definition at line 89 of file deg_node_id.hh.
Referenced by add_component(), blender::deg::DepsgraphNodeBuilder::add_id_node(), blender::deg::DepsgraphRelationBuilder::build_copy_on_write_relations(), blender::deg::deg_debug_graphviz_graph_relations(), blender::deg::deg_debug_graphviz_node(), blender::deg::deg_eval_stats_aggregate(), blender::deg::deg_graph_flush_visibility_flags(), DEG_id_is_fully_evaluated(), DEG_stats_simple(), destroy(), finalize_build(), find_component(), get_visible_components_mask(), and tag_update().
| DEGCustomDataMeshMasks blender::deg::IDNode::customdata_masks |
Definition at line 98 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphRelationBuilder::add_customdata_mask(), blender::deg::DepsgraphNodeBuilder::begin_build(), DEG_get_customdata_mask_for_object(), blender::deg::deg_graph_build_finalize(), and init().
| blender::deg::IDNode::DEG_DEPSNODE_DECLARE |
Definition at line 138 of file deg_node_id.hh.
| uint32_t blender::deg::IDNode::eval_flags |
Definition at line 94 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphRelationBuilder::add_special_eval_flag(), blender::deg::DepsgraphNodeBuilder::begin_build(), DEG_get_eval_flags_for_id(), blender::deg::deg_graph_build_finalize(), and init().
| bool blender::deg::IDNode::has_base |
Definition at line 124 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::deg_check_base_in_depsgraph(), and init().
| ID* blender::deg::IDNode::id_cow |
Definition at line 86 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::begin_build(), blender::deg::DepsgraphNodeBuilder::build_object_modifiers(), blender::deg::deg_create_eval_copy(), blender::deg::deg_evaluate_object_modifiers_mode_node_visibility(), blender::deg::deg_evaluate_object_node_visibility(), blender::deg::deg_graph_build_finalize(), DEG_ids_clear_recalc(), DEG_ids_restore_recalc(), DEG_iterator_ids_step(), blender::deg::deg_update_eval_copy_datablock(), destroy(), blender::deg::DepsgraphNodeBuilder::ensure_cow_id(), blender::deg::DepsgraphNodeBuilder::foreach_id_cow_detect_need_for_update_callback(), blender::deg::Depsgraph::get_cow_id(), blender::deg::get_evaluated_id(), blender::deg::graph_id_tag_update(), blender::deg::graph_tag_ids_for_visible_update(), identifier(), init_copy_on_write(), and blender::deg::DepsgraphNodeBuilder::update_invalid_cow_pointers().
| int blender::deg::IDNode::id_cow_recalc_backup |
Definition at line 133 of file deg_node_id.hh.
Referenced by DEG_ids_clear_recalc(), DEG_ids_restore_recalc(), and init().
| ID* blender::deg::IDNode::id_orig |
Definition at line 76 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphRelationBuilder::add_depends_on_transform_relation(), blender::deg::DepsgraphNodeBuilder::begin_build(), blender::deg::DepsgraphRelationBuilder::build_animdata_fcurve_target(), blender::deg::DepsgraphRelationBuilder::build_copy_on_write_relations(), blender::deg::DepsgraphRelationBuilder::build_driver_data(), blender::deg::DepsgraphRelationBuilder::build_driver_relations(), blender::deg::deg_create_eval_copy(), DEG_get_id_from_handle(), blender::deg::deg_graph_build_finalize(), DEG_ids_clear_recalc(), blender::deg::deg_update_eval_copy_datablock(), destroy(), blender::deg::graph_tag_ids_for_visible_update(), identifier(), init(), init_copy_on_write(), blender::deg::DepsgraphRelationBuilder::is_same_nodetree_node_dependency(), blender::deg::PersistentOperationKey::PersistentOperationKey(), and blender::deg::DepsgraphNodeBuilder::update_invalid_cow_pointers().
| uint blender::deg::IDNode::id_orig_session_uid |
Definition at line 82 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::begin_build(), and init().
| ID_Type blender::deg::IDNode::id_type |
Definition at line 73 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::begin_build(), blender::deg::deg_graph_build_finalize(), and init().
| bool blender::deg::IDNode::is_collection_fully_expanded |
Definition at line 121 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::build_collection(), and init().
| bool blender::deg::IDNode::is_cow_explicitly_tagged |
Definition at line 130 of file deg_node_id.hh.
Referenced by DEG_ids_clear_recalc(), and blender::deg::deg_update_eval_copy_datablock().
| bool blender::deg::IDNode::is_enabled_on_eval |
Definition at line 117 of file deg_node_id.hh.
Referenced by blender::deg::deg_evaluate_object_node_visibility(), blender::deg::deg_graph_flush_visibility_flags(), and init().
| bool blender::deg::IDNode::is_user_modified |
Definition at line 127 of file deg_node_id.hh.
Referenced by DEG_ids_clear_recalc(), and init().
| bool blender::deg::IDNode::is_visible_on_build |
Definition at line 108 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::build_collection(), blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::deg_graph_flush_visibility_flags(), DEG_iterator_ids_step(), identifier(), and init().
| eDepsNode_LinkedState_Type blender::deg::IDNode::linked_state |
Definition at line 101 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::DepsgraphNodeBuilder::build_scene_render(), blender::deg::DepsgraphNodeBuilder::build_view_layer(), and init().
| DEGCustomDataMeshMasks blender::deg::IDNode::previous_customdata_masks |
Definition at line 99 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::add_id_node(), blender::deg::deg_graph_build_finalize(), and init().
| uint32_t blender::deg::IDNode::previous_eval_flags |
Definition at line 95 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::add_id_node(), blender::deg::deg_graph_build_finalize(), and init().
| IDComponentsMask blender::deg::IDNode::previously_visible_components_mask |
Definition at line 136 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::add_id_node(), blender::deg::graph_tag_ids_for_visible_update(), and init().
| IDComponentsMask blender::deg::IDNode::visible_components_mask |
Definition at line 135 of file deg_node_id.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::begin_build(), finalize_build(), blender::deg::graph_tag_ids_for_visible_update(), and init().