Blender
V3.3
|
#include <deg_node_component.h>
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 |
![]() | |
string | name |
NodeType | type |
Relations | inlinks |
Relations | outlinks |
Stats | stats |
int | custom_flags |
Additional Inherited Members | |
![]() | |
typedef Vector< Relation * > | Relations |
Definition at line 32 of file deg_node_component.h.
blender::deg::ComponentNode::ComponentNode | ( | ) |
Definition at line 69 of file deg_node_component.cc.
References operations_map.
blender::deg::ComponentNode::~ComponentNode | ( | ) |
Definition at line 85 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 158 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 205 of file deg_node_component.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), operations, and operations_map.
Referenced by ~ComponentNode().
|
inlinevirtual |
Definition at line 127 of file deg_node_component.h.
Definition at line 277 of file deg_node_component.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), operations, operations_map, and blender::Vector< T, InlineBufferCapacity, Allocator >::reserve().
OperationNode * blender::deg::ComponentNode::find_operation | ( | OperationCode | opcode, |
const char * | name = "" , |
||
int | name_tag = -1 |
||
) | const |
Definition at line 117 of file deg_node_component.cc.
References find_operation(), and blender::deg::Node::name.
OperationNode * blender::deg::ComponentNode::find_operation | ( | OperationIDKey | key | ) | const |
Definition at line 99 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::DepsgraphRelationBuilder::find_node(), blender::deg::RNANodeQuery::find_node(), find_operation(), blender::deg::DepsgraphNodeBuilder::find_operation_node(), get_operation(), has_operation(), and blender::deg::DepsgraphNodeBuilder::tag_previously_tagged_nodes().
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 235 of file deg_node_component.cc.
References entry_operation, operations, operations_map, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
|
overridevirtual |
Reimplemented from blender::deg::Node.
Definition at line 256 of file deg_node_component.cc.
References exit_operation, operations, operations_map, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
OperationNode * blender::deg::ComponentNode::get_operation | ( | OperationCode | opcode, |
const char * | name = "" , |
||
int | name_tag = -1 |
||
) | const |
Definition at line 139 of file deg_node_component.cc.
References get_operation(), and blender::deg::Node::name.
OperationNode * blender::deg::ComponentNode::get_operation | ( | OperationIDKey | key | ) | const |
Definition at line 125 of file deg_node_component.cc.
References BLI_assert_msg, find_operation(), blender::deg::ComponentNode::OperationIDKey::identifier(), 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 152 of file deg_node_component.cc.
References has_operation(), and blender::deg::Node::name.
bool blender::deg::ComponentNode::has_operation | ( | OperationIDKey | key | ) | const |
Definition at line 147 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 91 of file deg_node_component.cc.
References affects_visible_id, blender::deg::Node::name, owner, to_string(), and blender::deg::Node::type.
Referenced by add_operation(), blender::deg::DepsgraphNodeBuilder::add_operation_node(), and get_operation().
Initialize 'component' node - from pointer data given.
Reimplemented from blender::deg::Node.
Reimplemented in blender::deg::BoneComponentNode.
Definition at line 78 of file deg_node_component.cc.
Referenced by blender::deg::BoneComponentNode::init().
|
inlinevirtual |
Reimplemented in blender::deg::ParametersComponentNode.
Definition at line 134 of file deg_node_component.h.
void blender::deg::ComponentNode::set_entry_operation | ( | OperationNode * | op_node | ) |
Definition at line 193 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 199 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 219 of file deg_node_component.cc.
References graph, operations, and operations_map.
bool blender::deg::ComponentNode::affects_visible_id |
Definition at line 149 of file deg_node_component.h.
Referenced by blender::deg::deg_graph_flush_visibility_flags(), and identifier().
OperationNode* blender::deg::ComponentNode::entry_operation |
Definition at line 124 of file deg_node_component.h.
Referenced by blender::deg::DepsgraphNodeBuilder::build_rigidbody(), get_entry_operation(), and set_entry_operation().
OperationNode* blender::deg::ComponentNode::exit_operation |
Definition at line 125 of file deg_node_component.h.
Referenced by get_exit_operation(), and set_exit_operation().
Vector<OperationNode *> blender::deg::ComponentNode::operations |
Definition at line 122 of file deg_node_component.h.
Referenced by clear_operations(), blender::deg::deg_debug_graphviz_node(), finalize_build(), find_operation(), get_entry_operation(), get_exit_operation(), and tag_update().
Map<ComponentNode::OperationIDKey, OperationNode *>* blender::deg::ComponentNode::operations_map |
Definition at line 118 of file deg_node_component.h.
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 112 of file deg_node_component.h.
Referenced by blender::deg::IDNode::add_component(), blender::deg::DepsgraphNodeBuilder::add_component_node(), blender::deg::DepsgraphRelationBuilder::add_modifier_to_transform_relation(), blender::deg::DepsgraphNodeBuilder::begin_build(), blender::deg::DepsgraphRelationBuilder::build_animdata_curves_targets(), 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(), identifier(), blender::deg::DepsgraphRelationBuilder::is_same_bone_dependency(), blender::deg::DepsgraphRelationBuilder::is_same_nodetree_node_dependency(), and blender::deg::ParametersComponentNode::need_tag_cow_before_update().
bool blender::deg::ComponentNode::possibly_affects_visible_id |
Definition at line 143 of file deg_node_component.h.
Referenced by blender::deg::deg_graph_flush_visibility_flags().