|
Blender V4.3
|
#include <deg_node_component.hh>
Inherits blender::deg::Node.
Inherited by blender::deg::AudioComponentNode, blender::deg::BoneComponentNode, and blender::deg::ParametersComponentNode.
Classes | |
| struct | OperationIDKey |
Public Attributes | |
| IDNode * | owner |
| Map< ComponentNode::OperationIDKey, OperationNode * > * | operations_map |
| Vector< OperationNode * > | operations |
| OperationNode * | entry_operation |
| OperationNode * | exit_operation |
| bool | possibly_affects_visible_id |
| bool | affects_visible_id |
Public Attributes inherited from blender::deg::Node | |
| 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 33 of file deg_node_component.hh.
| blender::deg::ComponentNode::ComponentNode | ( | ) |
Definition at line 70 of file deg_node_component.cc.
References Map, and operations_map.
| blender::deg::ComponentNode::~ComponentNode | ( | ) |
Definition at line 86 of file deg_node_component.cc.
References clear_operations(), and operations_map.
| OperationNode * blender::deg::ComponentNode::add_operation | ( | const DepsEvalOperationCb & | op, |
| OperationCode | opcode, | ||
| const char * | name = "", | ||
| int | name_tag = -1 ) |
Create a new node for representing an operation and add this to graph
| opcode | The operation to perform. |
| name | An optional identifier for operation. It will be used to tell operation nodes with the same code apart. For example, parameter operation code will have name set to the corresponding custom property name |
| name_tag | An optional integer tag for the name. Is an additional way to tell operations apart. For example, RNA path to an array property will have the same opcode of PARAMETERS, name corresponding to the property name, and name tag corresponding to the array index within the property. |
Definition at line 161 of file deg_node_component.cc.
References BLI_assert_msg, blender::deg::DepsNodeFactory::create_node(), blender::deg::OperationNode::evaluate, find_operation(), identifier(), blender::deg::OperationNode::identifier(), blender::deg::Node::name, blender::deg::OperationNode::name_tag, blender::deg::OperationNode::opcode, blender::deg::OPERATION, operations_map, blender::deg::OperationNode::owner, and blender::deg::type_get_factory().
Referenced by blender::deg::DepsgraphNodeBuilder::add_id_node(), and blender::deg::DepsgraphNodeBuilder::add_operation_node().
| void blender::deg::ComponentNode::clear_operations | ( | ) |
Definition at line 208 of file deg_node_component.cc.
References operations, and operations_map.
Referenced by ~ComponentNode().
|
inlinevirtual |
Definition at line 128 of file deg_node_component.hh.
| void blender::deg::ComponentNode::finalize_build | ( | Depsgraph * | graph | ) |
Definition at line 280 of file deg_node_component.cc.
References operations_map.
| OperationNode * blender::deg::ComponentNode::find_operation | ( | OperationCode | opcode, |
| const char * | name = "", | ||
| int | name_tag = -1 ) const |
Definition at line 120 of file deg_node_component.cc.
References find_operation().
| OperationNode * blender::deg::ComponentNode::find_operation | ( | OperationIDKey | key | ) | const |
Definition at line 101 of file deg_node_component.cc.
References blender::deg::ComponentNode::OperationIDKey::name, blender::deg::ComponentNode::OperationIDKey::name_tag, node, blender::deg::ComponentNode::OperationIDKey::opcode, operations, operations_map, and STREQ.
Referenced by add_operation(), blender::deg::DepsgraphNodeBuilder::add_operation_node(), blender::deg::deg_evaluate_object_modifiers_mode_node_visibility(), blender::deg::DepsgraphRelationBuilder::find_node(), blender::deg::RNANodeQuery::find_node(), find_operation(), blender::deg::DepsgraphNodeBuilder::find_operation_node(), get_operation(), has_operation(), and operation_needs_update().
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 238 of file deg_node_component.cc.
References entry_operation, and operations_map.
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 259 of file deg_node_component.cc.
References exit_operation, and operations_map.
| OperationNode * blender::deg::ComponentNode::get_operation | ( | OperationCode | opcode, |
| const char * | name = "", | ||
| int | name_tag = -1 ) const |
Definition at line 142 of file deg_node_component.cc.
References get_operation().
| OperationNode * blender::deg::ComponentNode::get_operation | ( | OperationIDKey | key | ) | const |
Definition at line 128 of file deg_node_component.cc.
References BLI_assert_msg, find_operation(), identifier(), blender::deg::ComponentNode::OperationIDKey::identifier(), and node.
Referenced by get_operation().
| bool blender::deg::ComponentNode::has_operation | ( | OperationCode | opcode, |
| const char * | name = "", | ||
| int | name_tag = -1 ) const |
Definition at line 155 of file deg_node_component.cc.
References has_operation().
| bool blender::deg::ComponentNode::has_operation | ( | OperationIDKey | key | ) | const |
Definition at line 150 of file deg_node_component.cc.
References find_operation().
Referenced by has_operation().
|
overridevirtual |
Generic identifier for Depsgraph Nodes.
Reimplemented from blender::deg::Node.
Definition at line 92 of file deg_node_component.cc.
References affects_visible_id, blender::deg::type_get_factory(), and blender::deg::DepsNodeFactory::type_name().
Referenced by add_operation(), blender::deg::DepsgraphNodeBuilder::add_operation_node(), and get_operation().
|
overridevirtual |
Initialize 'component' node - from pointer data given.
Reimplemented from blender::deg::Node.
Definition at line 79 of file deg_node_component.cc.
Referenced by blender::deg::BoneComponentNode::init().
|
inlinevirtual |
Reimplemented in blender::deg::AudioComponentNode, and blender::deg::ParametersComponentNode.
Definition at line 135 of file deg_node_component.hh.
Referenced by blender::deg::deg_debug_graphviz_relation_arrowhead().
| void blender::deg::ComponentNode::set_entry_operation | ( | OperationNode * | op_node | ) |
Definition at line 196 of file deg_node_component.cc.
References BLI_assert, and entry_operation.
Referenced by blender::deg::OperationNode::set_as_entry().
| void blender::deg::ComponentNode::set_exit_operation | ( | OperationNode * | op_node | ) |
Definition at line 202 of file deg_node_component.cc.
References BLI_assert, and exit_operation.
Referenced by blender::deg::OperationNode::set_as_exit().
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 222 of file deg_node_component.cc.
References operations, operations_map, and blender::deg::OperationNode::tag_update().
Referenced by blender::deg::IDNode::tag_update().
| bool blender::deg::ComponentNode::affects_visible_id |
Definition at line 150 of file deg_node_component.hh.
Referenced by blender::deg::deg_graph_flush_visibility_flags(), and identifier().
| OperationNode* blender::deg::ComponentNode::entry_operation |
Definition at line 125 of file deg_node_component.hh.
Referenced by blender::deg::DepsgraphNodeBuilder::build_rigidbody(), get_entry_operation(), and set_entry_operation().
| OperationNode* blender::deg::ComponentNode::exit_operation |
Definition at line 126 of file deg_node_component.hh.
Referenced by get_exit_operation(), and set_exit_operation().
| Vector<OperationNode *> blender::deg::ComponentNode::operations |
Definition at line 123 of file deg_node_component.hh.
Referenced by clear_operations(), blender::deg::deg_debug_graphviz_node(), find_operation(), and tag_update().
| Map<ComponentNode::OperationIDKey, OperationNode *>* blender::deg::ComponentNode::operations_map |
Definition at line 119 of file deg_node_component.hh.
Referenced by add_operation(), clear_operations(), ComponentNode(), finalize_build(), find_operation(), get_entry_operation(), get_exit_operation(), tag_update(), and ~ComponentNode().
| IDNode* blender::deg::ComponentNode::owner |
Definition at line 113 of file deg_node_component.hh.
Referenced by blender::deg::IDNode::add_component(), blender::deg::DepsgraphNodeBuilder::add_component_node(), blender::deg::DepsgraphRelationBuilder::build_animdata_fcurve_target(), blender::deg::DepsgraphRelationBuilder::build_copy_on_write_relations(), blender::deg::deg_eval_stats_aggregate(), DEG_get_id_from_handle(), blender::deg::deg_graph_flush_updates(), blender::deg::deg_graph_flush_visibility_flags(), blender::deg::OperationNode::full_identifier(), blender::deg::DepsgraphRelationBuilder::is_same_bone_dependency(), blender::deg::DepsgraphRelationBuilder::is_same_nodetree_node_dependency(), blender::deg::ParametersComponentNode::need_tag_cow_before_update(), and blender::deg::PersistentOperationKey::PersistentOperationKey().
| bool blender::deg::ComponentNode::possibly_affects_visible_id |
Definition at line 144 of file deg_node_component.hh.
Referenced by blender::deg::deg_graph_flush_visibility_flags().