Blender
V3.3
|
#include <climits>
#include "DNA_node_types.h"
#include "BLI_color.hh"
#include "BLI_cpp_type_make.hh"
#include "BLI_listbase.h"
#include "BLI_math_vec_types.hh"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_geometry_set.hh"
#include "BKE_lib_id.h"
#include "BKE_node.h"
#include "BKE_node_runtime.hh"
#include "DNA_collection_types.h"
#include "DNA_material_types.h"
#include "RNA_access.h"
#include "RNA_types.h"
#include "MEM_guardedalloc.h"
#include "NOD_node_declaration.hh"
#include "NOD_socket.h"
#include "FN_field.hh"
Go to the source code of this file.
void ED_init_node_socket_type_virtual | ( | bNodeSocketType * | stype | ) |
Definition at line 1490 of file drawnode.cc.
Referenced by make_socket_type_virtual().
void ED_init_standard_node_socket_type | ( | bNodeSocketType * | stype | ) |
Definition at line 1481 of file drawnode.cc.
Referenced by make_standard_socket_type().
|
static |
Definition at line 684 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, SOCK_BOOLEAN, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 812 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_COLLECTION.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 700 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), SOCK_FLOAT, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 800 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, SOCK_GEOMETRY, and UNUSED.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 836 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_IMAGE.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 716 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), SOCK_INT, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 848 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_MATERIAL.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 788 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_OBJECT.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 748 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, SOCK_RGBA, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 765 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, SOCK_STRING, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 824 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_TEXTURE.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 732 of file node_socket.cc.
References bNodeSocketType::base_cpp_type, bNodeSocket::default_value, bNodeSocketType::geometry_nodes_cpp_type, bNodeSocketType::get_base_cpp_value, bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), SOCK_VECTOR, and bNodeSocket::typeinfo.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 655 of file node_socket.cc.
References BLI_assert, BLI_strncpy(), ED_init_node_socket_type_virtual(), bNodeSocketType::ext_socket, bNodeSocketType::free_self, bNodeSocketType::idname, bNodeSocketType::input_link_limit, MEM_freeN, bNodeSocketType::output_link_limit, RNA_struct_blender_type_set(), RNA_struct_find(), SOCK_CUSTOM, ExtensionRNA::srna, bNodeSocketType::type, bNodeSocketType::use_link_limits_of_type, and void.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 609 of file node_socket.cc.
References BLI_assert, BLI_strncpy(), ED_init_standard_node_socket_type(), bNodeSocketType::ext_interface, bNodeSocketType::ext_socket, bNodeSocketType::free_self, bNodeSocketType::idname, bNodeSocketType::input_link_limit, bNodeSocketType::interface_from_socket, bNodeSocketType::interface_init_socket, bNodeSocketType::interface_verify_socket, bNodeSocketType::label, MEM_freeN, nodeStaticSocketInterfaceType(), nodeStaticSocketLabel(), nodeStaticSocketType(), bNodeSocketType::output_link_limit, RNA_struct_blender_type_set(), RNA_struct_find(), ExtensionRNA::srna, standard_node_socket_interface_from_socket(), standard_node_socket_interface_init_socket(), standard_node_socket_interface_verify_socket(), bNodeSocketType::subtype, bNodeSocketType::type, type, bNodeSocketType::use_link_limits_of_type, and void.
Referenced by make_socket_type_bool(), make_socket_type_collection(), make_socket_type_float(), make_socket_type_geometry(), make_socket_type_image(), make_socket_type_int(), make_socket_type_material(), make_socket_type_object(), make_socket_type_rgba(), make_socket_type_string(), make_socket_type_texture(), make_socket_type_vector(), and register_standard_node_socket_types().
struct bNodeSocket* node_add_socket_from_template | ( | struct bNodeTree * | ntree, |
struct bNode * | node, | ||
struct bNodeSocketTemplate * | stemp, | ||
eNodeSocketInOut | in_out | ||
) |
Definition at line 41 of file node_socket.cc.
References bNodeSocket::default_value, bNodeSocketTemplate::flag, bNodeSocket::flag, bNodeSocketTemplate::identifier, bNodeSocket::in_out, bNodeSocketTemplate::max, bNodeSocketValueInt::max, bNodeSocketValueFloat::max, bNodeSocketValueVector::max, bNodeSocketTemplate::min, bNodeSocketValueInt::min, bNodeSocketValueFloat::min, bNodeSocketValueVector::min, bNodeSocketTemplate::name, node, nodeAddStaticSocket(), ntree, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_VECTOR, bNodeSocketTemplate::subtype, bNodeSocketTemplate::type, bNodeSocketTemplate::val1, bNodeSocketTemplate::val2, bNodeSocketTemplate::val3, bNodeSocketTemplate::val4, bNodeSocketValueInt::value, bNodeSocketValueFloat::value, bNodeSocketValueBoolean::value, bNodeSocketValueVector::value, and bNodeSocketValueRGBA::value.
Referenced by cmp_node_image_add_pass_output(), node_add_sockets_from_type(), and verify_socket_template().
void node_socket_copy_default_value | ( | bNodeSocket * | to, |
const bNodeSocket * | from | ||
) |
Definition at line 391 of file node_socket.cc.
References BLI_strncpy(), bNodeSocket::default_value, bNodeSocket::flag, from, Collection::id, Image::id, Material::id, Object::id, Tex::id, id_us_plus(), bNodeSocket::name, NODE_MAXSTR, node_socket_init_default_value(), SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_HIDE_VALUE, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by blender::ed::space_node::node_socket_add_replace(), standard_node_socket_interface_from_socket(), and standard_node_socket_interface_init_socket().
void node_socket_init_default_value | ( | bNodeSocket * | sock | ) |
Definition at line 286 of file node_socket.cc.
References copy_v3_v3(), copy_v4_v4(), bNodeSocket::default_value, bNodeSocketValueInt::max, bNodeSocketValueFloat::max, bNodeSocketValueVector::max, bNodeSocketValueInt::min, bNodeSocketValueFloat::min, bNodeSocketValueVector::min, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocketType::subtype, bNodeSocketValueInt::subtype, bNodeSocketValueFloat::subtype, bNodeSocketValueVector::subtype, bNodeSocketValueString::subtype, bNodeSocketType::type, type, bNodeSocket::typeinfo, bNodeSocketValueInt::value, bNodeSocketValueFloat::value, bNodeSocketValueBoolean::value, bNodeSocketValueString::value, bNodeSocketValueVector::value, bNodeSocketValueRGBA::value, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by node_socket_copy_default_value(), node_socket_set_typeinfo(), and standard_node_socket_interface_verify_socket().
void node_socket_skip_reroutes | ( | ListBase * | links, |
bNode * | node, | ||
bNodeSocket * | socket, | ||
bNode ** | r_node, | ||
bNodeSocket ** | r_socket | ||
) |
Definition at line 486 of file node_socket.cc.
References ListBase::first, bNodeLink::fromnode, if(), bNodeSocket::in_out, input, bNodeSocket::link, bNodeLink::next, node, NODE_REROUTE, SOCK_IN, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by blender::ed::space_node::node_group_make_insert_selected().
Definition at line 257 of file node_socket.cc.
References CMP_NODE_R_LAYERS, bNodeType::declare, bNodeType::inputs, node, nodeDeclarationEnsureOnOutdatedNode(), nodeSocketDeclarationsUpdate(), ntree, bNodeType::outputs, refresh_node(), SOCK_IN, SOCK_OUT, bNodeSocketTemplate::type, and verify_socket_template_list().
Referenced by do_version_hue_sat_node(), do_versions_compositor_render_passes(), node_add_sockets_from_type(), and ntreeBlendReadLib().
|
static |
Definition at line 248 of file node_socket.cc.
References blender::nodes::NodeDeclaration::inputs(), node, ntree, blender::nodes::NodeDeclaration::outputs(), and refresh_socket_list().
Referenced by node_verify_sockets().
|
static |
Definition at line 175 of file node_socket.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BLI_addtail(), BLI_listbase_clear(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), bNodeLink::fromsock, bNodeSocket::identifier, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, bNodeSocket::name, node, nodeRemoveSocketEx(), ntree, blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), STRNCPY, and bNodeLink::tosock.
Referenced by refresh_node().
Definition at line 860 of file node_socket.cc.
References make_socket_type_bool(), make_socket_type_collection(), make_socket_type_float(), make_socket_type_geometry(), make_socket_type_image(), make_socket_type_int(), make_socket_type_material(), make_socket_type_object(), make_socket_type_rgba(), make_socket_type_string(), make_socket_type_texture(), make_socket_type_vector(), make_socket_type_virtual(), make_standard_socket_type(), nodeRegisterSocketType(), PROP_ACCELERATION, PROP_ANGLE, PROP_DIRECTION, PROP_DISTANCE, PROP_EULER, PROP_FACTOR, PROP_NONE, PROP_PERCENTAGE, PROP_TIME, PROP_TIME_ABSOLUTE, PROP_TRANSLATION, PROP_UNSIGNED, PROP_VELOCITY, PROP_XYZ, and SOCK_SHADER.
Referenced by BKE_node_system_init().
|
static |
Definition at line 597 of file node_socket.cc.
References node_socket_copy_default_value(), bNodeSocketType::type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by make_standard_socket_type().
|
static |
Definition at line 534 of file node_socket.cc.
References node_socket_copy_default_value(), bNodeSocketType::type, type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by make_standard_socket_type().
|
static |
Definition at line 552 of file node_socket.cc.
References bNodeSocket::default_value, bNodeSocketValueInt::max, bNodeSocketValueFloat::max, bNodeSocketValueVector::max, bNodeSocketValueInt::min, bNodeSocketValueFloat::min, bNodeSocketValueVector::min, node_socket_init_default_value(), SOCK_FLOAT, SOCK_INT, SOCK_VECTOR, bNodeSocketType::type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by make_standard_socket_type().
|
static |
Definition at line 94 of file node_socket.cc.
References BLI_remlink(), ListBase::first, bNodeSocketTemplate::flag, bNodeSocket::flag, bNodeSocket::in_out, bNodeSocketTemplate::name, bNodeSocket::name, bNodeSocket::next, node, node_add_socket_from_template(), NODE_MAXSTR, nodeModifySocketTypeStatic(), ntree, STREQLEN, bNodeSocketTemplate::subtype, bNodeSocketTemplate::type, and bNodeSocket::type.
Referenced by verify_socket_template_list().
|
static |
Definition at line 125 of file node_socket.cc.
References BLI_addtail(), BLI_insertlinkbefore(), ListBase::first, bNodeSocket::in_out, bNodeSocket::next, node, nodeRemoveSocket(), ntree, bNodeSocketTemplate::sock, bNodeSocketTemplate::type, and verify_socket_template().
Referenced by node_verify_sockets().