|
Blender V5.0
|
#include <climits>#include "DNA_node_types.h"#include "BLI_color.hh"#include "BLI_listbase.h"#include "BLI_math_euler.hh"#include "BLI_math_quaternion_types.hh"#include "BLI_math_vector.h"#include "BLI_math_vector_types.hh"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_utildefines.h"#include "BKE_geometry_set.hh"#include "BKE_lib_id.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_node_runtime.hh"#include "BKE_node_socket_value.hh"#include "BKE_node_tree_update.hh"#include "DNA_collection_types.h"#include "DNA_material_types.h"#include "RNA_access.hh"#include "MEM_guardedalloc.h"#include "NOD_geometry_nodes_bundle.hh"#include "NOD_geometry_nodes_closure.hh"#include "NOD_menu_value.hh"#include "NOD_node_declaration.hh"#include "NOD_socket.hh"Go to the source code of this file.
Classes | |
| class | SocketValueVariant |
Namespaces | |
| namespace | blender |
| namespace | blender::nodes |
Typedefs | |
| using | SocketDeclarationPtr |
Definition at line 503 of file NOD_node_declaration.hh.
| void ED_init_node_socket_type_virtual | ( | bke::bNodeSocketType * | stype | ) |
Definition at line 1502 of file drawnode.cc.
Referenced by make_socket_type_virtual().
| void ED_init_standard_node_socket_type | ( | bke::bNodeSocketType * | stype | ) |
Definition at line 1493 of file drawnode.cc.
Referenced by make_standard_socket_type().
|
static |
Definition at line 965 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_BOOLEAN.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1016 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_BUNDLE.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1031 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_CLOSURE.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1174 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::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 1046 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), and SOCK_FLOAT.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1159 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_GEOMETRY.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1207 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::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 1062 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), and SOCK_INT.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1224 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::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 1001 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, blender::MatBase< float, 4, 4 >::identity(), make_standard_socket_type(), PROP_NONE, and SOCK_MATRIX.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1126 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_MENU.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1142 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::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 1094 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, and SOCK_RGBA.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 981 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, blender::math::QuaternionBase< float >::identity(), make_standard_socket_type(), PROP_NONE, SOCK_ROTATION, and blender::math::to_quaternion().
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1110 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), and SOCK_STRING.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1191 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, SocketValueVariant::From(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), PROP_NONE, SOCK_TEXTURE, and texture().
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 1078 of file node_socket.cc.
References blender::bke::bNodeSocketType::base_cpp_type, blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::CPPType::get(), blender::bke::bNodeSocketType::get_base_cpp_value, blender::bke::bNodeSocketType::get_geometry_nodes_cpp_value, make_standard_socket_type(), and SOCK_VECTOR.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 936 of file node_socket.cc.
References BLI_assert, ED_init_node_socket_type_virtual(), blender::bke::bNodeSocketType::ext_socket, blender::bke::bNodeSocketType::free_self, blender::bke::bNodeSocketType::idname, blender::bke::bNodeSocketType::input_link_limit, blender::bke::bNodeSocketType::output_link_limit, RNA_struct_blender_type_set(), RNA_struct_find(), SOCK_CUSTOM, ExtensionRNA::srna, blender::bke::bNodeSocketType::type, and blender::bke::bNodeSocketType::use_link_limits_of_type.
Referenced by register_standard_node_socket_types().
|
static |
Definition at line 887 of file node_socket.cc.
References BLI_assert, blender::StringRefNull::c_str(), ED_init_standard_node_socket_type(), blender::bke::bNodeSocketType::ext_interface, blender::bke::bNodeSocketType::ext_socket, blender::bke::bNodeSocketType::free_self, blender::bke::bNodeSocketType::idname, blender::bke::bNodeSocketType::input_link_limit, blender::bke::bNodeSocketType::interface_from_socket, blender::bke::bNodeSocketType::interface_init_socket, blender::bke::bNodeSocketType::label, blender::bke::node_socket_sub_type_label(), blender::bke::node_static_socket_interface_type_new(), blender::bke::node_static_socket_label(), blender::bke::node_static_socket_type(), blender::bke::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(), blender::bke::bNodeSocketType::subtype, blender::bke::bNodeSocketType::subtype_label, blender::bke::bNodeSocketType::type, and blender::bke::bNodeSocketType::use_link_limits_of_type.
Referenced by make_socket_type_bool(), make_socket_type_bundle(), make_socket_type_closure(), 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_matrix(), make_socket_type_menu(), make_socket_type_object(), make_socket_type_rgba(), make_socket_type_rotation(), make_socket_type_string(), make_socket_type_texture(), make_socket_type_vector(), and register_standard_node_socket_types().
| bNodeSocket * node_add_socket_from_template | ( | bNodeTree * | ntree, |
| bNode * | node, | ||
| bke::bNodeSocketTemplate * | stemp, | ||
| eNodeSocketInOut | in_out ) |
Definition at line 48 of file node_socket.cc.
References bNodeSocket::default_value, bNodeSocketValueVector::dimensions, blender::bke::bNodeSocketTemplate::flag, bNodeSocket::flag, blender::bke::bNodeSocketTemplate::identifier, blender::bke::bNodeSocketTemplate::max, bNodeSocketValueFloat::max, bNodeSocketValueInt::max, bNodeSocketValueVector::max, blender::bke::bNodeSocketTemplate::min, bNodeSocketValueFloat::min, bNodeSocketValueInt::min, bNodeSocketValueVector::min, blender::bke::bNodeSocketTemplate::name, blender::bke::node_add_static_socket(), SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_VECTOR, blender::bke::bNodeSocketTemplate::subtype, blender::bke::bNodeSocketTemplate::type, blender::bke::bNodeSocketTemplate::val1, blender::bke::bNodeSocketTemplate::val2, blender::bke::bNodeSocketTemplate::val3, blender::bke::bNodeSocketTemplate::val4, bNodeSocketValueBoolean::value, bNodeSocketValueFloat::value, bNodeSocketValueInt::value, bNodeSocketValueRGBA::value, and bNodeSocketValueVector::value.
Referenced by cmp_node_image_add_pass_output(), blender::bke::node_add_sockets_from_type(), and verify_socket_template().
| void node_socket_copy_default_value | ( | bNodeSocket * | to, |
| const bNodeSocket * | from ) |
Definition at line 837 of file node_socket.cc.
References bNodeSocket::default_value, bNodeSocket::flag, bNodeSocket::label, bNodeSocket::name, node_socket_copy_default_value_data(), node_socket_init_default_value(), SOCK_HIDE_VALUE, STRNCPY_UTF8, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by blender::ed::space_node::node_socket_add_replace().
| void node_socket_copy_default_value_data | ( | eNodeSocketDatatype | datatype, |
| void * | to, | ||
| const void * | from ) |
Definition at line 726 of file node_socket.cc.
References id_us_plus(), SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocketValueCollection::value, bNodeSocketValueImage::value, bNodeSocketValueMaterial::value, bNodeSocketValueObject::value, and bNodeSocketValueTexture::value.
Referenced by node_socket_copy_default_value(), and standard_node_socket_interface_init_socket().
| void node_socket_init_default_value | ( | bNodeSocket * | sock | ) |
Definition at line 827 of file node_socket.cc.
References bNodeSocket::default_value, node_socket_init_default_value_data(), and bNodeSocket::typeinfo.
Referenced by node_socket_copy_default_value(), and blender::bke::node_socket_set_typeinfo().
| void node_socket_init_default_value_data | ( | eNodeSocketDatatype | datatype, |
| int | subtype, | ||
| void ** | data ) |
Definition at line 599 of file node_socket.cc.
References copy_v3_v3(), copy_v4_v4(), data, bNodeSocketValueVector::dimensions, FLT_MAX, bNodeSocketValueFloat::max, bNodeSocketValueInt::max, bNodeSocketValueVector::max, MEM_callocN(), bNodeSocketValueFloat::min, bNodeSocketValueInt::min, bNodeSocketValueVector::min, SOCK_BOOLEAN, SOCK_BUNDLE, SOCK_CLOSURE, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_MATRIX, SOCK_MENU, SOCK_OBJECT, SOCK_RGBA, SOCK_ROTATION, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocketValueFloat::subtype, bNodeSocketValueInt::subtype, bNodeSocketValueString::subtype, bNodeSocketValueVector::subtype, bNodeSocketValueBoolean::value, bNodeSocketValueCollection::value, bNodeSocketValueFloat::value, bNodeSocketValueImage::value, bNodeSocketValueInt::value, bNodeSocketValueMaterial::value, bNodeSocketValueMenu::value, bNodeSocketValueObject::value, bNodeSocketValueRGBA::value, bNodeSocketValueString::value, bNodeSocketValueTexture::value, and bNodeSocketValueVector::value.
Referenced by node_socket_init_default_value(), standard_node_socket_interface_init_socket(), and version_node_add_socket().
Definition at line 573 of file node_socket.cc.
References CMP_NODE_R_LAYERS, blender::bke::bNodeType::declare, blender::bke::bNodeType::inputs, bNode::inputs, blender::bke::node_declaration_ensure_on_outdated_node(), blender::bke::bNodeType::outputs, bNode::outputs, bNode::runtime, SOCK_IN, SOCK_OUT, blender::bke::bNodeSocketTemplate::type, bNode::type_legacy, bNode::typeinfo, and verify_socket_template_list().
Referenced by do_versions_compositor_render_passes(), blender::bke::node_add_sockets_from_type(), and blender::bke::ntree_blend_read_after_liblink().
| void register_standard_node_socket_types | ( | ) |
Definition at line 1241 of file node_socket.cc.
References make_socket_type_bool(), make_socket_type_bundle(), make_socket_type_closure(), 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_matrix(), make_socket_type_menu(), make_socket_type_object(), make_socket_type_rgba(), make_socket_type_rotation(), make_socket_type_string(), make_socket_type_texture(), make_socket_type_vector(), make_socket_type_virtual(), make_standard_socket_type(), blender::bke::node_register_socket_type(), PROP_ACCELERATION, PROP_ANGLE, PROP_COLOR_TEMPERATURE, PROP_DIRECTION, PROP_DISTANCE, PROP_EULER, PROP_FACTOR, PROP_FILEPATH, PROP_FREQUENCY, PROP_NONE, PROP_PERCENTAGE, PROP_TIME, PROP_TIME_ABSOLUTE, PROP_TRANSLATION, PROP_UNSIGNED, PROP_VELOCITY, PROP_WAVELENGTH, PROP_XYZ, and SOCK_SHADER.
Referenced by register_nodes().
|
static |
Definition at line 876 of file node_socket.cc.
Referenced by make_standard_socket_type().
|
static |
Definition at line 860 of file node_socket.cc.
References bNodeSocket::default_value, node_socket_copy_default_value_data(), node_socket_init_default_value_data(), bNodeTreeInterfaceSocket::socket_data, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by make_standard_socket_type().
|
static |
Definition at line 102 of file node_socket.cc.
References BLI_remlink(), ListBase::first, blender::bke::bNodeSocketTemplate::flag, bNodeSocket::flag, blender::bke::bNodeSocketTemplate::name, bNodeSocket::name, bNodeSocket::next, node_add_socket_from_template(), NODE_MAXSTR, blender::bke::node_modify_socket_type_static(), STREQLEN, blender::bke::bNodeSocketTemplate::subtype, blender::bke::bNodeSocketTemplate::type, and bNodeSocket::type.
Referenced by verify_socket_template_list().
|
static |
Definition at line 133 of file node_socket.cc.
References BLI_addtail(), BLI_insertlinkbefore(), ListBase::first, bNodeSocket::next, blender::bke::node_remove_socket(), blender::bke::bNodeSocketTemplate::sock, blender::bke::bNodeSocketTemplate::type, and verify_socket_template().
Referenced by node_verify_sockets().