Blender
V3.3
|
#include "CLG_log.h"
#include "MEM_guardedalloc.h"
#include <climits>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include "DNA_action_types.h"
#include "DNA_anim_types.h"
#include "DNA_collection_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_light_types.h"
#include "DNA_linestyle_types.h"
#include "DNA_material_types.h"
#include "DNA_modifier_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_simulation_types.h"
#include "DNA_texture_types.h"
#include "DNA_world_types.h"
#include "BLI_color.hh"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_map.hh"
#include "BLI_path_util.h"
#include "BLI_set.hh"
#include "BLI_stack.hh"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLI_vector_set.hh"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_animsys.h"
#include "BKE_bpath.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_cryptomatte.h"
#include "BKE_global.h"
#include "BKE_icons.h"
#include "BKE_idprop.h"
#include "BKE_idtype.h"
#include "BKE_image_format.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_prototypes.h"
#include "NOD_common.h"
#include "NOD_composite.h"
#include "NOD_function.h"
#include "NOD_geometry.h"
#include "NOD_node_declaration.hh"
#include "NOD_node_tree_ref.hh"
#include "NOD_shader.h"
#include "NOD_socket.h"
#include "NOD_texture.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "BLO_read_write.h"
#include "MOD_nodes.h"
#include "NOD_static_types.h"
Go to the source code of this file.
Classes | |
struct | bNodeClipboardExtraInfo |
struct | bNodeClipboard |
struct | SocketTemplateIdentifierCallbackData |
Namespaces | |
blender | |
blender::bke | |
Macros | |
#define | DNA_DEPRECATED_ALLOW |
#define | NODE_DEFAULT_MAX_WIDTH 700 |
#define | USE_NODE_CB_VALIDATE |
#define | DefNode(Category, ID, DefFunc, EnumName, StructName, UIName, UIDesc) |
Variables | |
static bNodeTreeType | NodeTreeTypeUndefined |
bNodeType | NodeTypeUndefined |
bNodeSocketType | NodeSocketTypeUndefined |
static CLG_LogRef | LOG = {"bke.node"} |
IDTypeInfo | IDType_ID_NT |
static GHash * | nodetreetypes_hash = nullptr |
static GHash * | nodetypes_hash = nullptr |
static GHash * | nodesockettypes_hash = nullptr |
static bNodeClipboard | node_clipboard = {{nullptr}} |
const bNodeInstanceKey | NODE_INSTANCE_KEY_BASE = {5381} |
const bNodeInstanceKey | NODE_INSTANCE_KEY_NONE = {0} |
|
static |
Definition at line 2476 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH, and ntree.
Referenced by nodeInternalRelink(), and nodeUnlinkNode().
Definition at line 3868 of file node.cc.
References BLI_addtail(), bNodeClipboard::links, and node_clipboard.
Referenced by blender::ed::space_node::node_clipboard_copy_exec().
Definition at line 3838 of file node.cc.
References BLI_addtail(), BLI_strncpy(), bNodeClipboardExtraInfo::id, ID_IS_LINKED, bNodeClipboardExtraInfo::id_name, bNodeClipboardExtraInfo::library_name, MEM_mallocN, node, node_clipboard, bNodeClipboard::nodes, and bNodeClipboard::nodes_extra_info.
Referenced by blender::ed::space_node::node_clipboard_copy_exec().
Definition at line 3778 of file node.cc.
References BLI_freelistN(), BLI_listbase_clear(), bNodeClipboard::links, LISTBASE_FOREACH_MUTABLE, node, node_clipboard, node_free_node(), nodeRemLink(), bNodeClipboard::nodes, and bNodeClipboard::nodes_extra_info.
Referenced by BKE_node_clipboard_free(), and blender::ed::space_node::node_clipboard_copy_exec().
Definition at line 3888 of file node.cc.
References BKE_node_clipboard_clear(), and BKE_node_clipboard_validate().
Referenced by WM_exit_ex().
Definition at line 3878 of file node.cc.
References bNodeClipboard::links, and node_clipboard.
Referenced by blender::ed::space_node::node_clipboard_paste_exec().
Definition at line 3873 of file node.cc.
References node_clipboard, and bNodeClipboard::nodes.
Referenced by blender::ed::space_node::node_clipboard_paste_exec().
int BKE_node_clipboard_get_type | ( | void | ) |
Definition at line 3883 of file node.cc.
References node_clipboard, and bNodeClipboard::type.
Referenced by blender::ed::space_node::node_clipboard_paste_exec().
Node Clipboard.
Definition at line 3773 of file node.cc.
References node_clipboard, ntree, bNodeClipboard::type, and bNodeTree::type.
Referenced by blender::ed::space_node::node_clipboard_copy_exec().
Return false when one or more ID's are lost.
Definition at line 3795 of file node.cc.
References BLI_assert, BLI_findindex(), BLI_findstring(), BLI_listbase_count(), ListBase::first, G_MAIN, GS, bNodeClipboardExtraInfo::id, bNodeClipboardExtraInfo::id_name, bNodeClipboardExtraInfo::next, node, node_clipboard, bNodeClipboard::nodes, bNodeClipboard::nodes_extra_info, and which_libbase().
Referenced by BKE_node_clipboard_free(), and blender::ed::space_node::node_clipboard_paste_exec().
void BKE_node_instance_hash_clear | ( | bNodeInstanceHash * | hash, |
bNodeInstanceValueFP | valfreefp | ||
) |
Definition at line 3977 of file node.cc.
References BLI_ghash_clear(), and hash.
void BKE_node_instance_hash_clear_tags | ( | bNodeInstanceHash * | hash | ) |
Definition at line 3997 of file node.cc.
References BKE_node_instance_hash_iterator_get_value(), hash, NODE_INSTANCE_HASH_ITER, and bNodeInstanceHashEntry::tag.
Referenced by BKE_node_preview_remove_unused().
void BKE_node_instance_hash_free | ( | bNodeInstanceHash * | hash, |
bNodeInstanceValueFP | valfreefp | ||
) |
Definition at line 3951 of file node.cc.
References BLI_ghash_free(), hash, and MEM_freeN.
Referenced by BKE_node_preview_merge_tree(), and ntree_free_data().
int BKE_node_instance_hash_haskey | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key | ||
) |
Definition at line 3987 of file node.cc.
References BLI_ghash_haskey(), and hash.
void BKE_node_instance_hash_insert | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key, | ||
void * | value | ||
) |
Definition at line 3957 of file node.cc.
References BLI_ghash_insert(), hash, bNodeInstanceHashEntry::key, and bNodeInstanceHashEntry::tag.
Referenced by BKE_node_preview_merge_tree(), BKE_node_preview_verify(), and ntree_copy_data().
void* BKE_node_instance_hash_lookup | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key | ||
) |
Definition at line 3965 of file node.cc.
References BLI_ghash_lookup(), and hash.
Referenced by BKE_node_instance_hash_tag_key(), BKE_node_preview_verify(), blender::ed::space_node::node_draw_basis(), and ntree_exec_begin().
bNodeInstanceHash* BKE_node_instance_hash_new | ( | const char * | info | ) |
Definition at line 3943 of file node.cc.
References BLI_ghash_new(), hash, MEM_mallocN, node_instance_hash_key(), and node_instance_hash_key_cmp().
Referenced by BKE_node_preview_init_tree(), and ntree_copy_data().
void* BKE_node_instance_hash_pop | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key | ||
) |
Definition at line 3982 of file node.cc.
References BLI_ghash_popkey(), and hash.
int BKE_node_instance_hash_remove | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key, | ||
bNodeInstanceValueFP | valfreefp | ||
) |
Definition at line 3970 of file node.cc.
References BLI_ghash_remove(), and hash.
Referenced by BKE_node_instance_hash_remove_untagged(), and BKE_node_preview_merge_tree().
void BKE_node_instance_hash_remove_untagged | ( | bNodeInstanceHash * | hash, |
bNodeInstanceValueFP | valfreefp | ||
) |
Definition at line 4028 of file node.cc.
References BKE_node_instance_hash_iterator_get_key(), BKE_node_instance_hash_iterator_get_value(), BKE_node_instance_hash_remove(), BKE_node_instance_hash_size(), hash, MEM_freeN, MEM_mallocN, NODE_INSTANCE_HASH_ITER, and bNodeInstanceHashEntry::tag.
Referenced by BKE_node_preview_remove_unused().
int BKE_node_instance_hash_size | ( | bNodeInstanceHash * | hash | ) |
Definition at line 3992 of file node.cc.
References BLI_ghash_len(), and hash.
Referenced by BKE_node_instance_hash_remove_untagged().
void BKE_node_instance_hash_tag | ( | bNodeInstanceHash * | UNUSEDhash, |
void * | value | ||
) |
Definition at line 4009 of file node.cc.
References bNodeInstanceHashEntry::tag.
bool BKE_node_instance_hash_tag_key | ( | bNodeInstanceHash * | hash, |
bNodeInstanceKey | key | ||
) |
Definition at line 4015 of file node.cc.
References BKE_node_instance_hash_lookup(), hash, and bNodeInstanceHashEntry::tag.
Referenced by node_preview_tag_used_recursive().
bNodeInstanceKey BKE_node_instance_key | ( | bNodeInstanceKey | parent_key, |
const bNodeTree * | ntree, | ||
const bNode * | node | ||
) |
Definition at line 3917 of file node.cc.
References bNodeTree::id, ID::name, node, node_hash_int_str(), and ntree.
Referenced by node_preview_init_tree_recursive(), and node_preview_tag_used_recursive().
void BKE_node_preview_clear | ( | bNodePreview * | preview | ) |
Definition at line 2845 of file node.cc.
References MEM_allocN_len, and usdtokens::preview().
Referenced by BKE_node_preview_clear_tree().
Definition at line 2852 of file node.cc.
References BKE_node_instance_hash_iterator_get_value(), BKE_node_preview_clear(), NODE_INSTANCE_HASH_ITER, ntree, usdtokens::preview(), and bNodeTree::previews.
bNodePreview* BKE_node_preview_copy | ( | bNodePreview * | preview | ) |
Definition at line 2762 of file node.cc.
References MEM_dupallocN, usdtokens::preview(), and bNodePreview::rect.
Referenced by ntree_copy_data().
void BKE_node_preview_free | ( | bNodePreview * | preview | ) |
Definition at line 2771 of file node.cc.
References MEM_freeN, and usdtokens::preview().
Referenced by BKE_node_preview_merge_tree(), BKE_node_preview_remove_unused(), and ntree_free_data().
Definition at line 2801 of file node.cc.
References BKE_node_instance_hash_new(), NODE_INSTANCE_KEY_BASE, node_preview_init_tree_recursive(), ntree, and bNodeTree::previews.
Referenced by compositor_init_node_previews().
Definition at line 2865 of file node.cc.
References BKE_node_instance_hash_free(), BKE_node_instance_hash_insert(), BKE_node_instance_hash_iterator_get_key(), BKE_node_instance_hash_iterator_get_value(), BKE_node_instance_hash_remove(), BKE_node_preview_free(), BKE_node_preview_remove_unused(), NODE_INSTANCE_HASH_ITER, usdtokens::preview(), and bNodeTree::previews.
Referenced by local_merge().
Definition at line 2831 of file node.cc.
References BKE_node_instance_hash_clear_tags(), BKE_node_instance_hash_remove_untagged(), BKE_node_preview_free(), NODE_INSTANCE_KEY_BASE, node_preview_tag_used_recursive(), ntree, and bNodeTree::previews.
Referenced by BKE_node_preview_merge_tree().
Definition at line 2715 of file node.cc.
References node, and NODE_PREVIEW.
Referenced by node_preview_init_tree_recursive(), and node_preview_tag_used_recursive().
bNodePreview* BKE_node_preview_verify | ( | bNodeInstanceHash * | previews, |
bNodeInstanceKey | key, | ||
const int | xsize, | ||
const int | ysize, | ||
const bool | create | ||
) |
Definition at line 2721 of file node.cc.
References BKE_node_instance_hash_insert(), BKE_node_instance_hash_lookup(), blender::bke::idprop::create(), MEM_callocN, MEM_freeN, and usdtokens::preview().
Referenced by node_preview_init_tree_recursive(), and blender::compositor::PreviewOperation::verify_preview().
Definition at line 4957 of file node.cc.
References BLI_ghash_free(), node_free_socket_type(), node_free_type(), NODE_SOCKET_TYPES_BEGIN, NODE_SOCKET_TYPES_END, NODE_TREE_TYPES_BEGIN, NODE_TREE_TYPES_END, NODE_TYPES_BEGIN, NODE_TYPES_END, nodesockettypes_hash, nodetreetypes_hash, nodetypes_hash, ntree_free_type(), and usdtokens::st().
Referenced by BKE_blender_free(), and blender::bke::tests::Context< TestData >::~Context().
Definition at line 4930 of file node.cc.
References BLI_ghash_str_new(), nodesockettypes_hash, nodetreetypes_hash, nodetypes_hash, register_node_tree_type_cmp(), register_node_tree_type_geo(), register_node_tree_type_sh(), register_node_tree_type_tex(), register_node_type_frame(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_standard_node_socket_types(), register_undefined_types(), registerCompositNodes(), registerFunctionNodes(), registerGeometryNodes(), registerShaderNodes(), and registerTextureNodes().
Referenced by blender::bke::tests::Context< TestData >::Context(), main(), and BlendfileLoadingBaseTest::SetUpTestCase().
void BKE_node_tree_iter_init | ( | struct NodeTreeIterStore * | ntreeiter, |
struct Main * | bmain | ||
) |
Definition at line 5002 of file node.cc.
References ListBase::first, NodeTreeIterStore::light, Main::lights, NodeTreeIterStore::linestyle, Main::linestyles, NodeTreeIterStore::mat, Main::materials, NodeTreeIterStore::ngroup, Main::nodetrees, NodeTreeIterStore::scene, Main::scenes, NodeTreeIterStore::simulation, Main::simulations, NodeTreeIterStore::tex, Main::textures, NodeTreeIterStore::world, and Main::worlds.
bool BKE_node_tree_iter_step | ( | struct NodeTreeIterStore * | ntreeiter, |
bNodeTree ** | r_nodetree, | ||
struct ID ** | r_id | ||
) |
Definition at line 5013 of file node.cc.
References Light::id, FreestyleLineStyle::id, Material::id, bNodeTree::id, Scene::id, Simulation::id, Tex::id, World::id, NodeTreeIterStore::light, NodeTreeIterStore::linestyle, NodeTreeIterStore::mat, ID::next, NodeTreeIterStore::ngroup, Light::nodetree, FreestyleLineStyle::nodetree, Material::nodetree, Scene::nodetree, Simulation::nodetree, Tex::nodetree, World::nodetree, NodeTreeIterStore::scene, NodeTreeIterStore::simulation, NodeTreeIterStore::tex, and NodeTreeIterStore::world.
Definition at line 5067 of file node.cc.
References BLI_assert, CMP_NODE_R_LAYERS, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and scene.
Referenced by view_layer_remove_unset_nodetrees().
Get address of potential node-tree pointer of given ID.
ntreeFromID()
instead. Definition at line 3209 of file node.cc.
References GS, id, ID_LA, ID_LS, ID_MA, ID_SCE, ID_SIM, ID_TE, ID_WO, and ID::name.
Referenced by blender::deg::DepsgraphNodeBuilder::build_animation_images(), blender::deg::DepsgraphRelationBuilder::build_animation_images(), direct_link_id_embedded_id(), and ntreeFromID().
|
static |
Definition at line 4148 of file node.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), ELEM, get_known_node_types_set(), NODE_CUSTOM, NODE_CUSTOM_GROUP, and type.
Referenced by node_replace_undefined_types().
|
static |
Definition at line 660 of file node.cc.
References BLO_read_data_address, bNodeSocket::cache, bNodeSocket::default_attribute_name, bNodeSocket::default_value, IDP_BlendDataRead, bNodeSocket::link, bNodeSocket::prop, bNodeSocket::runtime, bNodeSocket::storage, bNodeSocket::total_inputs, and bNodeSocket::typeinfo.
Referenced by ntreeBlendReadData().
|
static |
Definition at line 941 of file node.cc.
References __SOCK_MESH, BLO_expand, bNodeSocket::default_value, IDP_BlendReadExpand(), bNodeSocket::prop, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by expand_node_sockets().
|
static |
Definition at line 989 of file node.cc.
References expand_node_socket(), and LISTBASE_FOREACH.
Referenced by ntreeBlendReadExpand().
Definition at line 3087 of file node.cc.
References ELEM, bNodeTree::id, LIB_TAG_LOCALIZED, LISTBASE_FOREACH, MEM_freeN, node, NODE_CUSTOM_GROUP, NODE_GROUP, bNodeTree::nodes, ntree, ntreeFreeTree(), and ID::tag.
Referenced by ntree_free_data().
|
static |
Definition at line 4138 of file node.cc.
References NODE_TYPES_BEGIN, NODE_TYPES_END, and result.
Referenced by can_read_node_type().
|
static |
Definition at line 2065 of file node.cc.
References callback, bNodeLink::flag, bNodeLink::fromnode, bNode::inputs, bNode::iter_flag, LISTBASE_FOREACH, NODE_LINK_VALID, ntree, and bNodeLink::tonode.
Referenced by nodeChainIterBackwards().
|
static |
Definition at line 841 of file node.cc.
References __SOCK_MESH, BLO_read_id_address, bNodeSocket::default_value, IDP_BlendReadLib(), lib, bNodeSocket::prop, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by lib_link_node_sockets().
|
static |
Definition at line 893 of file node.cc.
References lib, lib_link_node_socket(), and LISTBASE_FOREACH.
Referenced by ntreeBlendReadLib().
|
static |
Definition at line 281 of file node.cc.
References __SOCK_MESH, BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_idpropertiesForeachIDLink_callback(), data, bNodeSocket::default_value, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_USER, bNodeSocket::prop, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by node_foreach_id().
|
static |
Definition at line 1501 of file node.cc.
References BLI_strncpy(), BLI_uniquename_cb(), bNodeSocket::flag, bNodeSocket::identifier, bNodeSocket::idname, bNodeSocket::in_out, bNodeSocket::limit, MAX_NAME, bNodeSocket::name, NODE_MAXSTR, node_socket_set_typeinfo(), nodeSocketTypeFind(), ntree, bNodeSocket::runtime, SOCK_COLLAPSED, SOCK_CUSTOM, SOCK_IN, bNodeSocket::storage, bNodeSocket::type, and unique_identifier_check().
Referenced by nodeAddSocket().
|
static |
Definition at line 3300 of file node.cc.
References BLI_snprintf(), BLI_strncpy(), bNodeTree::cur_index, bNodeSocket::flag, bNodeSocket::identifier, bNodeSocketType::idname, bNodeSocket::idname, bNodeSocket::in_out, bNodeSocket::limit, MAX_NAME, bNodeSocket::name, NODE_MAXSTR, node_socket_set_typeinfo(), nodeSocketTypeFind(), ntree, bNodeSocket::runtime, SOCK_COLLAPSED, SOCK_CUSTOM, SOCK_IN, bNodeSocket::storage, and bNodeSocket::type.
Referenced by ntreeAddSocketInterface(), and ntreeInsertSocketInterface().
|
static |
Definition at line 1054 of file node.cc.
References bNodeType::declare, bNodeType::inputs, node, node_add_socket_from_template(), node_verify_sockets(), ntree, bNodeType::outputs, SOCK_IN, SOCK_OUT, and bNodeSocketTemplate::type.
Referenced by node_init().
|
static |
Definition at line 2285 of file node.cc.
References count, ELEM, bNodeTree::links, LISTBASE_FOREACH, and ntree.
Referenced by nodeAddLink().
|
static |
Definition at line 360 of file node.cc.
References BLI_ghashutil_strhash_p(), CMP_NODE_MOVIEDISTORTION, IDCacheKey::id_session_uuid, LISTBASE_FOREACH, node, bNodeTree::nodes, NTREE_COMPOSIT, IDCacheKey::offset_in_ID, bNodeTree::previews, bNodeTree::type, and user_data.
|
static |
Definition at line 329 of file node.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_ID, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_lib_query_idpropertiesForeachIDLink_callback(), data, bNodeTree::gpd, IDP_foreach_property(), IDP_TYPE_FILTER_ID, IDWALK_CB_USER, bNodeTree::inputs, library_foreach_node_socket(), LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and bNodeTree::outputs.
|
static |
Definition at line 384 of file node.cc.
References BKE_bpath_foreach_path_fixed_process(), NodeShaderScript::filepath, NodeShaderTexIES::filepath, id, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, NTREE_SHADER, SH_NODE_SCRIPT, SH_NODE_TEX_IES, and bNodeTree::type.
Definition at line 2944 of file node.cc.
References BKE_ntree_update_tag_node_removed(), BLI_freelistN(), BLI_remlink(), bNodeTree::execdata, bNodeTreeType::free_node_cache, IDP_FreePropertyContent_ex(), LISTBASE_FOREACH_MUTABLE, MEM_freeN, node, node_socket_free(), bNodeTree::nodes, ntree, NTREE_TEXTURE, ntreeTexEndExecTree(), bNodeTree::type, and bNodeTree::typeinfo.
Referenced by BKE_node_clipboard_clear(), nodeRemoveNode(), ntree_free_data(), and ntreeFreeLocalNode().
Definition at line 1408 of file node.cc.
References bNodeSocketType::free_self, G_MAIN, and update_typeinfo().
Referenced by BKE_node_system_exit(), and nodeUnregisterSocketType().
Definition at line 1340 of file node.cc.
References bNodeType::fixed_declaration, bNodeType::free_self, G_MAIN, and update_typeinfo().
Referenced by BKE_node_system_exit(), and nodeUnregisterType().
Definition at line 4058 of file node.cc.
References bNode::done, bNode::level, bNodeTree::links, LISTBASE_FOREACH, node, and ntree.
Referenced by ntreeGetDependencyList(), and ntreeUpdateNodeLevels().
|
static |
Definition at line 3903 of file node.cc.
References Freestyle::c, hash, and str.
Referenced by BKE_node_instance_key().
Definition at line 1082 of file node.cc.
References BLI_assert, BLI_strncpy(), C, DATA_, bNodeType::flag, bNodeType::height, id_us_plus(), bNodeType::initfunc, bNodeType::initfunc_api, node, bNodeTreeType::node_add_init, node_add_sockets_from_type(), NODE_INIT, NODE_MAXSTR, NODE_OPTIONS, NODE_SELECT, NodeTypeUndefined, nodeUniqueName(), ntree, ptr, RNA_pointer_create(), bNodeTree::typeinfo, bNodeType::ui_name, and bNodeType::width.
Referenced by node_set_typeinfo(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_interpolate_domain(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_points_to_volume(), register_node_type_geo_raycast(), register_node_type_geo_scale_elements(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), and register_node_type_geo_volume_to_mesh().
|
static |
Definition at line 3930 of file node.cc.
Referenced by BKE_node_instance_hash_new().
Definition at line 3935 of file node.cc.
References Freestyle::a, and usdtokens::b().
Referenced by BKE_node_instance_hash_new().
Definition at line 407 of file node.cc.
References BLI_assert_msg, ID::flag, id, LIB_EMBEDDED_DATA, Main::lights, Main::linestyles, LISTBASE_FOREACH, Main::materials, ntree, ntreeFromID(), Main::scenes, Main::simulations, Main::textures, and Main::worlds.
|
static |
Definition at line 4264 of file node.cc.
Referenced by node_type_base().
|
static |
Definition at line 4272 of file node.cc.
Referenced by node_type_base().
|
static |
Definition at line 2779 of file node.cc.
References BKE_node_instance_key(), BKE_node_preview_used(), BKE_node_preview_verify(), LISTBASE_FOREACH, node, NODE_GROUP, bNodeTree::nodes, and ntree.
Referenced by BKE_node_preview_init_tree().
|
static |
Definition at line 2814 of file node.cc.
References BKE_node_instance_hash_tag_key(), BKE_node_instance_key(), BKE_node_preview_used(), LISTBASE_FOREACH, node, NODE_GROUP, bNodeTree::nodes, and ntree.
Referenced by BKE_node_preview_remove_unused().
Definition at line 4160 of file node.cc.
References BLI_snprintf(), can_read_node_type(), node, NODE_CUSTOM, and NodeTypeUndefined.
Referenced by ntreeUpdateAllNew().
|
static |
Definition at line 1152 of file node.cc.
References C, node, node_init(), NODE_INIT, NodeTypeUndefined, ntree, bNodeType::storagename, and bNodeType::type.
Referenced by nodeAddNode(), ntreeSetTypes(), and update_typeinfo().
|
static |
Definition at line 2172 of file node.cc.
References bNodeSocket::cache, bNodeSocket::default_attribute_name, bNodeSocket::default_value, IDP_CopyProperty_ex(), LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, bNodeSocket::prop, bNodeSocket::runtime, socket_id_user_increment(), and bNodeSocket::stack_index.
Referenced by blender::bke::node_copy_with_mapping(), and ntree_copy_data().
|
static |
Definition at line 1917 of file node.cc.
References bNodeSocket::default_value, IDP_FreePropertyContent_ex(), MEM_freeN, bNodeSocket::prop, bNodeSocket::runtime, and socket_id_user_decrement().
Referenced by node_free_node(), nodeRemoveAllSockets(), and nodeRemoveSocketEx().
|
static |
Definition at line 3070 of file node.cc.
References bNodeSocket::default_value, IDP_FreeProperty_ex(), MEM_freeN, bNodeSocket::prop, bNodeSocket::runtime, and socket_id_user_decrement().
Referenced by ntree_free_data(), and ntreeRemoveSocketInterface().
|
static |
Definition at line 1181 of file node.cc.
References BKE_ntree_update_tag_socket_type(), bNodeSocket::default_value, node_socket_init_default_value(), NodeSocketTypeUndefined, ntree, bNodeSocketType::type, bNodeSocket::type, and bNodeSocket::typeinfo.
Referenced by make_socket(), make_socket_interface(), nodeModifySocketType(), ntreeSetTypes(), and update_typeinfo().
Initialize a new node type struct with default values and callbacks.
Definition at line 4277 of file node.cc.
References BLI_assert, BLI_strncpy(), bNodeType::idname, bNodeType::nclass, node_poll_default(), node_poll_instance_default(), node_type_base_defaults(), bNodeType::poll, bNodeType::poll_instance, bNodeType::type, type, and bNodeType::ui_name.
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), register_node_type_frame(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), sh_node_type_base(), and tex_node_type_base().
void node_type_base_custom | ( | bNodeType * | ntype, |
const char * | idname, | ||
const char * | name, | ||
short | nclass | ||
) |
Definition at line 4311 of file node.cc.
References BLI_strncpy(), bNodeType::idname, bNodeType::nclass, NODE_CUSTOM, node_type_base_defaults(), bNodeType::type, and bNodeType::ui_name.
Referenced by register_node_type_cmp_group(), register_node_type_geo_group(), register_node_type_sh_group(), register_node_type_tex_group(), and register_undefined_types().
Definition at line 4254 of file node.cc.
References bNodeType::height, bNodeType::maxheight, bNodeType::minheight, NODE_SIZE_DEFAULT, and node_type_size_preset().
Referenced by node_type_base(), and node_type_base_custom().
void node_type_exec | ( | struct bNodeType * | ntype, |
NodeInitExecFunction | init_exec_fn, | ||
NodeFreeExecFunction | free_exec_fn, | ||
NodeExecFunction | exec_fn | ||
) |
Definition at line 4455 of file node.cc.
References bNodeType::exec_fn, bNodeType::free_exec_fn, and bNodeType::init_exec_fn.
Referenced by register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
void node_type_gpu | ( | struct bNodeType * | ntype, |
NodeGPUExecFunction | gpu_fn | ||
) |
Definition at line 4465 of file node.cc.
References bNodeType::gpu_fn.
Referenced by register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_custom_group(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), and register_node_type_sh_wireframe().
void node_type_group_update | ( | struct bNodeType * | ntype, |
void(*)(struct bNodeTree *ntree, struct bNode *node) | group_update_func | ||
) |
Definition at line 4449 of file node.cc.
References bNodeType::group_update_func.
Referenced by register_node_type_cmp_group(), register_node_type_geo_group(), register_node_type_sh_group(), and register_node_type_tex_group().
void node_type_init | ( | struct bNodeType * | ntype, |
void(*)(struct bNodeTree *ntree, struct bNode *node) | initfunc | ||
) |
Definition at line 4390 of file node.cc.
References bNodeType::initfunc.
Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combine_color(), register_node_type_cmp_combycca(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_glare(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_separate_color(), register_node_type_cmp_sepycca(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_separate_color(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_collection_info(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_triangulate(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_bevel(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_map_range(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_principled(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
Definition at line 4396 of file node.cc.
References bNodeType::maxwidth, bNodeType::minwidth, bNodeType::width, and width.
Referenced by node_type_size_preset(), register_node_type_cmp_antialiasing(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_group(), register_node_type_cmp_huecorrect(), register_node_type_cmp_valtorgb(), register_node_type_frame(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_group(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_points_to_volume(), register_node_type_geo_remove_attribute(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_sh_bsdf_hair(), register_node_type_sh_group(), register_node_type_tex_at(), and register_node_type_tex_group().
void node_type_size_preset | ( | struct bNodeType * | ntype, |
eNodeSizePreset | size | ||
) |
Definition at line 4408 of file node.cc.
References NODE_DEFAULT_MAX_WIDTH, NODE_SIZE_DEFAULT, NODE_SIZE_LARGE, NODE_SIZE_MIDDLE, NODE_SIZE_SMALL, node_type_size(), and size().
Referenced by node_type_base_defaults(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch(), register_node_type_cmp_value(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_raycast(), register_node_type_geo_subdivision_surface(), register_node_type_sh_blackbody(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_hue_sat(), register_node_type_sh_light_falloff(), register_node_type_sh_normal_map(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_image(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_volume_principled(), register_node_type_sh_wavelength(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_hue_sat(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
void node_type_socket_templates | ( | struct bNodeType * | ntype, |
struct bNodeSocketTemplate * | inputs, | ||
struct bNodeSocketTemplate * | outputs | ||
) |
Definition at line 4358 of file node.cc.
References BLI_strncpy(), bNodeSocketTemplate::identifier, bNodeType::inputs, inputs, bNodeType::outputs, outputs, bNodeSocketTemplate::type, and unique_socket_template_identifier().
Referenced by register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch_view(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
void node_type_storage | ( | struct bNodeType * | ntype, |
const char * | storagename, | ||
void(*)(struct bNode *node) | freefunc, | ||
void(*)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node) | copyfunc | ||
) |
Definition at line 4426 of file node.cc.
References BLI_strncpy(), bNodeType::copyfunc, bNodeType::freefunc, and bNodeType::storagename.
Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combine_color(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_glare(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_separate_color(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_viewer(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_separate_color(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_collection_info(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_attribute(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_map_range(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vertex_color(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().
void node_type_update | ( | struct bNodeType * | ntype, |
void(*)(struct bNodeTree *ntree, struct bNode *node) | updatefunc | ||
) |
Definition at line 4443 of file node.cc.
References bNodeType::updatefunc.
Referenced by register_node_type_cmp_combine_color(), register_node_type_cmp_image(), register_node_type_cmp_math(), register_node_type_cmp_output_file(), register_node_type_cmp_rlayers(), register_node_type_cmp_scale(), register_node_type_cmp_separate_color(), register_node_type_cmp_switch_view(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_random_value(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_statistic(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_extrude_mesh(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_points_to_volume(), register_node_type_geo_raycast(), register_node_type_geo_string_to_curves(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_combcolor(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_sepcolor(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_white_noise(), register_node_type_sh_vect_math(), register_node_type_sh_vector_rotate(), register_node_type_tex_combine_color(), register_node_type_tex_math(), and register_node_type_tex_separate_color().
|
static |
Definition at line 4472 of file node.cc.
Referenced by register_undefined_types().
Definition at line 2933 of file node.cc.
References LISTBASE_FOREACH, node, nodeDetachNode(), bNodeTree::nodes, and ntree.
Referenced by nodeRemoveNode(), and ntreeFreeLocalNode().
bNodeLink* nodeAddLink | ( | struct bNodeTree * | ntree, |
struct bNode * | fromnode, | ||
struct bNodeSocket * | fromsock, | ||
struct bNode * | tonode, | ||
struct bNodeSocket * | tosock | ||
) |
Also used via RNA API, so we check for proper input output direction.
Definition at line 2296 of file node.cc.
References BKE_ntree_update_tag_link_added(), BLI_addtail(), BLI_assert, bNodeSocket::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::in_out, bNodeTree::links, bNodeLink::multi_input_socket_index, node_count_links(), ntree, SOCK_IN, SOCK_MULTI_INPUT, SOCK_OUT, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), blender::ed::space_node::add_reroute_node_fn(), ambient_occlusion_node_relink(), bc_node_add_link(), BKE_linestyle_default_shader(), blo_do_versions_300(), blender::nodes::LinkSearchOpParams::connect_available_socket(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_link_insert(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), blender::ed::curves::ensure_surface_deformation_node_exists(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), link_nodes(), blender::ed::space_node::viewer_linking::link_socket_to_viewer(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_clipboard_paste_exec(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_copy_branch(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_shader_to_rgba_branch(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), blender::ed::space_node::snode_autoconnect_input(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), and version_node_socket_duplicate().
Definition at line 2133 of file node.cc.
References BKE_ntree_update_tag_node_new(), BLI_addtail(), BLI_strncpy(), C, CTX_data_main(), DEG_relations_tag_update(), GEO_NODE_INPUT_SCENE_TIME, node, node_set_typeinfo(), bNodeTree::nodes, nodeTypeFind(), and ntree.
Referenced by blender::nodes::LinkSearchOpParams::add_node(), blender::ed::space_node::node_add_node(), blender::ed::space_node::node_group_make_from_selected(), and nodeAddStaticNode().
bNodeSocket* nodeAddSocket | ( | bNodeTree * | ntree, |
bNode * | node, | ||
eNodeSocketInOut | in_out, | ||
const char * | idname, | ||
const char * | identifier, | ||
const char * | name | ||
) |
Definition at line 1679 of file node.cc.
References BKE_ntree_update_tag_socket_new(), BLI_addtail(), BLI_assert, BLI_remlink(), make_socket(), node, NODE_FRAME, NODE_GROUP_INPUT, NODE_GROUP_OUTPUT, ntree, SOCK_IN, and SOCK_OUT.
Referenced by add_new_socket_from_interface(), blender::nodes::decl::IDSocketDeclaration::build(), blender::nodes::decl::Shader::build(), blender::nodes::decl::Geometry::build(), do_version_replace_float_size_with_vector(), group_verify_socket_list(), and nodeAddStaticSocket().
Definition at line 2151 of file node.cc.
References C, CLOG_ERROR, LOG, NODE_TYPES_BEGIN, NODE_TYPES_END, nodeAddNode(), ntree, and type.
Referenced by add_node(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), bc_add_node(), BKE_linestyle_default_shader(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_after_linking_260(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_node(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), and update_voronoi_node_square_distance().
bNodeSocket* nodeAddStaticSocket | ( | bNodeTree * | ntree, |
bNode * | node, | ||
eNodeSocketInOut | in_out, | ||
int | type, | ||
int | subtype, | ||
const char * | identifier, | ||
const char * | name | ||
) |
Definition at line 1897 of file node.cc.
References CLOG_ERROR, LOG, node, nodeAddSocket(), nodeStaticSocketType(), ntree, type, and bNodeSocket::type.
Referenced by blender::nodes::decl::Float::build(), blender::nodes::decl::Int::build(), blender::nodes::decl::Vector::build(), blender::nodes::decl::Bool::build(), blender::nodes::decl::Color::build(), blender::nodes::decl::String::build(), cmp_node_image_add_pass_output(), node_add_socket_from_template(), blender::nodes::node_composite_cryptomatte_cc::node_init_cryptomatte_legacy(), node_reroute_init(), ntreeCompositCryptomatteAddSocket(), ntreeCompositOutputFileAddSocket(), blender::nodes::node_composite_switchview_cc::ntreeCompositSwitchViewAddSocket(), version_geometry_nodes_set_position_node_offset(), and version_node_add_socket_if_not_exist().
Definition at line 2594 of file node.cc.
References BLI_assert, node, NODE_FRAME, nodeAttachNodeCheck(), nodeFromView(), nodeToView(), and bNode::type.
Referenced by blender::ed::space_node::add_reroute_do_socket_section(), blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::ed::space_node::node_join_attach_recursive(), and blender::ed::space_node::node_parent_set_exec().
void nodeChainIter | ( | const bNodeTree * | ntree, |
const bNode * | node_start, | ||
bool(*)(bNode *, bNode *, void *, const bool) | callback, | ||
void * | userdata, | ||
bool | reversed | ||
) |
Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).
reversed | for backwards iteration |
Definition at line 2039 of file node.cc.
References callback, bNodeTree::links, LISTBASE_FOREACH, NODE_LINK_VALID, nodeChainIter(), and ntree.
Referenced by blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), and nodeChainIter().
void nodeChainIterBackwards | ( | const bNodeTree * | ntree, |
const bNode * | node_start, | ||
bool(*)(bNode *, bNode *, void *) | callback, | ||
void * | userdata, | ||
int | recursion_lvl | ||
) |
Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).
Faster than nodeChainIter. Iter only once per node. Can be called recursively (using another nodeChainIterBackwards) by setting the recursion_lvl accordingly.
Definition at line 2093 of file node.cc.
References BLI_assert, callback, iter_backwards_ex(), LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.
Referenced by ntree_shader_copy_branch(), ntree_shader_pruned_unused(), ntree_shader_shader_to_rgba_branch(), and ntree_shader_weight_tree_invert().
Definition at line 3633 of file node.cc.
References LISTBASE_FOREACH, node, NODE_ACTIVE, bNodeTree::nodes, and ntree.
int nodeCountSocketLinks | ( | const bNodeTree * | ntree, |
const bNodeSocket * | sock | ||
) |
Definition at line 3590 of file node.cc.
References bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, ntree, and bNodeLink::tosock.
If the node implements a declare
function, this function makes sure that node->declaration
is up to date. It is expected that the sockets of the node are up to date already.
Definition at line 3731 of file node.cc.
References node, nodeDeclarationEnsureOnOutdatedNode(), nodeSocketDeclarationsUpdate(), and ntree.
Referenced by blender::nodes::NodeRef::declaration(), blender::ed::space_node::get_main_socket(), and blender::bke::node_copy_with_mapping().
Definition at line 3710 of file node.cc.
References BLI_assert, and node.
Referenced by nodeDeclarationEnsure().
Definition at line 2607 of file node.cc.
References BLI_assert, node, NODE_FRAME, and nodeToView().
Referenced by blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_detach_recursive(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_join_attach_recursive(), blender::ed::space_node::node_parent_set_exec(), and node_unlink_attached().
bNodeLink* nodeFindLink | ( | bNodeTree * | ntree, |
const bNodeSocket * | from, | ||
const bNodeSocket * | to | ||
) |
Definition at line 3577 of file node.cc.
References from, bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, ntree, and bNodeLink::tosock.
bool nodeFindNode | ( | struct bNodeTree * | ntree, |
struct bNodeSocket * | sock, | ||
struct bNode ** | r_node, | ||
int * | r_sockindex | ||
) |
Finds a node based on given socket and returns true on success.
Definition at line 1997 of file node.cc.
References bNodeSocket::in_out, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and SOCK_IN.
Referenced by UI_context_copy_to_selected_list().
Finds a node based on its name.
Definition at line 1992 of file node.cc.
References BLI_findstring(), bNodeTree::nodes, and ntree.
Referenced by blender::ed::space_node::attribute_search_exec_fn(), ED_spreadsheet_context_path_exists(), ED_spreadsheet_context_path_is_active(), blender::ed::space_node::get_attribute_info_from_context(), local_merge(), and skip_fcurve_selected_data().
Definition at line 2020 of file node.cc.
References node, NODE_FRAME, and nodeFindRootParent().
Referenced by blender::ed::space_node::node_link_insert_offset_chain_cb(), blender::ed::space_node::node_link_insert_offset_ntree(), and nodeFindRootParent().
struct bNodeSocket* nodeFindSocket | ( | const bNode * | node, |
eNodeSocketInOut | in_out, | ||
const char * | identifier | ||
) |
Definition at line 1449 of file node.cc.
References bNodeSocket::identifier, bNodeSocket::in_out, LISTBASE_FOREACH, node, SOCK_IN, and STREQ.
Definition at line 3601 of file node.cc.
References LISTBASE_FOREACH, node, NODE_ACTIVE, bNodeTree::nodes, and ntree.
Referenced by blender::ed::space_node::node_active_link_viewer_exec(), blender::ed::space_node::node_context(), blender::ed::space_node::node_copy_color_exec(), blender::ed::space_node::node_cryptomatte_add_socket_exec(), blender::ed::space_node::node_cryptomatte_remove_socket_exec(), blender::ed::space_node::node_group_get_active(), blender::ed::space_node::node_output_file_add_socket_exec(), blender::ed::space_node::node_output_file_move_active_socket_exec(), blender::ed::space_node::node_output_file_remove_active_socket_exec(), blender::ed::space_node::node_parent_set_exec(), blender::ed::space_node::node_resize_exit(), blender::ed::space_node::node_resize_invoke(), blender::ed::space_node::node_resize_modal(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_same_type_step_exec(), blender::ed::space_node::node_shader_script_update_exec(), blender::ed::space_node::node_shader_script_update_poll(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_poll(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_refresh(), blender::ed::space_node::WIDGETGROUP_node_crop_poll(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_sbeam_poll(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), and blender::ed::space_node::WIDGETGROUP_node_transform_poll().
Definition at line 2490 of file node.cc.
References adjust_multi_input_indices_after_removed_link(), BKE_ntree_update_tag_link_changed(), bNodeSocket::flag, bNodeLink::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, node, NODE_LINK_MUTED, NODE_LINK_VALID, nodeRemLink(), ntree, and SOCK_MULTI_INPUT.
Referenced by blender::ed::space_node::detach_links_exec(), localize(), and blender::ed::space_node::node_delete_reconnect_exec().
Definition at line 2028 of file node.cc.
References nodeIsChildOf(), and bNode::parent.
Referenced by blender::ed::space_node::node_link_insert_offset_chain_cb(), blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), blender::ed::space_node::node_parent_offset_apply(), and nodeIsChildOf().
bool nodeIsStaticSocketType | ( | const struct bNodeSocketType * | stype | ) |
Definition at line 1701 of file node.cc.
References bNodeSocketType::ext_socket, RNA_struct_is_a(), and ExtensionRNA::srna.
Referenced by composite_node_tree_socket_type_valid(), geometry_node_tree_socket_type_valid(), shader_node_tree_socket_type_valid(), and texture_node_tree_socket_type_valid().
Definition at line 4227 of file node.cc.
References BLI_strncpy(), BLT_I18NCONTEXT_ID_NODETREE, CTX_IFACE_, IFACE_, label, node, and ntree.
Definition at line 2464 of file node.cc.
References bNodeLink::fromsock, nodeSocketIsHidden(), and bNodeLink::tosock.
Definition at line 2469 of file node.cc.
References bNode::flag, bNodeLink::fromnode, NODE_SELECT, and bNodeLink::tonode.
void nodeModifySocketType | ( | bNodeTree * | ntree, |
bNode * | UNUSEDnode, | ||
bNodeSocket * | sock, | ||
const char * | idname | ||
) |
Definition at line 1644 of file node.cc.
References BLI_strncpy(), CLOG_ERROR, bNodeSocket::default_value, bNodeSocket::idname, LOG, MEM_freeN, node_socket_set_typeinfo(), nodeSocketTypeFind(), ntree, and socket_id_user_decrement().
Referenced by nodeModifySocketTypeStatic().
void nodeModifySocketTypeStatic | ( | bNodeTree * | ntree, |
bNode * | node, | ||
bNodeSocket * | sock, | ||
int | type, | ||
int | subtype | ||
) |
Definition at line 1666 of file node.cc.
References CLOG_ERROR, LOG, node, nodeModifySocketType(), nodeStaticSocketType(), ntree, and type.
Referenced by verify_socket_template().
|
static |
Definition at line 2356 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH, NODE_LINK_MUTED, and ntree.
Referenced by nodeMuteRerouteInputLinks().
Definition at line 2371 of file node.cc.
References bNodeSocket::flag, bNodeLink::flag, NODE_LINK_MUTED, NODE_LINK_TEST, SOCK_IN_USE, SOCK_MULTI_INPUT, and bNodeLink::tosock.
Referenced by nodeMuteLinkToggle(), nodeMuteRerouteInputLinks(), and nodeMuteRerouteOutputLinks().
Definition at line 2432 of file node.cc.
References BKE_ntree_update_tag_link_mute(), bNodeLink::flag, bNodeLink::fromnode, NODE_LINK_MUTED, NODE_REROUTE, nodeMuteLink(), nodeMuteRerouteInputLinks(), nodeMuteRerouteOutputLinks(), nodeUnMuteLink(), ntree, bNodeLink::tonode, bNodeLink::tosock, and bNode::type.
Referenced by blender::ed::space_node::mute_links_exec().
Definition at line 2388 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH, node, NODE_LINK_VALID, NODE_REROUTE, nodeMuteFromSocketLinks(), nodeMuteLink(), nodeUnMuteLink(), and ntree.
Referenced by nodeMuteLinkToggle().
|
static |
Definition at line 2411 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH, node, NODE_LINK_VALID, NODE_REROUTE, nodeMuteLink(), nodeUnMuteLink(), and ntree.
Referenced by nodeMuteLinkToggle().
Iterate over all parents of node, executing callback for each parent (which can return false to end iterator)
Definition at line 2115 of file node.cc.
References callback, node, and nodeParentsIter().
Referenced by blender::ed::space_node::node_link_insert_offset_ntree(), and nodeParentsIter().
Definition at line 2663 of file node.cc.
References bNodeLink::fromnode, bNodeLink::fromsock, LISTBASE_FOREACH, node, nodePositionPropagate(), nodePositionRelative(), bNodeLink::tonode, and bNodeLink::tosock.
Referenced by nodePositionPropagate(), and proj_paint_add_slot().
void nodePositionRelative | ( | bNode * | from_node, |
bNode * | to_node, | ||
bNodeSocket * | from_sock, | ||
bNodeSocket * | to_sock | ||
) |
Definition at line 2621 of file node.cc.
References BLI_assert, BLI_findindex(), BLI_listbase_count(), bNodeSocket::in_out, bNode::inputs, bNode::locx, bNode::locy, bNode::outputs, SOCK_IN, bNode::typeinfo, and bNodeType::width.
Referenced by blender::ed::space_node::node_socket_add_replace(), nodePositionPropagate(), and proj_paint_add_slot().
void nodeRegisterSocketType | ( | bNodeSocketType * | st | ) |
Definition at line 1419 of file node.cc.
References BLI_ghash_insert(), G_MAIN, nodesockettypes_hash, usdtokens::st(), and update_typeinfo().
Referenced by register_standard_node_socket_types().
Definition at line 1357 of file node.cc.
References BLI_assert, BLI_ghash_insert(), bNodeType::declaration_is_dynamic, bNodeType::declare, bNodeType::fixed_declaration, G_MAIN, bNodeType::idname, nodetypes_hash, bNodeType::poll, and update_typeinfo().
Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_special_characters(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_replace_string(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_fn_slice_string(), register_node_type_fn_string_length(), register_node_type_fn_value_to_string(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_convex_hull(), register_node_type_geo_curve_endpoint_selection(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_length(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadratic_bezier(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_primitive_spiral(), register_node_type_geo_curve_primitive_star(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_reverse(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_parameter(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_subdivide(), register_node_type_geo_curve_to_mesh(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_delete_geometry(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_dual_mesh(), register_node_type_geo_duplicate_elements(), register_node_type_geo_edge_paths_to_curves(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_edge_split(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_flip_faces(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_group(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_curve_tilt(), register_node_type_geo_input_id(), register_node_type_geo_input_index(), register_node_type_geo_input_instance_rotation(), register_node_type_geo_input_instance_scale(), register_node_type_geo_input_material(), register_node_type_geo_input_material_index(), register_node_type_geo_input_mesh_edge_angle(), register_node_type_geo_input_mesh_edge_neighbors(), register_node_type_geo_input_mesh_edge_vertices(), register_node_type_geo_input_mesh_face_area(), register_node_type_geo_input_mesh_face_is_planar(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_input_mesh_island(), register_node_type_geo_input_mesh_vertex_neighbors(), register_node_type_geo_input_named_attribute(), register_node_type_geo_input_normal(), register_node_type_geo_input_position(), register_node_type_geo_input_radius(), register_node_type_geo_input_scene_time(), register_node_type_geo_input_shade_smooth(), register_node_type_geo_input_shortest_edge_paths(), register_node_type_geo_input_spline_cyclic(), register_node_type_geo_input_spline_length(), register_node_type_geo_input_spline_resolution(), register_node_type_geo_input_tangent(), register_node_type_geo_instance_on_points(), register_node_type_geo_instances_to_points(), register_node_type_geo_interpolate_domain(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), register_node_type_geo_material_replace(), register_node_type_geo_material_selection(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cube(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_grid(), register_node_type_geo_mesh_primitive_ico_sphere(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_primitive_uv_sphere(), register_node_type_geo_mesh_subdivide(), register_node_type_geo_mesh_to_curve(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points(), register_node_type_geo_points_to_vertices(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_realize_instances(), register_node_type_geo_remove_attribute(), register_node_type_geo_rotate_instances(), register_node_type_geo_scale_elements(), register_node_type_geo_scale_instances(), register_node_type_geo_separate_components(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_set_curve_radius(), register_node_type_geo_set_curve_tilt(), register_node_type_geo_set_id(), register_node_type_geo_set_material(), register_node_type_geo_set_material_index(), register_node_type_geo_set_point_radius(), register_node_type_geo_set_position(), register_node_type_geo_set_shade_smooth(), register_node_type_geo_set_spline_cyclic(), register_node_type_geo_set_spline_resolution(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_join(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_transform(), register_node_type_geo_translate_instances(), register_node_type_geo_triangulate(), register_node_type_geo_uv_pack_islands(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_cube(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_sh_wireframe(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
Definition at line 2338 of file node.cc.
References BKE_ntree_update_tag_link_removed(), BLI_remlink(), bNodeSocket::link, bNodeTree::links, MEM_freeN, ntree, and bNodeLink::tosock.
Referenced by ambient_occlusion_node_relink(), BKE_node_clipboard_clear(), blender::ed::space_node::cut_links_exec(), displacement_node_insert(), do_versions_after_linking_260(), do_versions_material_convert_legacy_blend_mode(), ED_node_link_insert(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), node_insert_link_default(), blender::ed::space_node::node_link_exit(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_extra_links(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_socket_disconnect(), nodeInternalRelink(), nodeRemoveAllSockets(), nodeRemoveSocketEx(), nodeRemSocketLinks(), nodeUnlinkNode(), ntree_shader_groups_remove_muted_links(), ntree_shader_implicit_closure_cast(), ntree_shader_shader_to_rgba_branch(), ntree_shader_unlink_hidden_value_sockets(), ntree_weight_tree_merge_weight(), blender::ed::space_node::pick_link(), blender::ed::space_node::viewer_linking::remove_links_to_unavailable_viewer_sockets(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), and update_voronoi_node_square_distance().
Definition at line 1967 of file node.cc.
References BKE_ntree_update_tag_socket_removed(), BLI_freelistN(), BLI_listbase_clear(), bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN, node, node_socket_free(), nodeRemLink(), and ntree.
Referenced by blender::nodes::node_composite_switchview_cc::cmp_node_switch_view_update(), and node_group_update().
void nodeRemoveNode | ( | struct Main * | bmain, |
struct bNodeTree * | ntree, | ||
struct bNode * | node, | ||
bool | do_id_user | ||
) |
Delete node, associated animation data and ID user count.
Definition at line 3011 of file node.cc.
References BKE_animdata_fix_paths_remove(), BLI_assert, BLI_snprintf(), BLI_str_escape(), DEG_relations_tag_update(), GEO_NODE_INPUT_SCENE_TIME, bNodeTree::id, id_us_min(), LIB_TAG_LOCALIZED, LISTBASE_FOREACH, MAX_IDPROP_NAME, node, node_free_node(), node_unlink_attached(), nodeUnlinkNode(), ntree, ptr, RNA_pointer_create(), socket_id_user_decrement(), and ID::tag.
Referenced by blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_delete_reconnect_exec(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_remove_linked(), and special_aftertrans_update__node().
void nodeRemoveSocket | ( | bNodeTree * | ntree, |
bNode * | node, | ||
bNodeSocket * | sock | ||
) |
Definition at line 1933 of file node.cc.
References node, nodeRemoveSocketEx(), and ntree.
Referenced by cmp_node_image_add_pass_output(), cmp_node_image_verify_outputs(), blender::nodes::node_composite_switchview_cc::cmp_node_switch_view_update(), do_version_replace_float_size_with_vector(), do_versions_nodetree_multi_file_output_format_2_62_1(), group_verify_socket_list(), ntreeCompositCryptomatteRemoveSocket(), ntreeCompositOutputFileRemoveActiveSocket(), blender::nodes::node_composite_output_file_cc::update_output_file(), verify_socket_template_list(), version_geometry_nodes_set_position_node_offset(), and version_node_join_geometry_for_multi_input_socket().
void nodeRemoveSocketEx | ( | struct bNodeTree * | ntree, |
struct bNode * | node, | ||
struct bNodeSocket * | sock, | ||
bool | do_id_user | ||
) |
Definition at line 1938 of file node.cc.
References BKE_ntree_update_tag_node_internal_link(), BKE_ntree_update_tag_socket_removed(), BLI_remlink(), bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN, node, node_socket_free(), nodeRemLink(), and ntree.
Referenced by nodeRemoveSocket(), and refresh_socket_list().
void nodeRemSocketLinks | ( | bNodeTree * | ntree, |
bNodeSocket * | sock | ||
) |
Definition at line 2455 of file node.cc.
References bNodeTree::links, LISTBASE_FOREACH_MUTABLE, nodeRemLink(), and ntree.
Referenced by Freestyle::BlenderStrokeRenderer::GetStrokeShader(), and blender::ed::space_node::snode_autoconnect_input().
Two active flags, ID nodes have special flag for buttons display.
Definition at line 3644 of file node.cc.
References LISTBASE_FOREACH, node, NODE_ACTIVE, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, bNodeTree::nodes, nodeSupportsActiveFlag(), ntree, and SET_FLAG_FROM_TEST.
Referenced by BKE_linestyle_default_shader(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), ED_node_composit_default(), ED_node_set_active(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::usd::USDMaterialReader::import_usd_preview(), blender::ed::space_node::link_drag_search_exec_fn(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::space_node::node_group_insert_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_socket_add_replace(), proj_paint_add_slot(), and blender::io::obj::ShaderNodetreeWrap::ShaderNodetreeWrap().
Definition at line 3615 of file node.cc.
References LISTBASE_FOREACH, node, NODE_SELECT, and select().
Referenced by add_realize_node_tree(), blender::ed::space_node::do_lasso_select_node(), blender::ed::space_node::link_drag_search_exec_fn(), blender::ed::space_node::node_add_node(), blender::ed::space_node::node_box_select_exec(), blender::ed::space_node::node_circleselect_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_deselect_all(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_select_all(), blender::ed::space_node::node_select_grouped_color(), blender::ed::space_node::node_select_grouped_exec(), blender::ed::space_node::node_select_grouped_name(), blender::ed::space_node::node_select_grouped_type(), blender::ed::space_node::node_select_linked_from_exec(), blender::ed::space_node::node_select_linked_to_exec(), blender::ed::space_node::node_select_single(), and template_texture_select().
void nodeSetSocketAvailability | ( | bNodeTree * | ntree, |
bNodeSocket * | sock, | ||
bool | is_available | ||
) |
Definition at line 3664 of file node.cc.
References BKE_ntree_update_tag_socket_availability(), bNodeSocket::flag, ntree, and SOCK_UNAVAIL.
Referenced by cmp_node_image_verify_outputs(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_update(), blender::nodes::node_fn_rotate_euler_cc::fn_node_rotate_euler_update(), blender::nodes::node_fn_boolean_math_cc::node_boolean_math_update(), blender::nodes::node_fn_compare_cc::node_compare_update(), blender::nodes::node_composite_scale_cc::node_composite_update_scale(), node_math_update(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_point_distribute_points_on_faces_update(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_shader_update_hair_principled(), blender::nodes::node_shader_map_range_cc::node_shader_update_map_range(), blender::nodes::node_shader_mapping_cc::node_shader_update_mapping(), blender::nodes::node_shader_bsdf_principled_cc::node_shader_update_principled(), blender::nodes::node_shader_tex_sky_cc::node_shader_update_sky(), blender::nodes::node_shader_subsurface_scattering_cc::node_shader_update_subsurface_scattering(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_update_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_update_tex_noise(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_update_tex_voronoi(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_update_tex_white_noise(), blender::nodes::node_shader_vector_math_cc::node_shader_update_vector_math(), blender::nodes::node_shader_vector_rotate_cc::node_shader_update_vector_rotate(), blender::nodes::node_geo_accumulate_field_cc::node_update(), blender::nodes::node_geo_attribute_capture_cc::node_update(), blender::nodes::node_geo_attribute_domain_size_cc::node_update(), blender::nodes::node_geo_attribute_statistic_cc::node_update(), blender::nodes::node_geo_boolean_cc::node_update(), blender::nodes::node_geo_curve_fillet_cc::node_update(), blender::nodes::node_geo_curve_primitive_arc_cc::node_update(), blender::nodes::node_geo_curve_primitive_circle_cc::node_update(), blender::nodes::node_geo_curve_primitive_line_cc::node_update(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_update(), blender::nodes::node_geo_curve_resample_cc::node_update(), blender::nodes::node_geo_curve_sample_cc::node_update(), blender::nodes::node_geo_curve_to_points_cc::node_update(), blender::nodes::node_geo_curve_trim_cc::node_update(), blender::nodes::node_geo_extrude_mesh_cc::node_update(), blender::nodes::node_geo_field_at_index_cc::node_update(), blender::nodes::node_geo_input_named_attribute_cc::node_update(), blender::nodes::node_geo_interpolate_domain_cc::node_update(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_update(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_update(), blender::nodes::node_geo_mesh_primitive_line_cc::node_update(), blender::nodes::node_geo_mesh_to_volume_cc::node_update(), blender::nodes::node_geo_points_to_volume_cc::node_update(), blender::nodes::node_geo_raycast_cc::node_update(), blender::nodes::node_geo_scale_elements_cc::node_update(), blender::nodes::node_geo_store_named_attribute_cc::node_update(), blender::nodes::node_geo_string_to_curves_cc::node_update(), blender::nodes::node_geo_switch_cc::node_update(), blender::nodes::node_geo_transfer_attribute_cc::node_update(), blender::nodes::node_geo_viewer_cc::node_update(), and blender::nodes::node_geo_volume_to_mesh_cc::node_update().
Update socket->declaration
for all sockets in the node. This assumes that the node declaration and sockets are up to date already.
Definition at line 3703 of file node.cc.
References BLI_assert, node, and update_socket_declarations().
Referenced by node_verify_sockets(), and nodeDeclarationEnsure().
int nodeSocketIsHidden | ( | const bNodeSocket * | sock | ) |
Definition at line 3659 of file node.cc.
References bNodeSocket::flag, SOCK_HIDDEN, and SOCK_UNAVAIL.
Referenced by nodeLinkIsHidden().
bool nodeSocketIsRegistered | ( | bNodeSocket * | sock | ) |
Definition at line 1433 of file node.cc.
References NodeSocketTypeUndefined, and bNodeSocket::typeinfo.
const char* nodeSocketLabel | ( | const bNodeSocket * | sock | ) |
Definition at line 4249 of file node.cc.
References bNodeSocket::label, and bNodeSocket::name.
int nodeSocketLinkLimit | ( | const bNodeSocket * | sock | ) |
Definition at line 3679 of file node.cc.
References bNodeSocket::flag, bNodeSocket::in_out, bNodeSocketType::input_link_limit, bNodeSocket::limit, bNodeSocketType::output_link_limit, SOCK_IN, SOCK_MULTI_INPUT, bNodeSocket::typeinfo, and bNodeSocketType::use_link_limits_of_type.
bNodeSocketType* nodeSocketTypeFind | ( | const char * | idname | ) |
Definition at line 1395 of file node.cc.
References BLI_ghash_lookup(), nodesockettypes_hash, and usdtokens::st().
Referenced by make_socket(), make_socket_interface(), blender::nodes::decl::modify_subtype_except_for_storage(), nodeModifySocketType(), and ntreeSetTypes().
GHashIterator* nodeSocketTypeGetIterator | ( | void | ) |
Definition at line 1438 of file node.cc.
References BLI_ghashIterator_new(), and nodesockettypes_hash.
const char* nodeSocketTypeLabel | ( | const bNodeSocketType * | stype | ) |
Definition at line 1443 of file node.cc.
References bNodeSocketType::ext_socket, bNodeSocketType::label, RNA_struct_ui_name(), and ExtensionRNA::srna.
const char* nodeStaticSocketInterfaceType | ( | int | type, |
int | subtype | ||
) |
Definition at line 1787 of file node.cc.
References 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, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and type.
Referenced by make_standard_socket_type().
const char* nodeStaticSocketLabel | ( | int | type, |
int | UNUSEDsubtype | ||
) |
Definition at line 1864 of file node.cc.
References SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and type.
const char* nodeStaticSocketType | ( | int | type, |
int | subtype | ||
) |
Definition at line 1710 of file node.cc.
References 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, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and type.
Referenced by do_version_replace_float_size_with_vector(), make_standard_socket_type(), blender::nodes::decl::modify_subtype_except_for_storage(), node_socket_get_static_idname(), nodeAddStaticSocket(), and nodeModifySocketTypeStatic().
Definition at line 2559 of file node.cc.
Referenced by nodeAttachNode(), and nodeDetachNode().
bNodeType* nodeTypeFind | ( | const char * | idname | ) |
Definition at line 1327 of file node.cc.
References BLI_ghash_lookup(), and nodetypes_hash.
Referenced by nodeAddNode(), blender::nodes::NodeTreeRef::nodes_by_type(), ntreeSetTypes(), and pyrna_struct_bl_rna_get_subclass().
GHashIterator* nodeTypeGetIterator | ( | void | ) |
Definition at line 1390 of file node.cc.
References BLI_ghashIterator_new(), and nodetypes_hash.
Definition at line 1383 of file node.cc.
References ELEM, ID_IS_LINKED, LIB_TAG_MISSING, node, NODE_CUSTOM_GROUP, NODE_GROUP, and NodeTypeUndefined.
Find the first available, non-duplicate name for a given node.
Definition at line 2127 of file node.cc.
References BLI_uniquename(), DATA_, node, bNodeTree::nodes, and ntree.
Referenced by blo_do_versions_250(), blo_do_versions_260(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), and node_init().
Definition at line 2903 of file node.cc.
References adjust_multi_input_indices_after_removed_link(), bNodeTree::links, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, node, nodeRemLink(), ntree, and SOCK_MULTI_INPUT.
Referenced by nodeRemoveNode(), and ntreeFreeLocalNode().
Definition at line 2380 of file node.cc.
References bNodeSocket::flag, bNodeLink::flag, NODE_LINK_MUTED, NODE_LINK_TEST, SOCK_IN_USE, and bNodeLink::tosock.
Referenced by nodeMuteLinkToggle(), nodeMuteRerouteInputLinks(), and nodeMuteRerouteOutputLinks().
void nodeUnregisterSocketType | ( | bNodeSocketType * | st | ) |
Definition at line 1428 of file node.cc.
References BLI_ghash_remove(), node_free_socket_type(), nodesockettypes_hash, and usdtokens::st().
Definition at line 1378 of file node.cc.
References BLI_ghash_remove(), bNodeType::idname, node_free_type(), and nodetypes_hash.
|
static |
Definition at line 835 of file node.cc.
References ntree, and ntreeBlendReadData().
|
static |
Definition at line 1018 of file node.cc.
References ntree, and ntreeBlendReadExpand().
|
static |
Definition at line 935 of file node.cc.
References ntree, and ntreeBlendReadLib().
|
static |
Definition at line 644 of file node.cc.
References BLO_write_id_struct, bNodeTree::execdata, bNodeTree::id, bNodeTree::interface_type, bNodeTree::is_updating, ntree, ntreeBlendWrite(), bNodeTree::progress, and bNodeTree::typeinfo.
|
static |
Definition at line 134 of file node.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BKE_node_instance_hash_insert(), BKE_node_instance_hash_iterator_get_key(), BKE_node_instance_hash_iterator_get_value(), BKE_node_instance_hash_new(), BKE_node_preview_copy(), BKE_previewimg_id_copy(), BLI_addtail(), BLI_assert, BLI_listbase_clear(), bNodeTree::execdata, bNodeLink::fromnode, bNodeLink::fromsock, bNodeTree::id, bNodeTree::inputs, bNodeTree::interface_type, LIB_ID_COPY_NO_PREVIEW, LIB_ID_CREATE_NO_USER_REFCOUNT, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), MEM_dupallocN, blender::bke::node_copy_with_mapping(), NODE_INSTANCE_HASH_ITER, node_socket_copy(), bNodeTree::nodes, bNodeTree::outputs, usdtokens::preview(), bNodeTree::preview, bNodeTree::previews, bNodeTree::runtime, bNodeLink::tonode, and bNodeLink::tosock.
Definition at line 226 of file node.cc.
References BKE_libblock_free_data(), BKE_node_instance_hash_free(), BKE_node_preview_free(), BKE_previewimg_free(), BLI_freelistN(), bNodeTree::execdata, free_localized_node_groups(), bNodeTree::id, bNodeTree::inputs, LIB_TAG_LOCALIZED, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_freeN, node, node_free_node(), node_socket_interface_free(), bNodeTree::nodes, ntree, NTREE_SHADER, NTREE_TEXTURE, ntreeInterfaceTypeFree(), ntreeShaderEndExecTree(), ntreeTexEndExecTree(), bNodeTree::outputs, bNodeTree::preview, bNodeTree::previews, bNodeTree::runtime, ID::tag, and bNodeTree::type.
Referenced by ntreeFreeTree().
Definition at line 1302 of file node.cc.
References G_MAIN, MEM_freeN, and update_typeinfo().
Referenced by BKE_node_system_exit(), and ntreeTypeFreeLink().
Definition at line 127 of file node.cc.
References ntree, ntree_set_typeinfo(), and bNodeTree::runtime.
|
static |
Definition at line 3442 of file node.cc.
References BLI_uniquename_cb(), bNodeSocket::description, bNodeTree::id, bNodeSocket::identifier, bNodeSocket::name, ID::name, ntree, and ntree_interface_unique_identifier_check().
Referenced by ntree_interface_type_create(), and ntreeInterfaceTypeGet().
Definition at line 3428 of file node.cc.
References bNodeTree::id, ID::name, ntree, and RNA_identifier_sanitize().
Referenced by ntree_interface_type_create(), and ntreeInterfaceTypeGet().
Definition at line 3461 of file node.cc.
References BLENDER_RNA, bNodeSocket::description, bNodeSocket::identifier, bNodeTree::inputs, bNodeSocketType::interface_register_properties, bNodeTree::interface_type, LISTBASE_FOREACH, MAX_ID_NAME, bNodeSocket::name, ntree, ntree_interface_identifier(), ntree_interface_identifier_base(), bNodeTree::outputs, RNA_def_struct_duplicate_pointers(), RNA_def_struct_ptr(), RNA_def_struct_ui_text(), RNA_PropertyGroup, and RNA_struct_blender_type_set().
Referenced by ntreeInterfaceTypeGet(), and ntreeInterfaceTypeUpdate().
|
static |
Definition at line 3436 of file node.cc.
References bNodeSocket::identifier, and RNA_struct_find().
Referenced by ntree_interface_identifier().
|
static |
Definition at line 1138 of file node.cc.
References BKE_ntree_update_tag_all(), NodeTreeTypeUndefined, ntree, bNodeTreeType::type, bNodeTree::type, and bNodeTree::typeinfo.
Referenced by ntree_init_data(), ntreeAddTree(), ntreeSetTypes(), and update_typeinfo().
bNodeSocket* ntreeAddSocketInterface | ( | bNodeTree * | ntree, |
eNodeSocketInOut | in_out, | ||
const char * | idname, | ||
const char * | name | ||
) |
Definition at line 3349 of file node.cc.
References BKE_ntree_update_tag_interface(), BLI_addtail(), bNodeTree::inputs, make_socket_interface(), ntree, bNodeTree::outputs, SOCK_IN, and SOCK_OUT.
Referenced by add_realize_node_tree(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::ed::space_node::ntree_socket_add_exec(), and ntreeAddSocketInterfaceFromSocket().
struct bNodeSocket* ntreeAddSocketInterfaceFromSocket | ( | bNodeTree * | ntree, |
bNode * | from_node, | ||
bNodeSocket * | from_sock | ||
) |
Definition at line 3382 of file node.cc.
References bNodeSocket::idname, bNodeSocket::in_out, bNodeSocketType::interface_from_socket, bNodeSocket::name, ntree, ntreeAddSocketInterface(), and bNodeSocket::typeinfo.
Referenced by blender::ed::space_node::add_group_input_node_fn(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), and node_group_output_update().
Definition at line 2674 of file node.cc.
References BKE_libblock_alloc(), BKE_libblock_init_empty(), BLI_strncpy(), ID::flag, bNodeTree::id, ID_NT, bNodeTree::idname, LIB_EMBEDDED_DATA, LIB_ID_CREATE_NO_MAIN, ntree, ntree_set_typeinfo(), and ntreeTypeFind().
Referenced by add_realize_node_tree(), BKE_linestyle_default_shader(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::io::usd::USDMaterialReader::import_usd_preview(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::new_node_tree_exec(), blender::ed::space_node::node_group_make_from_selected(), blender::ed::space_node::node_group_make_test_selected(), prepare_material_nodetree(), blender::io::obj::ShaderNodetreeWrap::ShaderNodetreeWrap(), and simulation_init_data().
void ntreeBlendReadData | ( | struct BlendDataReader * | reader, |
struct bNodeTree * | ntree | ||
) |
ntree
itself has been read! Definition at line 675 of file node.cc.
References bNodeTree::adt, BKE_animdata_blend_read_data(), BKE_curvemapping_blend_read(), BKE_image_format_blend_read_data(), BKE_ntree_update_tag_missing_runtime_data(), BKE_previewimg_blend_read(), BLI_listbase_clear(), BLO_read_data_address, BLO_read_list(), NodeShaderScript::bytecode, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_MOVIEDISTORTION, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_SPLITVIEWER, CMP_NODE_TIME, CMP_NODE_VIEWER, direct_link_node_socket(), NodeCryptomatte::entries, bNodeTree::execdata, FN_NODE_INPUT_STRING, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, IDP_BlendDataRead, bNodeTree::inputs, bNodeTree::interface_type, bNodeTree::is_updating, Tex::iuser, NodeCryptomatte_Runtime::layers, bNodeTree::links, LISTBASE_FOREACH, NodeCryptomatte::matte_id, node, bNodeTree::nodes, ntree, bNodeTree::outputs, NodeShaderTexPointDensity::pd, bNodeTree::preview, bNodeTree::previews, bNodeTree::progress, bNodeTree::runtime, NodeCryptomatte::runtime, ImageUser::scene, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, SH_NODE_TEX_POINTDENSITY, NodeInputString::string, tex, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, TEX_NODE_IMAGE, and bNodeTree::typeinfo.
Referenced by direct_link_id_embedded_id(), and ntree_blend_read_data().
void ntreeBlendReadExpand | ( | BlendExpander * | expander, |
bNodeTree * | ntree | ||
) |
Definition at line 996 of file node.cc.
References BLO_expand, CMP_CRYPTOMATTE_SRC_RENDER, CMP_NODE_CRYPTOMATTE, CMP_NODE_R_LAYERS, expand_node_sockets(), bNodeTree::gpd, IDP_BlendReadExpand(), bNodeTree::inputs, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and bNodeTree::outputs.
Referenced by expand_id_embedded_id(), and ntree_blend_read_expand().
void ntreeBlendReadLib | ( | struct BlendLibReader * | reader, |
struct bNodeTree * | ntree | ||
) |
Definition at line 900 of file node.cc.
References BLO_read_id_address, BLO_read_lib_is_undo(), bNodeTree::gpd, bNodeTree::id, IDP_BlendReadLib(), bNodeTree::inputs, lib, ID::lib, lib_link_node_sockets(), LISTBASE_FOREACH, node, node_verify_sockets(), bNodeTree::nodes, ntree, ntreeSetTypes(), and bNodeTree::outputs.
Referenced by lib_link_id_embedded_id(), and ntree_blend_read_lib().
void ntreeBlendWrite | ( | struct BlendWriter * | writer, |
struct bNodeTree * | ntree | ||
) |
This is only direct data, tree itself should have been written.
Definition at line 519 of file node.cc.
References bNodeTree::adt, BKE_animdata_blend_write(), BKE_curvemapping_blend_write(), BKE_id_blend_write(), BKE_image_format_blend_write(), BKE_previewimg_blend_write(), BLO_write_is_undo(), BLO_write_string(), BLO_write_struct, BLO_write_struct_by_name(), NodeShaderScript::bytecode, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_GLARE, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_MOVIEDISTORTION, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_TIME, ELEM, NodeCryptomatte::entries, FN_NODE_INPUT_STRING, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, bNodeTree::id, IDP_BlendWrite(), if(), bNodeTree::inputs, bNodeTree::links, LISTBASE_FOREACH, NodeCryptomatte::matte_id, node, bNodeTree::nodes, NodeTypeUndefined, ntree, NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, NTREE_TEXTURE, bNodeTree::outputs, bNodeTree::preview, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, NodeGlare::star_45, NodeGlare::streaks, NodeInputString::string, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, bNodeTree::type, NodeGlare::type, write_node_socket(), and write_node_socket_interface().
Referenced by light_blend_write(), linestyle_blend_write(), material_blend_write(), ntree_blend_write(), scene_blend_write(), simulation_blend_write(), texture_blend_write(), and world_blend_write().
Definition at line 2703 of file node.cc.
References ntree, and ntreeCopyTree_ex().
Definition at line 2696 of file node.cc.
References BKE_id_copy_ex(), LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, and ntree.
Referenced by ntreeCopyTree().
bNodeSocket* ntreeFindSocketInterface | ( | bNodeTree * | ntree, |
eNodeSocketInOut | in_out, | ||
const char * | identifier | ||
) |
Definition at line 3336 of file node.cc.
References bNodeTree::inputs, LISTBASE_FOREACH, ntree, bNodeTree::outputs, SOCK_IN, and STREQ.
Definition at line 3550 of file node.cc.
References LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and type.
Definition at line 3130 of file node.cc.
References bNodeTreeType::free_cache, ntree, and bNodeTree::typeinfo.
Referenced by do_render_compositor(), and blender::ed::space_node::node_group_make_insert_selected().
Free tree which is embedded into another data-block.
Definition at line 3112 of file node.cc.
References BKE_libblock_free_data(), BKE_libblock_free_data_py(), bNodeTree::id, ntree, and ntreeFreeTree().
Referenced by BKE_material_copybuf_paste(), blo_update_defaults_scene(), EEVEE_shaders_free(), light_free_data(), linestyle_free_data(), material_free_data(), blender::io::obj::UniqueNodetreeDeleter::operator()(), scene_free_data(), simulation_free_data(), texture_free_data(), world_free_data(), blender::eevee::DefaultSurfaceNodeTree::~DefaultSurfaceNodeTree(), and blender::eevee::DefaultWorldNodeTree::~DefaultWorldNodeTree().
Definition at line 2998 of file node.cc.
References BLI_assert, bNodeTree::id, LIB_TAG_LOCALIZED, node, node_free_node(), node_unlink_attached(), nodeUnlinkNode(), ntree, and ID::tag.
Referenced by flatten_group_do(), localize(), ntree_shader_groups_flatten(), and ntree_shader_pruned_unused().
Definition at line 3119 of file node.cc.
References BKE_libblock_free_data(), bNodeTree::id, LIB_TAG_LOCALIZED, ntree, ntreeFreeTree(), and ID::tag.
Free (or release) any data used by this node-tree. Does not free the node-tree itself and does no ID user counting.
Definition at line 3106 of file node.cc.
References BKE_animdata_free(), bNodeTree::id, ntree, and ntree_free_data().
Referenced by default_paint_slot_color_get(), free_localized_node_groups(), blender::ed::space_node::node_group_make_test_selected(), ntree_shader_groups_flatten(), ntreeFreeEmbeddedTree(), ntreeFreeLocalTree(), and ntreeLocalMerge().
Returns the private NodeTree object of the data-block, if it has one.
Definition at line 3231 of file node.cc.
References BKE_ntree_ptr_from_id().
Referenced by animdata_copy_id_action(), BKE_bpath_foreach_path_id(), BKE_id_newptr_and_tag_clear(), BKE_idtype_id_foreach_cache(), BKE_lib_id_make_local_generic(), BKE_lib_override_library_make_local(), BKE_library_id_can_use_filter_id(), BKE_library_make_local(), BKE_screen_area_blend_read_lib(), BKE_screen_foreach_id_screen_area(), blo_do_versions_270(), blo_do_versions_280(), BLO_main_validate_embedded_liboverrides(), deg_graph_clear_id_recalc_flags(), DEG_iterator_ids_step(), direct_link_id_embedded_id(), expand_id_embedded_id(), lib_link_id_embedded_id(), lib_link_workspace_layout_restore(), lib_override_library_resync(), memfile_undosys_step_decode(), node_owner_get(), node_tree_from_ID(), and write_file_handle().
void ntreeGetDependencyList | ( | struct bNodeTree * | ntree, |
struct bNode *** | r_deplist, | ||
int * | r_deplist_len | ||
) |
Definition at line 4095 of file node.cc.
References LISTBASE_FOREACH, MEM_callocN, node, node_get_deplist_recurs(), bNodeTree::nodes, and ntree.
Referenced by blender::ed::space_node::node_select_same_type_step_exec(), and ntree_exec_begin().
Definition at line 3562 of file node.cc.
References ELEM, LISTBASE_FOREACH, blender::bke::attribute_accessor_functions::lookup(), node, NODE_CUSTOM_GROUP, NODE_GROUP, bNodeTree::nodes, and ntree.
bNodeSocket* ntreeInsertSocketInterface | ( | bNodeTree * | ntree, |
eNodeSocketInOut | in_out, | ||
const char * | idname, | ||
bNodeSocket * | next_sock, | ||
const char * | name | ||
) |
Definition at line 3365 of file node.cc.
References BKE_ntree_update_tag_interface(), BLI_insertlinkbefore(), bNodeTree::inputs, make_socket_interface(), ntree, bNodeTree::outputs, SOCK_IN, and SOCK_OUT.
Referenced by blender::ed::space_node::ntree_socket_add_exec(), and ntreeInsertSocketInterfaceFromSocket().
struct bNodeSocket* ntreeInsertSocketInterfaceFromSocket | ( | bNodeTree * | ntree, |
bNodeSocket * | next_sock, | ||
bNode * | from_node, | ||
bNodeSocket * | from_sock | ||
) |
Definition at line 3396 of file node.cc.
References bNodeSocket::idname, bNodeSocket::in_out, bNodeSocketType::interface_from_socket, bNodeSocket::name, ntree, ntreeInsertSocketInterface(), and bNodeSocket::typeinfo.
Definition at line 3529 of file node.cc.
References BLENDER_RNA, bNodeTree::interface_type, ntree, and RNA_struct_free().
Referenced by ntree_free_data(), and ntreeInterfaceTypeUpdate().
Definition at line 3495 of file node.cc.
References BLENDER_RNA, blender::bke::idprop::create(), bNodeSocket::description, bNodeSocket::identifier, bNodeTree::interface_type, MAX_ID_NAME, bNodeSocket::name, ntree, ntree_interface_identifier(), ntree_interface_identifier_base(), ntree_interface_type_create(), RNA_def_struct_duplicate_pointers(), RNA_def_struct_free_pointers(), RNA_def_struct_identifier(), RNA_def_struct_ui_text(), RNA_struct_identifier(), and STREQLEN.
Definition at line 3537 of file node.cc.
References ntree, ntree_interface_type_create(), and ntreeInterfaceTypeFree().
Definition at line 1317 of file node.cc.
References NodeTreeTypeUndefined, ntree, and bNodeTree::typeinfo.
Referenced by blender::bke::node_field_inferencing::get_node_field_inferencing_interface().
Returns localized tree for execution in threads.
Definition at line 3249 of file node.cc.
References BKE_id_copy_ex(), ELEM, ListBase::first, bNodeTree::id, LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, LIB_TAG_LOCALIZED, LISTBASE_FOREACH, bNodeTreeType::localize, bNode::next, node, NODE_CUSTOM_GROUP, NODE_GROUP, bNodeTree::nodes, ntree, ntreeLocalize(), ntreeSetOutput(), ID::tag, and bNodeTree::typeinfo.
Referenced by ntreeLocalize().
void ntreeLocalMerge | ( | struct Main * | bmain, |
struct bNodeTree * | localtree, | ||
struct bNodeTree * | ntree | ||
) |
Merge local tree results back, and free local tree.
We have to assume the editor already changed completely.
Definition at line 3286 of file node.cc.
References bNodeTreeType::local_merge, MEM_freeN, ntree, ntreeFreeTree(), and bNodeTree::typeinfo.
Referenced by blender::ed::space_node::compo_freejob().
Definition at line 3237 of file node.cc.
References LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.
Referenced by blender::ed::space_node::node_link_insert_offset_ntree().
void ntreeRemoveSocketInterface | ( | bNodeTree * | ntree, |
bNodeSocket * | sock | ||
) |
Definition at line 3415 of file node.cc.
References BKE_ntree_update_tag_interface(), BLI_remlink(), bNodeTree::inputs, MEM_freeN, node_socket_interface_free(), ntree, and bNodeTree::outputs.
Referenced by blender::ed::space_node::ntree_socket_remove_exec().
XXX: old trees handle output flags automatically based on special output node types and last active selection. New tree types have a per-output socket flag to indicate the final output to use explicitly.
Definition at line 3141 of file node.cc.
References CMP_NODE_OUTPUT_FILE, CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, ELEM, GEO_NODE_VIEWER, LISTBASE_FOREACH, node, NODE_CLASS_OUTPUT, NODE_DO_OUTPUT, NODE_GROUP_OUTPUT, bNodeTree::nodes, ntree, NTREE_COMPOSIT, output, and bNodeTree::type.
Referenced by geometry_node_tree_update(), ntreeLocalize(), ntreeShaderBeginExecTree_internal(), ntreeShaderOutputNode(), and update().
Try to initialize all type-info in a node tree.
Definition at line 1253 of file node.cc.
References C, bNodeTree::idname, bNodeTree::inputs, LISTBASE_FOREACH, node, node_set_typeinfo(), node_socket_set_typeinfo(), bNodeTree::nodes, nodeSocketTypeFind(), nodeTypeFind(), ntree, ntree_set_typeinfo(), ntreeTypeFind(), and bNodeTree::outputs.
Referenced by blo_do_versions_270(), do_versions_after_linking_270(), and ntreeBlendReadLib().
void ntreeTypeAdd | ( | bNodeTreeType * | nt | ) |
Definition at line 1292 of file node.cc.
References BLI_ghash_insert(), G_MAIN, bNodeTreeType::idname, nodetreetypes_hash, and update_typeinfo().
Referenced by register_node_tree_type_cmp(), register_node_tree_type_geo(), register_node_tree_type_sh(), and register_node_tree_type_tex().
bNodeTreeType* ntreeTypeFind | ( | const char * | idname | ) |
Definition at line 1280 of file node.cc.
References BLI_ghash_lookup(), and nodetreetypes_hash.
Referenced by blender::ed::space_node::new_node_tree_exec(), ntreeAddTree(), ntreeSetTypes(), and blender::ed::space_node::snode_set_context().
void ntreeTypeFreeLink | ( | const bNodeTreeType * | nt | ) |
Definition at line 1312 of file node.cc.
References BLI_ghash_remove(), bNodeTreeType::idname, nodetreetypes_hash, and ntree_free_type().
GHashIterator* ntreeTypeGetIterator | ( | void | ) |
Definition at line 1322 of file node.cc.
References BLI_ghashIterator_new(), and nodetreetypes_hash.
Definition at line 4173 of file node.cc.
References BKE_ntree_update_main(), BKE_ntree_update_tag_all(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, LIB_TAG_NEW, LISTBASE_FOREACH, main(), node, node_replace_undefined_types(), bNodeTree::nodes, and ntree.
Referenced by blo_read_file_internal(), and library_link_end().
Definition at line 4202 of file node.cc.
References BKE_ntree_update_main(), BKE_ntree_update_tag_node_property(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, LISTBASE_FOREACH, main(), node, bNodeTree::nodes, and ntree.
Referenced by libblock_remap_data_postprocess_nodetree_update().
Definition at line 4122 of file node.cc.
References LISTBASE_FOREACH, node, node_get_deplist_recurs(), bNodeTree::nodes, and ntree.
|
static |
Definition at line 4481 of file node.cc.
References BLI_strncpy(), bNodeSocketType::idname, bNodeTreeType::idname, bNodeSocketType::input_link_limit, N_, node_type_base_custom(), node_undefined_poll(), NodeSocketTypeUndefined, NodeTreeTypeUndefined, NodeTypeUndefined, NTREE_UNDEFINED, bNodeSocketType::output_link_limit, bNodeType::poll, PROP_NONE, SOCK_CUSTOM, bNodeSocketType::subtype, bNodeSocketType::type, bNodeTreeType::type, bNodeTreeType::ui_description, bNodeTreeType::ui_name, and bNodeSocketType::use_link_limits_of_type.
Referenced by BKE_node_system_init().
|
static |
Definition at line 4507 of file node.cc.
References register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), and register_node_type_cmp_zcombine().
Referenced by BKE_node_system_init().
|
static |
Definition at line 4908 of file node.cc.
References register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_special_characters(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_replace_string(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_fn_slice_string(), register_node_type_fn_string_length(), and register_node_type_fn_value_to_string().
Referenced by BKE_node_system_init().
|
static |
Definition at line 4773 of file node.cc.
References register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_convex_hull(), register_node_type_geo_curve_endpoint_selection(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_length(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadratic_bezier(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_primitive_spiral(), register_node_type_geo_curve_primitive_star(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_reverse(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_parameter(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_subdivide(), register_node_type_geo_curve_to_mesh(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_delete_geometry(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_dual_mesh(), register_node_type_geo_duplicate_elements(), register_node_type_geo_edge_paths_to_curves(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_edge_split(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_flip_faces(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_group(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_curve_tilt(), register_node_type_geo_input_id(), register_node_type_geo_input_index(), register_node_type_geo_input_instance_rotation(), register_node_type_geo_input_instance_scale(), register_node_type_geo_input_material(), register_node_type_geo_input_material_index(), register_node_type_geo_input_mesh_edge_angle(), register_node_type_geo_input_mesh_edge_neighbors(), register_node_type_geo_input_mesh_edge_vertices(), register_node_type_geo_input_mesh_face_area(), register_node_type_geo_input_mesh_face_is_planar(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_input_mesh_island(), register_node_type_geo_input_mesh_vertex_neighbors(), register_node_type_geo_input_named_attribute(), register_node_type_geo_input_normal(), register_node_type_geo_input_position(), register_node_type_geo_input_radius(), register_node_type_geo_input_scene_time(), register_node_type_geo_input_shade_smooth(), register_node_type_geo_input_shortest_edge_paths(), register_node_type_geo_input_spline_cyclic(), register_node_type_geo_input_spline_length(), register_node_type_geo_input_spline_resolution(), register_node_type_geo_input_tangent(), register_node_type_geo_instance_on_points(), register_node_type_geo_instances_to_points(), register_node_type_geo_interpolate_domain(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), register_node_type_geo_material_replace(), register_node_type_geo_material_selection(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cube(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_grid(), register_node_type_geo_mesh_primitive_ico_sphere(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_primitive_uv_sphere(), register_node_type_geo_mesh_subdivide(), register_node_type_geo_mesh_to_curve(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points(), register_node_type_geo_points_to_vertices(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_realize_instances(), register_node_type_geo_remove_attribute(), register_node_type_geo_rotate_instances(), register_node_type_geo_scale_elements(), register_node_type_geo_scale_instances(), register_node_type_geo_separate_components(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_set_curve_radius(), register_node_type_geo_set_curve_tilt(), register_node_type_geo_set_id(), register_node_type_geo_set_material(), register_node_type_geo_set_material_index(), register_node_type_geo_set_point_radius(), register_node_type_geo_set_position(), register_node_type_geo_set_shade_smooth(), register_node_type_geo_set_spline_cyclic(), register_node_type_geo_set_spline_resolution(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_join(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_transform(), register_node_type_geo_translate_instances(), register_node_type_geo_triangulate(), register_node_type_geo_uv_pack_islands(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_cube(), and register_node_type_geo_volume_to_mesh().
Referenced by BKE_node_system_init().
|
static |
Definition at line 4620 of file node.cc.
References register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), and register_node_type_sh_wireframe().
Referenced by BKE_node_system_init().
|
static |
Definition at line 4720 of file node.cc.
References register_node_type_sh_ambient_occlusion(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_hair_info(), register_node_type_sh_normal_map(), register_node_type_sh_point_info(), register_node_type_sh_script(), register_node_type_sh_tangent(), register_node_type_sh_volume_info(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_proc_blend(), register_node_type_tex_proc_clouds(), register_node_type_tex_proc_distnoise(), register_node_type_tex_proc_magic(), register_node_type_tex_proc_marble(), register_node_type_tex_proc_musgrave(), register_node_type_tex_proc_noise(), register_node_type_tex_proc_stucci(), register_node_type_tex_proc_voronoi(), register_node_type_tex_proc_wood(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().
Referenced by BKE_node_system_init().
|
static |
Definition at line 1585 of file node.cc.
References __SOCK_MESH, bNodeSocket::default_value, Collection::id, Image::id, Material::id, Object::id, Tex::id, id_us_min(), if(), SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by node_socket_free(), node_socket_interface_free(), nodeModifySocketType(), and nodeRemoveNode().
|
static |
Definition at line 1541 of file node.cc.
References __SOCK_MESH, bNodeSocket::default_value, id_us_plus(), SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, bNodeSocket::type, bNodeSocketValueObject::value, bNodeSocketValueImage::value, bNodeSocketValueCollection::value, bNodeSocketValueTexture::value, and bNodeSocketValueMaterial::value.
Referenced by node_socket_copy().
Definition at line 1490 of file node.cc.
References LISTBASE_FOREACH, and STREQ.
Referenced by make_socket().
|
static |
Definition at line 4341 of file node.cc.
References BLI_uniquename_cb(), data, bNodeSocketTemplate::identifier, and unique_socket_template_identifier_check().
Referenced by node_type_socket_templates().
Definition at line 4326 of file node.cc.
Referenced by unique_socket_template_identifier().
|
static |
Definition at line 3693 of file node.cc.
References LISTBASE_FOREACH_INDEX.
Referenced by nodeSocketDeclarationsUpdate().
|
static |
Definition at line 1203 of file node.cc.
References C, FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, bNodeSocketType::idname, bNodeType::idname, bNodeTreeType::idname, bNodeTree::idname, bNodeTree::inputs, LISTBASE_FOREACH, node, node_set_typeinfo(), node_socket_set_typeinfo(), bNodeTree::nodes, ntree, ntree_set_typeinfo(), bNodeTree::outputs, and STREQ.
Referenced by node_free_socket_type(), node_free_type(), nodeRegisterSocketType(), nodeRegisterType(), ntree_free_type(), and ntreeTypeAdd().
|
static |
Definition at line 493 of file node.cc.
References BLI_assert, BLO_write_struct, bNodeSocket::default_attribute_name, IDP_BlendWrite(), bNodeSocket::prop, and write_node_socket_default_value().
Referenced by ntreeBlendWrite().
|
static |
Definition at line 442 of file node.cc.
References __SOCK_MESH, BLI_assert_unreachable, BLO_write_struct, bNodeSocket::default_value, SOCK_BOOLEAN, SOCK_COLLECTION, SOCK_CUSTOM, SOCK_FLOAT, SOCK_GEOMETRY, SOCK_IMAGE, SOCK_INT, SOCK_MATERIAL, SOCK_OBJECT, SOCK_RGBA, SOCK_SHADER, SOCK_STRING, SOCK_TEXTURE, SOCK_VECTOR, and bNodeSocket::type.
Referenced by write_node_socket(), and write_node_socket_interface().
|
static |
Definition at line 506 of file node.cc.
References BLO_write_string(), BLO_write_struct, bNodeSocket::default_attribute_name, IDP_BlendWrite(), bNodeSocket::prop, and write_node_socket_default_value().
Referenced by ntreeBlendWrite().
IDTypeInfo IDType_ID_NT |
|
static |
Definition at line 114 of file node.cc.
Referenced by nodeAddStaticNode(), nodeAddStaticSocket(), nodeModifySocketType(), and nodeModifySocketTypeStatic().
|
static |
Definition at line 3771 of file node.cc.
Referenced by BKE_node_clipboard_add_link(), BKE_node_clipboard_add_node(), BKE_node_clipboard_clear(), BKE_node_clipboard_get_links(), BKE_node_clipboard_get_nodes(), BKE_node_clipboard_get_type(), BKE_node_clipboard_init(), and BKE_node_clipboard_validate().
const bNodeInstanceKey NODE_INSTANCE_KEY_BASE = {5381} |
Magic number for initial hash key.
Definition at line 3896 of file node.cc.
Referenced by blender::compositor::NodeGraph::add_proxies_group_inputs(), blender::compositor::NodeGraph::add_proxies_group_outputs(), BKE_node_preview_init_tree(), BKE_node_preview_remove_unused(), ED_node_tree_push(), ED_node_tree_start(), blender::compositor::NodeGraph::from_bNodeTree(), ntreeShaderBeginExecTree(), and ntreeTexBeginExecTree().
const bNodeInstanceKey NODE_INSTANCE_KEY_NONE = {0} |
Definition at line 3897 of file node.cc.
Referenced by blender::ed::space_node::draw_nodespace_back_pix(), and blender::ed::space_node::node_draw_space().
|
static |
Definition at line 1278 of file node.cc.
Referenced by BKE_node_system_exit(), BKE_node_system_init(), nodeRegisterSocketType(), nodeSocketTypeFind(), nodeSocketTypeGetIterator(), and nodeUnregisterSocketType().
bNodeSocketType NodeSocketTypeUndefined |
Definition at line 112 of file node.cc.
Referenced by ED_node_init_butfuncs(), blender::nodes::SocketRef::is_undefined(), node_socket_set_typeinfo(), nodeSocketIsRegistered(), and register_undefined_types().
|
static |
Definition at line 1276 of file node.cc.
Referenced by BKE_node_system_exit(), BKE_node_system_init(), ntreeTypeAdd(), ntreeTypeFind(), ntreeTypeFreeLink(), and ntreeTypeGetIterator().
|
static |
Definition at line 110 of file node.cc.
Referenced by ntree_set_typeinfo(), ntreeIsRegistered(), and register_undefined_types().
|
static |
Definition at line 1277 of file node.cc.
Referenced by BKE_node_system_exit(), BKE_node_system_init(), nodeRegisterType(), nodeTypeFind(), nodeTypeGetIterator(), and nodeUnregisterType().
bNodeType NodeTypeUndefined |
Definition at line 111 of file node.cc.
Referenced by ED_node_init_butfuncs(), blender::nodes::NodeRef::is_undefined(), node_init(), node_replace_undefined_types(), node_set_typeinfo(), nodeTypeUndefined(), ntreeBlendWrite(), and register_undefined_types().