|
Blender V5.0
|
#include <cstddef>#include <cstring>#include "DNA_asset_types.h"#include "DNA_node_types.h"#include "BLI_array.hh"#include "BLI_disjoint_set.hh"#include "BLI_listbase.h"#include "BLI_map.hh"#include "BLI_multi_value_map.hh"#include "BLI_set.hh"#include "BLI_stack.hh"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "BLI_vector_set.hh"#include "BLT_translation.hh"#include "BKE_node.hh"#include "BKE_node_runtime.hh"#include "BKE_node_tree_interface.hh"#include "MEM_guardedalloc.h"#include "NOD_common.hh"#include "NOD_composite.hh"#include "NOD_node_declaration.hh"#include "NOD_node_extra_info.hh"#include "NOD_register.hh"#include "NOD_socket.hh"#include "NOD_socket_declarations.hh"#include "NOD_socket_declarations_geometry.hh"#include "UI_resources.hh"#include "ED_node.hh"#include "node_common.h"#include "node_util.hh"Go to the source code of this file.
Classes | |
| struct | RerouteTargetPriority |
| class | MultiValueMap< Key, Value > |
| class | Stack< T, InlineBufferCapacity, Allocator > |
Namespaces | |
| namespace | blender |
| namespace | blender::nodes |
|
static |
Definition at line 63 of file node_common.cc.
References LISTBASE_FOREACH.
Referenced by node_group_find_input_socket(), and node_group_find_output_socket().
Definition at line 525 of file node_common.cc.
References data, MEM_callocN(), NODE_FRAME_SHRINK, and bNode::storage.
Referenced by register_node_type_frame().
| bNodeSocket * node_group_find_input_socket | ( | bNode * | groupnode, |
| const blender::StringRef | identifier ) |
Definition at line 73 of file node_common.cc.
References find_matching_socket(), and bNode::inputs.
Referenced by blender::ed::space_node::node_group_make_insert_selected(), and blender::ed::space_node::node_group_ungroup().
| bNodeSocket * node_group_find_output_socket | ( | bNode * | groupnode, |
| const blender::StringRef | identifier ) |
Definition at line 78 of file node_common.cc.
References find_matching_socket(), and bNode::outputs.
Referenced by blender::ed::space_node::node_group_make_insert_selected(), and blender::ed::space_node::node_group_ungroup().
|
static |
Definition at line 892 of file node_common.cc.
References params.
Referenced by register_node_type_group_input().
| bNodeSocket * node_group_input_find_socket | ( | bNode * | node, |
| const StringRef | identifier ) |
Definition at line 771 of file node_common.cc.
References LISTBASE_FOREACH, and bNode::outputs.
Referenced by blo_do_versions_260(), blender::nodes::group_input_insert_link(), and blender::ed::space_node::node_group_make_insert_selected().
Definition at line 83 of file node_common.cc.
References BLI_strncpy(), BLT_I18NCONTEXT_ID_NODETREE, CTX_IFACE_, bNode::id, and ID::name.
Referenced by register_node_type_cmp_group(), blender::nodes::register_node_type_geo_group(), register_node_type_sh_group(), and register_node_type_tex_group().
|
static |
Definition at line 930 of file node_common.cc.
References blender::nodes::NodeExtraInfoRow::icon, IFACE_, NODE_DO_OUTPUT, params, blender::Span< T >::size(), blender::nodes::NodeExtraInfoRow::text, TIP_, and blender::nodes::NodeExtraInfoRow::tooltip.
Referenced by register_node_type_group_output().
| bNodeSocket * node_group_output_find_socket | ( | bNode * | node, |
| const StringRef | identifier ) |
Definition at line 920 of file node_common.cc.
References bNode::inputs, and LISTBASE_FOREACH.
Referenced by blo_do_versions_260(), blender::nodes::group_output_insert_link(), and blender::ed::space_node::node_group_make_insert_selected().
| bool node_group_poll_instance | ( | const bNode * | node, |
| const bNodeTree * | nodetree, | ||
| const char ** | r_disabled_hint ) |
Definition at line 139 of file node_common.cc.
References bNode::id, blender::bke::node_group_poll(), and bNode::typeinfo.
Referenced by register_node_type_cmp_group(), blender::nodes::register_node_type_geo_group(), register_node_type_sh_group(), and register_node_type_tex_group().
| int node_group_ui_class | ( | const bNode * | node | ) |
Definition at line 94 of file node_common.cc.
References blender::bke::Attribute, blender::bke::Color, bNodeTree::color_tag, blender::bke::Converter, blender::bke::Distort, blender::bke::Filter, blender::bke::Geometry, blender::bke::Group, bNode::id, blender::bke::Input, blender::bke::Interface, blender::bke::Matte, NODE_CLASS_ATTRIBUTE, NODE_CLASS_CONVERTER, NODE_CLASS_DISTORT, NODE_CLASS_GEOMETRY, NODE_CLASS_GROUP, NODE_CLASS_INPUT, NODE_CLASS_INTERFACE, NODE_CLASS_MATTE, NODE_CLASS_OP_COLOR, NODE_CLASS_OP_FILTER, NODE_CLASS_OP_VECTOR, NODE_CLASS_OUTPUT, NODE_CLASS_PATTERN, NODE_CLASS_SCRIPT, NODE_CLASS_SHADER, NODE_CLASS_TEXTURE, blender::bke::None, blender::bke::Output, blender::bke::Pattern, blender::bke::Script, blender::bke::Shader, blender::bke::Texture, and blender::bke::Vector.
Referenced by register_node_type_cmp_group(), blender::nodes::register_node_type_geo_group(), and register_node_type_sh_group().
| std::string node_group_ui_description | ( | const bNode & | node | ) |
Definition at line 153 of file node_common.cc.
References ID::asset_data, AssetMetaData::description, bNodeTree::description, bNode::id, and bNodeTree::id.
Referenced by register_node_type_cmp_group(), blender::nodes::register_node_type_geo_group(), and register_node_type_sh_group().
|
static |
Definition at line 563 of file node_common.cc.
References b, blender::StringRefNull::c_str(), bNode::storage, blender::nodes::SocketDeclaration::structure_type, and NodeReroute::type_idname.
Referenced by register_node_type_reroute().
Definition at line 580 of file node_common.cc.
References data, MEM_callocN(), bNode::storage, and STRNCPY().
Referenced by register_node_type_reroute().
| void ntree_update_reroute_nodes | ( | struct bNodeTree * | ntree | ) |
Global update function for Reroute node types. This depends on connected nodes, so must be done as a tree-wide update.
Definition at line 625 of file node_common.cc.
References VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_assert, blender::StringRefBase::copy_utf8_truncated(), blender::bke::bNodeSocketType::idname, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of(), VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), DisjointSet::join(), VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size(), bNode::storage, NodeReroute::type_idname, bNodeSocket::typeinfo, and blender::nodes::update_node_declaration_and_sockets().
Referenced by geometry_node_tree_update(), update(), update(), and update().
| void register_node_type_frame | ( | ) |
Definition at line 535 of file node_common.cc.
References blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::flag, blender::bke::bNodeType::free_self, blender::bke::bNodeType::initfunc, blender::bke::bNodeType::nclass, NODE_BACKGROUND, NODE_CLASS_LAYOUT, node_copy_standard_storage(), NODE_FRAME, node_frame_init(), node_free_standard_storage(), blender::bke::node_register_type(), blender::bke::node_type_base(), blender::bke::node_type_size(), blender::bke::node_type_storage(), blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by register_nodes().
| void register_node_type_group_input | ( | ) |
Definition at line 897 of file node_common.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons_ex, blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::free_self, blender::bke::bNodeType::get_compositor_operation, blender::bke::bNodeType::get_extra_info, blender::nodes::get_group_input_compositor_operation(), blender::nodes::group_input_declare(), blender::nodes::group_input_insert_link(), blender::bke::bNodeType::insert_link, blender::bke::bNodeType::nclass, blender::bke::bNodeType::no_muting, NODE_CLASS_INTERFACE, NODE_GROUP_INPUT, node_group_input_extra_info(), blender::nodes::node_group_input_layout(), blender::bke::node_register_type(), blender::bke::node_type_base(), blender::bke::node_type_size(), blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by register_nodes().
| void register_node_type_group_output | ( | ) |
Definition at line 948 of file node_common.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons_ex, blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::free_self, blender::bke::bNodeType::get_compositor_operation, blender::bke::bNodeType::get_extra_info, blender::nodes::get_group_output_compositor_operation(), blender::nodes::group_output_declare(), blender::nodes::group_output_insert_link(), blender::bke::bNodeType::insert_link, blender::bke::bNodeType::nclass, blender::bke::bNodeType::no_muting, NODE_CLASS_INTERFACE, NODE_GROUP_OUTPUT, node_group_output_extra_info(), blender::nodes::node_group_output_layout(), blender::bke::node_register_type(), blender::bke::node_type_base(), blender::bke::node_type_size(), blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by register_nodes().
| void register_node_type_reroute | ( | ) |
Definition at line 587 of file node_common.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::enum_name_legacy, blender::bke::bNodeType::free_self, blender::bke::bNodeType::initfunc, blender::bke::bNodeType::nclass, NODE_CLASS_LAYOUT, node_copy_standard_storage(), node_free_standard_storage(), blender::bke::node_register_type(), NODE_REROUTE, node_reroute_declare(), node_reroute_init(), blender::bke::node_type_base(), blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by register_nodes().