Blender  V2.93
Classes | Macros | Functions | Variables
BKE_node.h File Reference
#include "BLI_compiler_compat.h"
#include "BLI_ghash.h"
#include "DNA_listBase.h"
#include "DNA_node_types.h"
#include "RNA_types.h"

Go to the source code of this file.

Classes

struct  bNodeSocketTemplate
 Compact definition of a node socket. More...
 
struct  bNodeSocketType
 Defines a socket type. More...
 
struct  bNodeType
 Defines a node type. More...
 
struct  bNodeTreeType
 
struct  bNodeInstanceHash
 
struct  NodeTreeIterStore
 

Macros

#define MAX_SOCKET   512
 
Geometry Nodes
#define GEO_NODE_TRIANGULATE   1000
 
#define GEO_NODE_EDGE_SPLIT   1001
 
#define GEO_NODE_TRANSFORM   1002
 
#define GEO_NODE_BOOLEAN   1003
 
#define GEO_NODE_POINT_DISTRIBUTE   1004
 
#define GEO_NODE_POINT_INSTANCE   1005
 
#define GEO_NODE_SUBDIVISION_SURFACE   1006
 
#define GEO_NODE_OBJECT_INFO   1007
 
#define GEO_NODE_ATTRIBUTE_RANDOMIZE   1008
 
#define GEO_NODE_ATTRIBUTE_MATH   1009
 
#define GEO_NODE_JOIN_GEOMETRY   1010
 
#define GEO_NODE_ATTRIBUTE_FILL   1011
 
#define GEO_NODE_ATTRIBUTE_MIX   1012
 
#define GEO_NODE_ATTRIBUTE_COLOR_RAMP   1013
 
#define GEO_NODE_POINT_SEPARATE   1014
 
#define GEO_NODE_ATTRIBUTE_COMPARE   1015
 
#define GEO_NODE_POINT_ROTATE   1016
 
#define GEO_NODE_ATTRIBUTE_VECTOR_MATH   1017
 
#define GEO_NODE_ALIGN_ROTATION_TO_VECTOR   1018
 
#define GEO_NODE_POINT_TRANSLATE   1019
 
#define GEO_NODE_POINT_SCALE   1020
 
#define GEO_NODE_ATTRIBUTE_SAMPLE_TEXTURE   1021
 
#define GEO_NODE_POINTS_TO_VOLUME   1022
 
#define GEO_NODE_COLLECTION_INFO   1023
 
#define GEO_NODE_IS_VIEWPORT   1024
 
#define GEO_NODE_ATTRIBUTE_PROXIMITY   1025
 
#define GEO_NODE_VOLUME_TO_MESH   1026
 
#define GEO_NODE_ATTRIBUTE_COMBINE_XYZ   1027
 
#define GEO_NODE_ATTRIBUTE_SEPARATE_XYZ   1028
 
#define GEO_NODE_SUBDIVIDE   1029
 
#define GEO_NODE_ATTRIBUTE_REMOVE   1030
 
#define GEO_NODE_ATTRIBUTE_CONVERT   1031
 
#define GEO_NODE_MESH_PRIMITIVE_CUBE   1032
 
#define GEO_NODE_MESH_PRIMITIVE_CIRCLE   1033
 
#define GEO_NODE_MESH_PRIMITIVE_UV_SPHERE   1034
 
#define GEO_NODE_MESH_PRIMITIVE_CYLINDER   1035
 
#define GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE   1036
 
#define GEO_NODE_MESH_PRIMITIVE_CONE   1037
 
#define GEO_NODE_MESH_PRIMITIVE_LINE   1038
 
#define GEO_NODE_MESH_PRIMITIVE_GRID   1039
 
#define GEO_NODE_ATTRIBUTE_MAP_RANGE   1040
 
#define GEO_NODE_ATTRIBUTE_CLAMP   1041
 
#define GEO_NODE_BOUNDING_BOX   1042
 
Function Nodes
#define FN_NODE_BOOLEAN_MATH   1200
 
#define FN_NODE_FLOAT_COMPARE   1202
 
#define FN_NODE_RANDOM_FLOAT   1206
 
#define FN_NODE_INPUT_VECTOR   1207
 
#define FN_NODE_INPUT_STRING   1208
 

Functions

void BKE_node_system_init (void)
 
void BKE_node_system_exit (void)
 
void BKE_nodetree_shading_params_eval (struct Depsgraph *depsgraph, struct bNodeTree *ntree_dst, const struct bNodeTree *ntree_src)
 
Node Tree Interface
struct bNodeSocketntreeFindSocketInterface (struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *identifier)
 
struct bNodeSocketntreeAddSocketInterface (struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *idname, const char *name)
 
struct bNodeSocketntreeInsertSocketInterface (struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *idname, struct bNodeSocket *next_sock, const char *name)
 
struct bNodeSocketntreeAddSocketInterfaceFromSocket (struct bNodeTree *ntree, struct bNode *from_node, struct bNodeSocket *from_sock)
 
struct bNodeSocketntreeInsertSocketInterfaceFromSocket (struct bNodeTree *ntree, struct bNodeSocket *next_sock, struct bNode *from_node, struct bNodeSocket *from_sock)
 
void ntreeRemoveSocketInterface (struct bNodeTree *ntree, struct bNodeSocket *sock)
 
struct StructRNAntreeInterfaceTypeGet (struct bNodeTree *ntree, bool create)
 
void ntreeInterfaceTypeFree (struct bNodeTree *ntree)
 
void ntreeInterfaceTypeUpdate (struct bNodeTree *ntree)
 
Node Type Access
void nodeLabel (struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen)
 
const char * nodeSocketLabel (const struct bNodeSocket *sock)
 
bool nodeGroupPoll (struct bNodeTree *nodetree, struct bNodeTree *grouptree, const char **r_disabled_hint)
 
void node_type_base (struct bNodeType *ntype, int type, const char *name, short nclass, short flag)
 
void node_type_base_custom (struct bNodeType *ntype, const char *idname, const char *name, short nclass, short flag)
 
void node_type_socket_templates (struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
 
void node_type_size (struct bNodeType *ntype, int width, int minwidth, int maxwidth)
 
void node_type_size_preset (struct bNodeType *ntype, eNodeSizePreset size)
 
void node_type_init (struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node))
 
void node_type_storage (struct bNodeType *ntype, const char *storagename, void(*freefunc)(struct bNode *node), void(*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node))
 
void node_type_label (struct bNodeType *ntype, void(*labelfunc)(struct bNodeTree *ntree, struct bNode *, char *label, int maxlen))
 
void node_type_update (struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node))
 
void node_type_group_update (struct bNodeType *ntype, void(*group_update_func)(struct bNodeTree *ntree, struct bNode *node))
 
void node_type_exec (struct bNodeType *ntype, NodeInitExecFunction init_exec_fn, NodeFreeExecFunction free_exec_fn, NodeExecFunction exec_fn)
 
void node_type_gpu (struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
 
void node_type_internal_links (struct bNodeType *ntype, void(*update_internal_links)(struct bNodeTree *, struct bNode *))
 
Node Tree
void BKE_nodetree_remove_layer_n (struct bNodeTree *ntree, struct Scene *scene, const int layer_index)
 

Variables

struct bNodeType NodeTypeUndefined
 
struct bNodeSocketType NodeSocketTypeUndefined
 

Node Type Definitions

#define NODE_CLASS_INPUT   0
 
#define NODE_CLASS_OUTPUT   1
 
#define NODE_CLASS_OP_COLOR   3
 
#define NODE_CLASS_OP_VECTOR   4
 
#define NODE_CLASS_OP_FILTER   5
 
#define NODE_CLASS_GROUP   6
 
#define NODE_CLASS_CONVERTOR   8
 
#define NODE_CLASS_MATTE   9
 
#define NODE_CLASS_DISTORT   10
 
#define NODE_CLASS_PATTERN   12
 
#define NODE_CLASS_TEXTURE   13
 
#define NODE_CLASS_SCRIPT   32
 
#define NODE_CLASS_INTERFACE   33
 
#define NODE_CLASS_SHADER   40
 
#define NODE_CLASS_GEOMETRY   41
 
#define NODE_CLASS_ATTRIBUTE   42
 
#define NODE_CLASS_LAYOUT   100
 
#define NODE_RESIZE_TOP   1
 
#define NODE_RESIZE_BOTTOM   2
 
#define NODE_RESIZE_RIGHT   4
 
#define NODE_RESIZE_LEFT   8
 
enum  eNodeSizePreset { NODE_SIZE_DEFAULT , NODE_SIZE_SMALL , NODE_SIZE_MIDDLE , NODE_SIZE_LARGE }
 
typedef struct bNodeSocketTemplate bNodeSocketTemplate
 Compact definition of a node socket. More...
 
typedef void * NodeExpandInMFNetworkFunction
 
typedef void * SocketExpandInMFNetworkFunction
 
typedef void * NodeGeometryExecFunction
 
typedef void * SocketGetCPPTypeFunction
 
typedef void * SocketGetCPPValueFunction
 
typedef struct bNodeSocketType bNodeSocketType
 Defines a socket type. More...
 
typedef void *(* NodeInitExecFunction) (struct bNodeExecContext *context, struct bNode *node, bNodeInstanceKey key)
 
typedef void(* NodeFreeExecFunction) (void *nodedata)
 
typedef void(* NodeExecFunction) (void *data, int thread, struct bNode *, struct bNodeExecData *execdata, struct bNodeStack **in, struct bNodeStack **out)
 
typedef int(* NodeGPUExecFunction) (struct GPUMaterial *mat, struct bNode *node, struct bNodeExecData *execdata, struct GPUNodeStack *in, struct GPUNodeStack *out)
 
typedef struct bNodeType bNodeType
 Defines a node type. More...
 
typedef enum eNodeSizePreset eNodeSizePreset
 
typedef void(* bNodeClassCallback) (void *calldata, int nclass, const char *name)
 
typedef struct bNodeTreeType bNodeTreeType
 

Generic API, Trees

#define NODE_TREE_TYPES_BEGIN(ntype)
 
#define NODE_TREE_TYPES_END
 
struct bNodeTreeTypentreeTypeFind (const char *idname)
 
void ntreeTypeAdd (struct bNodeTreeType *nt)
 
void ntreeTypeFreeLink (const struct bNodeTreeType *nt)
 
bool ntreeIsRegistered (struct bNodeTree *ntree)
 
struct GHashIteratorntreeTypeGetIterator (void)
 
void ntreeSetTypes (const struct bContext *C, struct bNodeTree *ntree)
 
struct bNodeTreentreeAddTree (struct Main *bmain, const char *name, const char *idname)
 
void ntreeFreeTree (struct bNodeTree *ntree)
 
void ntreeFreeEmbeddedTree (struct bNodeTree *ntree)
 
struct bNodeTreentreeCopyTree_ex (const struct bNodeTree *ntree, struct Main *bmain, const bool do_id_user)
 
struct bNodeTreentreeCopyTree (struct Main *bmain, const struct bNodeTree *ntree)
 
struct bNodeTree ** BKE_ntree_ptr_from_id (struct ID *id)
 
struct bNodeTreentreeFromID (struct ID *id)
 
void ntreeFreeLocalNode (struct bNodeTree *ntree, struct bNode *node)
 
void ntreeFreeLocalTree (struct bNodeTree *ntree)
 
struct bNodentreeFindType (const struct bNodeTree *ntree, int type)
 
bool ntreeHasType (const struct bNodeTree *ntree, int type)
 
bool ntreeHasTree (const struct bNodeTree *ntree, const struct bNodeTree *lookup)
 
void ntreeUpdateTree (struct Main *main, struct bNodeTree *ntree)
 
void ntreeUpdateAllNew (struct Main *main)
 
void ntreeUpdateAllUsers (struct Main *main, struct ID *id)
 
void ntreeGetDependencyList (struct bNodeTree *ntree, struct bNode ***r_deplist, int *r_deplist_len)
 
void ntreeSetOutput (struct bNodeTree *ntree)
 
void ntreeFreeCache (struct bNodeTree *ntree)
 
bool ntreeNodeExists (const struct bNodeTree *ntree, const struct bNode *testnode)
 
bool ntreeOutputExists (const struct bNode *node, const struct bNodeSocket *testsock)
 
void ntreeNodeFlagSet (const bNodeTree *ntree, const int flag, const bool enable)
 
struct bNodeTreentreeLocalize (struct bNodeTree *ntree)
 
void ntreeLocalSync (struct bNodeTree *localtree, struct bNodeTree *ntree)
 
void ntreeLocalMerge (struct Main *bmain, struct bNodeTree *localtree, struct bNodeTree *ntree)
 
void ntreeBlendWrite (struct BlendWriter *writer, struct bNodeTree *ntree)
 
void ntreeBlendReadData (struct BlendDataReader *reader, struct bNodeTree *ntree)
 
void ntreeBlendReadLib (struct BlendLibReader *reader, struct bNodeTree *ntree)
 
void ntreeBlendReadExpand (struct BlendExpander *expander, struct bNodeTree *ntree)
 

Generic API, Nodes

#define NODE_TYPES_BEGIN(ntype)
 
#define NODE_TYPES_END
 
#define NODE_SOCKET_TYPES_BEGIN(stype)
 
#define NODE_SOCKET_TYPES_END
 
#define NODE_INSTANCE_HASH_ITER(iter_, hash_)
 
typedef struct bNodeInstanceHash bNodeInstanceHash
 
typedef void(* bNodeInstanceValueFP) (void *value)
 
typedef GHashIterator bNodeInstanceHashIterator
 
const bNodeInstanceKey NODE_INSTANCE_KEY_BASE
 
const bNodeInstanceKey NODE_INSTANCE_KEY_NONE
 
struct bNodeTypenodeTypeFind (const char *idname)
 
void nodeRegisterType (struct bNodeType *ntype)
 
void nodeUnregisterType (struct bNodeType *ntype)
 
bool nodeTypeUndefined (struct bNode *node)
 
struct GHashIteratornodeTypeGetIterator (void)
 
struct bNodeSocketTypenodeSocketTypeFind (const char *idname)
 
void nodeRegisterSocketType (struct bNodeSocketType *stype)
 
void nodeUnregisterSocketType (struct bNodeSocketType *stype)
 
bool nodeSocketIsRegistered (struct bNodeSocket *sock)
 
struct GHashIteratornodeSocketTypeGetIterator (void)
 
const char * nodeStaticSocketType (int type, int subtype)
 
const char * nodeStaticSocketInterfaceType (int type, int subtype)
 
struct bNodeSocketnodeFindSocket (const struct bNode *node, eNodeSocketInOut in_out, const char *identifier)
 
struct bNodeSocketnodeAddSocket (struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, const char *idname, const char *identifier, const char *name)
 
struct bNodeSocketnodeInsertSocket (struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, const char *idname, struct bNodeSocket *next_sock, const char *identifier, const char *name)
 
struct bNodeSocketnodeAddStaticSocket (struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name)
 
struct bNodeSocketnodeInsertStaticSocket (struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, struct bNodeSocket *next_sock, const char *identifier, const char *name)
 
void nodeRemoveSocket (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
 
void nodeRemoveAllSockets (struct bNodeTree *ntree, struct bNode *node)
 
void nodeModifySocketType (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, int type, int subtype)
 
struct bNodenodeAddNode (const struct bContext *C, struct bNodeTree *ntree, const char *idname)
 
struct bNodenodeAddStaticNode (const struct bContext *C, struct bNodeTree *ntree, int type)
 
void nodeUnlinkNode (struct bNodeTree *ntree, struct bNode *node)
 
void nodeUniqueName (struct bNodeTree *ntree, struct bNode *node)
 
void nodeRemoveNode (struct Main *bmain, struct bNodeTree *ntree, struct bNode *node, bool do_id_user)
 
struct bNodeBKE_node_copy_ex (struct bNodeTree *ntree, const struct bNode *node_src, const int flag, const bool unique_name)
 
struct bNodeBKE_node_copy_store_new_pointers (struct bNodeTree *ntree, struct bNode *node_src, const int flag)
 
struct bNodeTreentreeCopyTree_ex_new_pointers (const struct bNodeTree *ntree, struct Main *bmain, const bool do_id_user)
 
struct bNodeLinknodeAddLink (struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
 
void nodeRemLink (struct bNodeTree *ntree, struct bNodeLink *link)
 
void nodeRemSocketLinks (struct bNodeTree *ntree, struct bNodeSocket *sock)
 
void nodeMuteLinkToggle (struct bNodeTree *ntree, struct bNodeLink *link)
 
bool nodeLinkIsHidden (const struct bNodeLink *link)
 
void nodeInternalRelink (struct bNodeTree *ntree, struct bNode *node)
 
void nodeToView (const struct bNode *node, float x, float y, float *rx, float *ry)
 
void nodeFromView (const struct bNode *node, float x, float y, float *rx, float *ry)
 
bool nodeAttachNodeCheck (const struct bNode *node, const struct bNode *parent)
 
void nodeAttachNode (struct bNode *node, struct bNode *parent)
 
void nodeDetachNode (struct bNode *node)
 
void nodePositionRelative (struct bNode *from_node, struct bNode *to_node, struct bNodeSocket *from_sock, struct bNodeSocket *to_sock)
 
void nodePositionPropagate (struct bNode *node)
 
struct bNodenodeFindNodebyName (struct bNodeTree *ntree, const char *name)
 
bool nodeFindNode (struct bNodeTree *ntree, struct bNodeSocket *sock, struct bNode **r_node, int *r_sockindex)
 
struct bNodenodeFindRootParent (bNode *node)
 
bool nodeIsChildOf (const bNode *parent, const bNode *child)
 
void nodeChainIter (const bNodeTree *ntree, const bNode *node_start, bool(*callback)(bNode *, bNode *, void *, const bool), void *userdata, const bool reversed)
 
void nodeChainIterBackwards (const bNodeTree *ntree, const bNode *node_start, bool(*callback)(bNode *, bNode *, void *), void *userdata, int recursion_lvl)
 
void nodeParentsIter (bNode *node, bool(*callback)(bNode *, void *), void *userdata)
 
struct bNodeLinknodeFindLink (struct bNodeTree *ntree, const struct bNodeSocket *from, const struct bNodeSocket *to)
 
int nodeCountSocketLinks (const struct bNodeTree *ntree, const struct bNodeSocket *sock)
 
void nodeSetSelected (struct bNode *node, bool select)
 
void nodeSetActive (struct bNodeTree *ntree, struct bNode *node)
 
struct bNodenodeGetActive (struct bNodeTree *ntree)
 
struct bNodenodeGetActiveID (struct bNodeTree *ntree, short idtype)
 
bool nodeSetActiveID (struct bNodeTree *ntree, short idtype, struct ID *id)
 
void nodeClearActive (struct bNodeTree *ntree)
 
void nodeClearActiveID (struct bNodeTree *ntree, short idtype)
 
struct bNodenodeGetActiveTexture (struct bNodeTree *ntree)
 
void nodeUpdate (struct bNodeTree *ntree, struct bNode *node)
 
bool nodeUpdateID (struct bNodeTree *ntree, struct ID *id)
 
void nodeUpdateInternalLinks (struct bNodeTree *ntree, struct bNode *node)
 
int nodeSocketIsHidden (const struct bNodeSocket *sock)
 
void ntreeTagUsedSockets (struct bNodeTree *ntree)
 
void nodeSetSocketAvailability (struct bNodeSocket *sock, bool is_available)
 
int nodeSocketLinkLimit (const struct bNodeSocket *sock)
 
void BKE_node_clipboard_init (const struct bNodeTree *ntree)
 
void BKE_node_clipboard_clear (void)
 
void BKE_node_clipboard_free (void)
 
bool BKE_node_clipboard_validate (void)
 
void BKE_node_clipboard_add_node (struct bNode *node)
 
void BKE_node_clipboard_add_link (struct bNodeLink *link)
 
const struct ListBaseBKE_node_clipboard_get_nodes (void)
 
const struct ListBaseBKE_node_clipboard_get_links (void)
 
int BKE_node_clipboard_get_type (void)
 
bNodeInstanceKey BKE_node_instance_key (bNodeInstanceKey parent_key, const struct bNodeTree *ntree, const struct bNode *node)
 
bNodeInstanceHashBKE_node_instance_hash_new (const char *info)
 
void BKE_node_instance_hash_free (bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
 
void BKE_node_instance_hash_insert (bNodeInstanceHash *hash, bNodeInstanceKey key, void *value)
 
void * BKE_node_instance_hash_lookup (bNodeInstanceHash *hash, bNodeInstanceKey key)
 
int BKE_node_instance_hash_remove (bNodeInstanceHash *hash, bNodeInstanceKey key, bNodeInstanceValueFP valfreefp)
 
void BKE_node_instance_hash_clear (bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
 
void * BKE_node_instance_hash_pop (bNodeInstanceHash *hash, bNodeInstanceKey key)
 
int BKE_node_instance_hash_haskey (bNodeInstanceHash *hash, bNodeInstanceKey key)
 
int BKE_node_instance_hash_size (bNodeInstanceHash *hash)
 
void BKE_node_instance_hash_clear_tags (bNodeInstanceHash *hash)
 
void BKE_node_instance_hash_tag (bNodeInstanceHash *hash, void *value)
 
bool BKE_node_instance_hash_tag_key (bNodeInstanceHash *hash, bNodeInstanceKey key)
 
void BKE_node_instance_hash_remove_untagged (bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
 
BLI_INLINE bNodeInstanceHashIteratorBKE_node_instance_hash_iterator_new (bNodeInstanceHash *hash)
 
BLI_INLINE void BKE_node_instance_hash_iterator_init (bNodeInstanceHashIterator *iter, bNodeInstanceHash *hash)
 
BLI_INLINE void BKE_node_instance_hash_iterator_free (bNodeInstanceHashIterator *iter)
 
BLI_INLINE bNodeInstanceKey BKE_node_instance_hash_iterator_get_key (bNodeInstanceHashIterator *iter)
 
BLI_INLINE void * BKE_node_instance_hash_iterator_get_value (bNodeInstanceHashIterator *iter)
 
BLI_INLINE void BKE_node_instance_hash_iterator_step (bNodeInstanceHashIterator *iter)
 
BLI_INLINE bool BKE_node_instance_hash_iterator_done (bNodeInstanceHashIterator *iter)
 
bool BKE_node_preview_used (const struct bNode *node)
 
bNodePreviewBKE_node_preview_verify (struct bNodeInstanceHash *previews, bNodeInstanceKey key, int xsize, int ysize, bool create)
 
bNodePreviewBKE_node_preview_copy (struct bNodePreview *preview)
 
void BKE_node_preview_free (struct bNodePreview *preview)
 
void BKE_node_preview_init_tree (struct bNodeTree *ntree, int xsize, int ysize, bool create_previews)
 
void BKE_node_preview_free_tree (struct bNodeTree *ntree)
 
void BKE_node_preview_remove_unused (struct bNodeTree *ntree)
 
void BKE_node_preview_clear (struct bNodePreview *preview)
 
void BKE_node_preview_clear_tree (struct bNodeTree *ntree)
 
void BKE_node_preview_sync_tree (struct bNodeTree *to_ntree, struct bNodeTree *from_ntree)
 
void BKE_node_preview_merge_tree (struct bNodeTree *to_ntree, struct bNodeTree *from_ntree, bool remove_old)
 
void BKE_node_preview_set_pixel (struct bNodePreview *preview, const float col[4], int x, int y, bool do_manage)
 

Node Generic Functions

#define NODE_UNDEFINED   -2 /* node type is not registered */
 
#define NODE_CUSTOM   -1 /* for dynamically registered custom types */
 
#define NODE_GROUP   2
 
#define NODE_FRAME   5
 
#define NODE_REROUTE   6
 
#define NODE_GROUP_INPUT   7
 
#define NODE_GROUP_OUTPUT   8
 
#define NODE_CUSTOM_GROUP   9
 
bool BKE_node_is_connected_to_output (struct bNodeTree *ntree, struct bNode *node)
 
void BKE_node_tree_unlink_id (ID *id, struct bNodeTree *ntree)
 

Node Tree Iterator

Utility macro for visiting every node tree in the library data, including local bNodeTree blocks in other IDs. This avoids the need for callback functions and allows executing code in a single inner code block.

Variables:

  • nodetree: The actual bNodeTree data block. Check nodetree->idname or nodetree->typeinfo to use only specific types.
  • id: The owner of the bNodeTree data block. Same as nodetree if it's a linkable node tree from the library.

Examples:

FOREACH_NODETREE_BEGIN(bmain, nodetree, id) {
if (id == nodetree)
printf("This is a linkable node tree");
FOREACH_NODETREE_BEGIN(bmain, nodetree, id) {
if (nodetree->idname == "ShaderNodeTree")
printf("This is a shader node tree);
if (GS(id) == ID_MA)
printf(" and it's owned by a material");
} FOREACH_NODETREE_END;
#define FOREACH_NODETREE_END
Definition: BKE_node.h:945
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
Definition: BKE_node.h:935
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
 
#define FOREACH_NODETREE_END
 
void BKE_node_tree_iter_init (struct NodeTreeIterStore *ntreeiter, struct Main *bmain)
 
bool BKE_node_tree_iter_step (struct NodeTreeIterStore *ntreeiter, struct bNodeTree **r_nodetree, struct ID **r_id)
 

Shader Nodes

#define SH_NODE_RGB   101
 
#define SH_NODE_VALUE   102
 
#define SH_NODE_MIX_RGB   103
 
#define SH_NODE_VALTORGB   104
 
#define SH_NODE_RGBTOBW   105
 
#define SH_NODE_SHADERTORGB   106
 
#define SH_NODE_NORMAL   107
 
#define SH_NODE_MAPPING   109
 
#define SH_NODE_CURVE_VEC   110
 
#define SH_NODE_CURVE_RGB   111
 
#define SH_NODE_CAMERA   114
 
#define SH_NODE_MATH   115
 
#define SH_NODE_VECTOR_MATH   116
 
#define SH_NODE_SQUEEZE   117
 
#define SH_NODE_INVERT   119
 
#define SH_NODE_SEPRGB   120
 
#define SH_NODE_COMBRGB   121
 
#define SH_NODE_HUE_SAT   122
 
#define NODE_DYNAMIC   123
 
#define SH_NODE_OUTPUT_MATERIAL   124
 
#define SH_NODE_OUTPUT_WORLD   125
 
#define SH_NODE_OUTPUT_LIGHT   126
 
#define SH_NODE_FRESNEL   127
 
#define SH_NODE_MIX_SHADER   128
 
#define SH_NODE_ATTRIBUTE   129
 
#define SH_NODE_BACKGROUND   130
 
#define SH_NODE_BSDF_ANISOTROPIC   131
 
#define SH_NODE_BSDF_DIFFUSE   132
 
#define SH_NODE_BSDF_GLOSSY   133
 
#define SH_NODE_BSDF_GLASS   134
 
#define SH_NODE_BSDF_TRANSLUCENT   137
 
#define SH_NODE_BSDF_TRANSPARENT   138
 
#define SH_NODE_BSDF_VELVET   139
 
#define SH_NODE_EMISSION   140
 
#define SH_NODE_NEW_GEOMETRY   141
 
#define SH_NODE_LIGHT_PATH   142
 
#define SH_NODE_TEX_IMAGE   143
 
#define SH_NODE_TEX_SKY   145
 
#define SH_NODE_TEX_GRADIENT   146
 
#define SH_NODE_TEX_VORONOI   147
 
#define SH_NODE_TEX_MAGIC   148
 
#define SH_NODE_TEX_WAVE   149
 
#define SH_NODE_TEX_NOISE   150
 
#define SH_NODE_TEX_MUSGRAVE   152
 
#define SH_NODE_TEX_COORD   155
 
#define SH_NODE_ADD_SHADER   156
 
#define SH_NODE_TEX_ENVIRONMENT   157
 
#define SH_NODE_HOLDOUT   159
 
#define SH_NODE_LAYER_WEIGHT   160
 
#define SH_NODE_VOLUME_ABSORPTION   161
 
#define SH_NODE_VOLUME_SCATTER   162
 
#define SH_NODE_GAMMA   163
 
#define SH_NODE_TEX_CHECKER   164
 
#define SH_NODE_BRIGHTCONTRAST   165
 
#define SH_NODE_LIGHT_FALLOFF   166
 
#define SH_NODE_OBJECT_INFO   167
 
#define SH_NODE_PARTICLE_INFO   168
 
#define SH_NODE_TEX_BRICK   169
 
#define SH_NODE_BUMP   170
 
#define SH_NODE_SCRIPT   171
 
#define SH_NODE_AMBIENT_OCCLUSION   172
 
#define SH_NODE_BSDF_REFRACTION   173
 
#define SH_NODE_TANGENT   174
 
#define SH_NODE_NORMAL_MAP   175
 
#define SH_NODE_HAIR_INFO   176
 
#define SH_NODE_SUBSURFACE_SCATTERING   177
 
#define SH_NODE_WIREFRAME   178
 
#define SH_NODE_BSDF_TOON   179
 
#define SH_NODE_WAVELENGTH   180
 
#define SH_NODE_BLACKBODY   181
 
#define SH_NODE_VECT_TRANSFORM   182
 
#define SH_NODE_SEPHSV   183
 
#define SH_NODE_COMBHSV   184
 
#define SH_NODE_BSDF_HAIR   185
 
#define SH_NODE_UVMAP   187
 
#define SH_NODE_SEPXYZ   188
 
#define SH_NODE_COMBXYZ   189
 
#define SH_NODE_OUTPUT_LINESTYLE   190
 
#define SH_NODE_UVALONGSTROKE   191
 
#define SH_NODE_TEX_POINTDENSITY   192
 
#define SH_NODE_BSDF_PRINCIPLED   193
 
#define SH_NODE_TEX_IES   194
 
#define SH_NODE_EEVEE_SPECULAR   195
 
#define SH_NODE_BEVEL   197
 
#define SH_NODE_DISPLACEMENT   198
 
#define SH_NODE_VECTOR_DISPLACEMENT   199
 
#define SH_NODE_VOLUME_PRINCIPLED   200
 
#define SH_NODE_BSDF_HAIR_PRINCIPLED   701
 
#define SH_NODE_MAP_RANGE   702
 
#define SH_NODE_CLAMP   703
 
#define SH_NODE_TEX_WHITE_NOISE   704
 
#define SH_NODE_VOLUME_INFO   705
 
#define SH_NODE_VERTEX_COLOR   706
 
#define SH_NODE_OUTPUT_AOV   707
 
#define SH_NODE_VECTOR_ROTATE   708
 
struct bNodeTreeExecntreeShaderBeginExecTree (struct bNodeTree *ntree)
 
void ntreeShaderEndExecTree (struct bNodeTreeExec *exec)
 
struct bNodentreeShaderOutputNode (struct bNodeTree *ntree, int target)
 
void ntreeGPUMaterialNodes (struct bNodeTree *localtree, struct GPUMaterial *mat, bool *has_surface_output, bool *has_volume_output)
 

Composite Nodes

#define RRES_OUT_IMAGE   0
 
#define RRES_OUT_ALPHA   1
 
#define RRES_OUT_DIFF   7
 
#define CMP_NODE_VIEWER   201
 
#define CMP_NODE_RGB   202
 
#define CMP_NODE_VALUE   203
 
#define CMP_NODE_MIX_RGB   204
 
#define CMP_NODE_VALTORGB   205
 
#define CMP_NODE_RGBTOBW   206
 
#define CMP_NODE_NORMAL   207
 
#define CMP_NODE_CURVE_VEC   208
 
#define CMP_NODE_CURVE_RGB   209
 
#define CMP_NODE_ALPHAOVER   210
 
#define CMP_NODE_BLUR   211
 
#define CMP_NODE_FILTER   212
 
#define CMP_NODE_MAP_VALUE   213
 
#define CMP_NODE_TIME   214
 
#define CMP_NODE_VECBLUR   215
 
#define CMP_NODE_SEPRGBA   216
 
#define CMP_NODE_SEPHSVA   217
 
#define CMP_NODE_SETALPHA   218
 
#define CMP_NODE_HUE_SAT   219
 
#define CMP_NODE_IMAGE   220
 
#define CMP_NODE_R_LAYERS   221
 
#define CMP_NODE_COMPOSITE   222
 
#define CMP_NODE_OUTPUT_FILE   223
 
#define CMP_NODE_TEXTURE   224
 
#define CMP_NODE_TRANSLATE   225
 
#define CMP_NODE_ZCOMBINE   226
 
#define CMP_NODE_COMBRGBA   227
 
#define CMP_NODE_DILATEERODE   228
 
#define CMP_NODE_ROTATE   229
 
#define CMP_NODE_SCALE   230
 
#define CMP_NODE_SEPYCCA   231
 
#define CMP_NODE_COMBYCCA   232
 
#define CMP_NODE_SEPYUVA   233
 
#define CMP_NODE_COMBYUVA   234
 
#define CMP_NODE_DIFF_MATTE   235
 
#define CMP_NODE_COLOR_SPILL   236
 
#define CMP_NODE_CHROMA_MATTE   237
 
#define CMP_NODE_CHANNEL_MATTE   238
 
#define CMP_NODE_FLIP   239
 
#define CMP_NODE_SPLITVIEWER   240
 
#define CMP_NODE_MAP_UV   242
 
#define CMP_NODE_ID_MASK   243
 
#define CMP_NODE_DEFOCUS   244
 
#define CMP_NODE_DISPLACE   245
 
#define CMP_NODE_COMBHSVA   246
 
#define CMP_NODE_MATH   247
 
#define CMP_NODE_LUMA_MATTE   248
 
#define CMP_NODE_BRIGHTCONTRAST   249
 
#define CMP_NODE_GAMMA   250
 
#define CMP_NODE_INVERT   251
 
#define CMP_NODE_NORMALIZE   252
 
#define CMP_NODE_CROP   253
 
#define CMP_NODE_DBLUR   254
 
#define CMP_NODE_BILATERALBLUR   255
 
#define CMP_NODE_PREMULKEY   256
 
#define CMP_NODE_DIST_MATTE   257
 
#define CMP_NODE_VIEW_LEVELS   258
 
#define CMP_NODE_COLOR_MATTE   259
 
#define CMP_NODE_COLORBALANCE   260
 
#define CMP_NODE_HUECORRECT   261
 
#define CMP_NODE_MOVIECLIP   262
 
#define CMP_NODE_STABILIZE2D   263
 
#define CMP_NODE_TRANSFORM   264
 
#define CMP_NODE_MOVIEDISTORTION   265
 
#define CMP_NODE_DOUBLEEDGEMASK   266
 
#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED    267 /* DEPRECATED multi file node has been merged into regular CMP_NODE_OUTPUT_FILE */
 
#define CMP_NODE_MASK   268
 
#define CMP_NODE_KEYINGSCREEN   269
 
#define CMP_NODE_KEYING   270
 
#define CMP_NODE_TRACKPOS   271
 
#define CMP_NODE_INPAINT   272
 
#define CMP_NODE_DESPECKLE   273
 
#define CMP_NODE_ANTIALIASING   274
 
#define CMP_NODE_GLARE   301
 
#define CMP_NODE_TONEMAP   302
 
#define CMP_NODE_LENSDIST   303
 
#define CMP_NODE_SUNBEAMS   304
 
#define CMP_NODE_COLORCORRECTION   312
 
#define CMP_NODE_MASK_BOX   313
 
#define CMP_NODE_MASK_ELLIPSE   314
 
#define CMP_NODE_BOKEHIMAGE   315
 
#define CMP_NODE_BOKEHBLUR   316
 
#define CMP_NODE_SWITCH   317
 
#define CMP_NODE_PIXELATE   318
 
#define CMP_NODE_MAP_RANGE   319
 
#define CMP_NODE_PLANETRACKDEFORM   320
 
#define CMP_NODE_CORNERPIN   321
 
#define CMP_NODE_SWITCH_VIEW   322
 
#define CMP_NODE_CRYPTOMATTE_LEGACY   323
 
#define CMP_NODE_DENOISE   324
 
#define CMP_NODE_EXPOSURE   325
 
#define CMP_NODE_CRYPTOMATTE   326
 
#define CMP_CHAN_RGB   1
 
#define CMP_CHAN_A   2
 
#define CMP_FILT_SOFT   0
 
#define CMP_FILT_SHARP   1
 
#define CMP_FILT_LAPLACE   2
 
#define CMP_FILT_SOBEL   3
 
#define CMP_FILT_PREWITT   4
 
#define CMP_FILT_KIRSCH   5
 
#define CMP_FILT_SHADOW   6
 
#define CMP_SCALE_RELATIVE   0
 
#define CMP_SCALE_ABSOLUTE   1
 
#define CMP_SCALE_SCENEPERCENT   2
 
#define CMP_SCALE_RENDERPERCENT   3
 
#define CMP_SCALE_RENDERSIZE_FRAME_ASPECT   (1 << 0)
 
#define CMP_SCALE_RENDERSIZE_FRAME_CROP   (1 << 1)
 
#define CMP_TRACKPOS_ABSOLUTE   0
 
#define CMP_TRACKPOS_RELATIVE_START   1
 
#define CMP_TRACKPOS_RELATIVE_FRAME   2
 
#define CMP_TRACKPOS_ABSOLUTE_FRAME   3
 
#define CMP_CRYPTOMATTE_SRC_RENDER   0
 
#define CMP_CRYPTOMATTE_SRC_IMAGE   1
 
void ntreeCompositExecTree (struct Scene *scene, struct bNodeTree *ntree, struct RenderData *rd, int rendering, int do_previews, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings, const char *view_name)
 
void ntreeCompositTagRender (struct Scene *scene)
 
void ntreeCompositUpdateRLayers (struct bNodeTree *ntree)
 
void ntreeCompositRegisterPass (struct bNodeTree *ntree, struct Scene *scene, struct ViewLayer *view_layer, const char *name, eNodeSocketDatatype type)
 
void ntreeCompositClearTags (struct bNodeTree *ntree)
 
struct bNodeSocketntreeCompositOutputFileAddSocket (struct bNodeTree *ntree, struct bNode *node, const char *name, struct ImageFormatData *im_format)
 
int ntreeCompositOutputFileRemoveActiveSocket (struct bNodeTree *ntree, struct bNode *node)
 
void ntreeCompositOutputFileSetPath (struct bNode *node, struct bNodeSocket *sock, const char *name)
 
void ntreeCompositOutputFileSetLayer (struct bNode *node, struct bNodeSocket *sock, const char *name)
 
void ntreeCompositOutputFileUniquePath (struct ListBase *list, struct bNodeSocket *sock, const char defname[], char delim)
 
void ntreeCompositOutputFileUniqueLayer (struct ListBase *list, struct bNodeSocket *sock, const char defname[], char delim)
 
void ntreeCompositColorBalanceSyncFromLGG (bNodeTree *ntree, bNode *node)
 
void ntreeCompositColorBalanceSyncFromCDL (bNodeTree *ntree, bNode *node)
 
void ntreeCompositCryptomatteSyncFromAdd (const Scene *scene, bNode *node)
 
void ntreeCompositCryptomatteSyncFromRemove (bNode *node)
 
bNodeSocketntreeCompositCryptomatteAddSocket (bNodeTree *ntree, bNode *node)
 
int ntreeCompositCryptomatteRemoveSocket (bNodeTree *ntree, bNode *node)
 
void ntreeCompositCryptomatteLayerPrefix (const Scene *scene, const bNode *node, char *r_prefix, size_t prefix_len)
 
void ntreeCompositCryptomatteUpdateLayerNames (const Scene *scene, bNode *node)
 
struct CryptomatteSessionntreeCompositCryptomatteSession (const Scene *scene, bNode *node)
 

Texture Nodes

#define TEX_NODE_OUTPUT   401
 
#define TEX_NODE_CHECKER   402
 
#define TEX_NODE_TEXTURE   403
 
#define TEX_NODE_BRICKS   404
 
#define TEX_NODE_MATH   405
 
#define TEX_NODE_MIX_RGB   406
 
#define TEX_NODE_RGBTOBW   407
 
#define TEX_NODE_VALTORGB   408
 
#define TEX_NODE_IMAGE   409
 
#define TEX_NODE_CURVE_RGB   410
 
#define TEX_NODE_INVERT   411
 
#define TEX_NODE_HUE_SAT   412
 
#define TEX_NODE_CURVE_TIME   413
 
#define TEX_NODE_ROTATE   414
 
#define TEX_NODE_VIEWER   415
 
#define TEX_NODE_TRANSLATE   416
 
#define TEX_NODE_COORD   417
 
#define TEX_NODE_DISTANCE   418
 
#define TEX_NODE_COMPOSE   419
 
#define TEX_NODE_DECOMPOSE   420
 
#define TEX_NODE_VALTONOR   421
 
#define TEX_NODE_SCALE   422
 
#define TEX_NODE_AT   423
 
#define TEX_NODE_PROC   500
 
#define TEX_NODE_PROC_MAX   600
 
void ntreeTexCheckCyclics (struct bNodeTree *ntree)
 
struct bNodeTreeExecntreeTexBeginExecTree (struct bNodeTree *ntree)
 
void ntreeTexEndExecTree (struct bNodeTreeExec *exec)
 
int ntreeTexExecTree (struct bNodeTree *ntree, struct TexResult *target, const float co[3], float dxt[3], float dyt[3], int osatex, const short thread, const struct Tex *tex, short which_output, int cfra, int preview, struct MTex *mtex)
 

Macro Definition Documentation

◆ CMP_CHAN_A

#define CMP_CHAN_A   2

Definition at line 1232 of file BKE_node.h.

◆ CMP_CHAN_RGB

#define CMP_CHAN_RGB   1

Definition at line 1231 of file BKE_node.h.

◆ CMP_CRYPTOMATTE_SRC_IMAGE

#define CMP_CRYPTOMATTE_SRC_IMAGE   1

Definition at line 1260 of file BKE_node.h.

◆ CMP_CRYPTOMATTE_SRC_RENDER

#define CMP_CRYPTOMATTE_SRC_RENDER   0

Definition at line 1259 of file BKE_node.h.

◆ CMP_FILT_KIRSCH

#define CMP_FILT_KIRSCH   5

Definition at line 1240 of file BKE_node.h.

◆ CMP_FILT_LAPLACE

#define CMP_FILT_LAPLACE   2

Definition at line 1237 of file BKE_node.h.

◆ CMP_FILT_PREWITT

#define CMP_FILT_PREWITT   4

Definition at line 1239 of file BKE_node.h.

◆ CMP_FILT_SHADOW

#define CMP_FILT_SHADOW   6

Definition at line 1241 of file BKE_node.h.

◆ CMP_FILT_SHARP

#define CMP_FILT_SHARP   1

Definition at line 1236 of file BKE_node.h.

◆ CMP_FILT_SOBEL

#define CMP_FILT_SOBEL   3

Definition at line 1238 of file BKE_node.h.

◆ CMP_FILT_SOFT

#define CMP_FILT_SOFT   0

Definition at line 1235 of file BKE_node.h.

◆ CMP_NODE_ALPHAOVER

#define CMP_NODE_ALPHAOVER   210

Definition at line 1141 of file BKE_node.h.

◆ CMP_NODE_ANTIALIASING

#define CMP_NODE_ANTIALIASING   274

Definition at line 1206 of file BKE_node.h.

◆ CMP_NODE_BILATERALBLUR

#define CMP_NODE_BILATERALBLUR   255

Definition at line 1186 of file BKE_node.h.

◆ CMP_NODE_BLUR

#define CMP_NODE_BLUR   211

Definition at line 1142 of file BKE_node.h.

◆ CMP_NODE_BOKEHBLUR

#define CMP_NODE_BOKEHBLUR   316

Definition at line 1217 of file BKE_node.h.

◆ CMP_NODE_BOKEHIMAGE

#define CMP_NODE_BOKEHIMAGE   315

Definition at line 1216 of file BKE_node.h.

◆ CMP_NODE_BRIGHTCONTRAST

#define CMP_NODE_BRIGHTCONTRAST   249

Definition at line 1180 of file BKE_node.h.

◆ CMP_NODE_CHANNEL_MATTE

#define CMP_NODE_CHANNEL_MATTE   238

Definition at line 1169 of file BKE_node.h.

◆ CMP_NODE_CHROMA_MATTE

#define CMP_NODE_CHROMA_MATTE   237

Definition at line 1168 of file BKE_node.h.

◆ CMP_NODE_COLOR_MATTE

#define CMP_NODE_COLOR_MATTE   259

Definition at line 1190 of file BKE_node.h.

◆ CMP_NODE_COLOR_SPILL

#define CMP_NODE_COLOR_SPILL   236

Definition at line 1167 of file BKE_node.h.

◆ CMP_NODE_COLORBALANCE

#define CMP_NODE_COLORBALANCE   260

Definition at line 1191 of file BKE_node.h.

◆ CMP_NODE_COLORCORRECTION

#define CMP_NODE_COLORCORRECTION   312

Definition at line 1213 of file BKE_node.h.

◆ CMP_NODE_COMBHSVA

#define CMP_NODE_COMBHSVA   246

Definition at line 1177 of file BKE_node.h.

◆ CMP_NODE_COMBRGBA

#define CMP_NODE_COMBRGBA   227

Definition at line 1158 of file BKE_node.h.

◆ CMP_NODE_COMBYCCA

#define CMP_NODE_COMBYCCA   232

Definition at line 1163 of file BKE_node.h.

◆ CMP_NODE_COMBYUVA

#define CMP_NODE_COMBYUVA   234

Definition at line 1165 of file BKE_node.h.

◆ CMP_NODE_COMPOSITE

#define CMP_NODE_COMPOSITE   222

Definition at line 1153 of file BKE_node.h.

◆ CMP_NODE_CORNERPIN

#define CMP_NODE_CORNERPIN   321

Definition at line 1223 of file BKE_node.h.

◆ CMP_NODE_CROP

#define CMP_NODE_CROP   253

Definition at line 1184 of file BKE_node.h.

◆ CMP_NODE_CRYPTOMATTE

#define CMP_NODE_CRYPTOMATTE   326

Definition at line 1228 of file BKE_node.h.

◆ CMP_NODE_CRYPTOMATTE_LEGACY

#define CMP_NODE_CRYPTOMATTE_LEGACY   323

Definition at line 1225 of file BKE_node.h.

◆ CMP_NODE_CURVE_RGB

#define CMP_NODE_CURVE_RGB   209

Definition at line 1140 of file BKE_node.h.

◆ CMP_NODE_CURVE_VEC

#define CMP_NODE_CURVE_VEC   208

Definition at line 1139 of file BKE_node.h.

◆ CMP_NODE_DBLUR

#define CMP_NODE_DBLUR   254

Definition at line 1185 of file BKE_node.h.

◆ CMP_NODE_DEFOCUS

#define CMP_NODE_DEFOCUS   244

Definition at line 1175 of file BKE_node.h.

◆ CMP_NODE_DENOISE

#define CMP_NODE_DENOISE   324

Definition at line 1226 of file BKE_node.h.

◆ CMP_NODE_DESPECKLE

#define CMP_NODE_DESPECKLE   273

Definition at line 1205 of file BKE_node.h.

◆ CMP_NODE_DIFF_MATTE

#define CMP_NODE_DIFF_MATTE   235

Definition at line 1166 of file BKE_node.h.

◆ CMP_NODE_DILATEERODE

#define CMP_NODE_DILATEERODE   228

Definition at line 1159 of file BKE_node.h.

◆ CMP_NODE_DISPLACE

#define CMP_NODE_DISPLACE   245

Definition at line 1176 of file BKE_node.h.

◆ CMP_NODE_DIST_MATTE

#define CMP_NODE_DIST_MATTE   257

Definition at line 1188 of file BKE_node.h.

◆ CMP_NODE_DOUBLEEDGEMASK

#define CMP_NODE_DOUBLEEDGEMASK   266

Definition at line 1197 of file BKE_node.h.

◆ CMP_NODE_EXPOSURE

#define CMP_NODE_EXPOSURE   325

Definition at line 1227 of file BKE_node.h.

◆ CMP_NODE_FILTER

#define CMP_NODE_FILTER   212

Definition at line 1143 of file BKE_node.h.

◆ CMP_NODE_FLIP

#define CMP_NODE_FLIP   239

Definition at line 1170 of file BKE_node.h.

◆ CMP_NODE_GAMMA

#define CMP_NODE_GAMMA   250

Definition at line 1181 of file BKE_node.h.

◆ CMP_NODE_GLARE

#define CMP_NODE_GLARE   301

Definition at line 1208 of file BKE_node.h.

◆ CMP_NODE_HUE_SAT

#define CMP_NODE_HUE_SAT   219

Definition at line 1150 of file BKE_node.h.

◆ CMP_NODE_HUECORRECT

#define CMP_NODE_HUECORRECT   261

Definition at line 1192 of file BKE_node.h.

◆ CMP_NODE_ID_MASK

#define CMP_NODE_ID_MASK   243

Definition at line 1174 of file BKE_node.h.

◆ CMP_NODE_IMAGE

#define CMP_NODE_IMAGE   220

Definition at line 1151 of file BKE_node.h.

◆ CMP_NODE_INPAINT

#define CMP_NODE_INPAINT   272

Definition at line 1204 of file BKE_node.h.

◆ CMP_NODE_INVERT

#define CMP_NODE_INVERT   251

Definition at line 1182 of file BKE_node.h.

◆ CMP_NODE_KEYING

#define CMP_NODE_KEYING   270

Definition at line 1202 of file BKE_node.h.

◆ CMP_NODE_KEYINGSCREEN

#define CMP_NODE_KEYINGSCREEN   269

Definition at line 1201 of file BKE_node.h.

◆ CMP_NODE_LENSDIST

#define CMP_NODE_LENSDIST   303

Definition at line 1210 of file BKE_node.h.

◆ CMP_NODE_LUMA_MATTE

#define CMP_NODE_LUMA_MATTE   248

Definition at line 1179 of file BKE_node.h.

◆ CMP_NODE_MAP_RANGE

#define CMP_NODE_MAP_RANGE   319

Definition at line 1221 of file BKE_node.h.

◆ CMP_NODE_MAP_UV

#define CMP_NODE_MAP_UV   242

Definition at line 1173 of file BKE_node.h.

◆ CMP_NODE_MAP_VALUE

#define CMP_NODE_MAP_VALUE   213

Definition at line 1144 of file BKE_node.h.

◆ CMP_NODE_MASK

#define CMP_NODE_MASK   268

Definition at line 1200 of file BKE_node.h.

◆ CMP_NODE_MASK_BOX

#define CMP_NODE_MASK_BOX   313

Definition at line 1214 of file BKE_node.h.

◆ CMP_NODE_MASK_ELLIPSE

#define CMP_NODE_MASK_ELLIPSE   314

Definition at line 1215 of file BKE_node.h.

◆ CMP_NODE_MATH

#define CMP_NODE_MATH   247

Definition at line 1178 of file BKE_node.h.

◆ CMP_NODE_MIX_RGB

#define CMP_NODE_MIX_RGB   204

Definition at line 1135 of file BKE_node.h.

◆ CMP_NODE_MOVIECLIP

#define CMP_NODE_MOVIECLIP   262

Definition at line 1193 of file BKE_node.h.

◆ CMP_NODE_MOVIEDISTORTION

#define CMP_NODE_MOVIEDISTORTION   265

Definition at line 1196 of file BKE_node.h.

◆ CMP_NODE_NORMAL

#define CMP_NODE_NORMAL   207

Definition at line 1138 of file BKE_node.h.

◆ CMP_NODE_NORMALIZE

#define CMP_NODE_NORMALIZE   252

Definition at line 1183 of file BKE_node.h.

◆ CMP_NODE_OUTPUT_FILE

#define CMP_NODE_OUTPUT_FILE   223

Definition at line 1154 of file BKE_node.h.

◆ CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED

#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED    267 /* DEPRECATED multi file node has been merged into regular CMP_NODE_OUTPUT_FILE */

Definition at line 1198 of file BKE_node.h.

◆ CMP_NODE_PIXELATE

#define CMP_NODE_PIXELATE   318

Definition at line 1219 of file BKE_node.h.

◆ CMP_NODE_PLANETRACKDEFORM

#define CMP_NODE_PLANETRACKDEFORM   320

Definition at line 1222 of file BKE_node.h.

◆ CMP_NODE_PREMULKEY

#define CMP_NODE_PREMULKEY   256

Definition at line 1187 of file BKE_node.h.

◆ CMP_NODE_R_LAYERS

#define CMP_NODE_R_LAYERS   221

Definition at line 1152 of file BKE_node.h.

◆ CMP_NODE_RGB

#define CMP_NODE_RGB   202

Definition at line 1133 of file BKE_node.h.

◆ CMP_NODE_RGBTOBW

#define CMP_NODE_RGBTOBW   206

Definition at line 1137 of file BKE_node.h.

◆ CMP_NODE_ROTATE

#define CMP_NODE_ROTATE   229

Definition at line 1160 of file BKE_node.h.

◆ CMP_NODE_SCALE

#define CMP_NODE_SCALE   230

Definition at line 1161 of file BKE_node.h.

◆ CMP_NODE_SEPHSVA

#define CMP_NODE_SEPHSVA   217

Definition at line 1148 of file BKE_node.h.

◆ CMP_NODE_SEPRGBA

#define CMP_NODE_SEPRGBA   216

Definition at line 1147 of file BKE_node.h.

◆ CMP_NODE_SEPYCCA

#define CMP_NODE_SEPYCCA   231

Definition at line 1162 of file BKE_node.h.

◆ CMP_NODE_SEPYUVA

#define CMP_NODE_SEPYUVA   233

Definition at line 1164 of file BKE_node.h.

◆ CMP_NODE_SETALPHA

#define CMP_NODE_SETALPHA   218

Definition at line 1149 of file BKE_node.h.

◆ CMP_NODE_SPLITVIEWER

#define CMP_NODE_SPLITVIEWER   240

Definition at line 1171 of file BKE_node.h.

◆ CMP_NODE_STABILIZE2D

#define CMP_NODE_STABILIZE2D   263

Definition at line 1194 of file BKE_node.h.

◆ CMP_NODE_SUNBEAMS

#define CMP_NODE_SUNBEAMS   304

Definition at line 1211 of file BKE_node.h.

◆ CMP_NODE_SWITCH

#define CMP_NODE_SWITCH   317

Definition at line 1218 of file BKE_node.h.

◆ CMP_NODE_SWITCH_VIEW

#define CMP_NODE_SWITCH_VIEW   322

Definition at line 1224 of file BKE_node.h.

◆ CMP_NODE_TEXTURE

#define CMP_NODE_TEXTURE   224

Definition at line 1155 of file BKE_node.h.

◆ CMP_NODE_TIME

#define CMP_NODE_TIME   214

Definition at line 1145 of file BKE_node.h.

◆ CMP_NODE_TONEMAP

#define CMP_NODE_TONEMAP   302

Definition at line 1209 of file BKE_node.h.

◆ CMP_NODE_TRACKPOS

#define CMP_NODE_TRACKPOS   271

Definition at line 1203 of file BKE_node.h.

◆ CMP_NODE_TRANSFORM

#define CMP_NODE_TRANSFORM   264

Definition at line 1195 of file BKE_node.h.

◆ CMP_NODE_TRANSLATE

#define CMP_NODE_TRANSLATE   225

Definition at line 1156 of file BKE_node.h.

◆ CMP_NODE_VALTORGB

#define CMP_NODE_VALTORGB   205

Definition at line 1136 of file BKE_node.h.

◆ CMP_NODE_VALUE

#define CMP_NODE_VALUE   203

Definition at line 1134 of file BKE_node.h.

◆ CMP_NODE_VECBLUR

#define CMP_NODE_VECBLUR   215

Definition at line 1146 of file BKE_node.h.

◆ CMP_NODE_VIEW_LEVELS

#define CMP_NODE_VIEW_LEVELS   258

Definition at line 1189 of file BKE_node.h.

◆ CMP_NODE_VIEWER

#define CMP_NODE_VIEWER   201

Definition at line 1132 of file BKE_node.h.

◆ CMP_NODE_ZCOMBINE

#define CMP_NODE_ZCOMBINE   226

Definition at line 1157 of file BKE_node.h.

◆ CMP_SCALE_ABSOLUTE

#define CMP_SCALE_ABSOLUTE   1

Definition at line 1245 of file BKE_node.h.

◆ CMP_SCALE_RELATIVE

#define CMP_SCALE_RELATIVE   0

Definition at line 1244 of file BKE_node.h.

◆ CMP_SCALE_RENDERPERCENT

#define CMP_SCALE_RENDERPERCENT   3

Definition at line 1247 of file BKE_node.h.

◆ CMP_SCALE_RENDERSIZE_FRAME_ASPECT

#define CMP_SCALE_RENDERSIZE_FRAME_ASPECT   (1 << 0)

Definition at line 1249 of file BKE_node.h.

◆ CMP_SCALE_RENDERSIZE_FRAME_CROP

#define CMP_SCALE_RENDERSIZE_FRAME_CROP   (1 << 1)

Definition at line 1250 of file BKE_node.h.

◆ CMP_SCALE_SCENEPERCENT

#define CMP_SCALE_SCENEPERCENT   2

Definition at line 1246 of file BKE_node.h.

◆ CMP_TRACKPOS_ABSOLUTE

#define CMP_TRACKPOS_ABSOLUTE   0

Definition at line 1253 of file BKE_node.h.

◆ CMP_TRACKPOS_ABSOLUTE_FRAME

#define CMP_TRACKPOS_ABSOLUTE_FRAME   3

Definition at line 1256 of file BKE_node.h.

◆ CMP_TRACKPOS_RELATIVE_FRAME

#define CMP_TRACKPOS_RELATIVE_FRAME   2

Definition at line 1255 of file BKE_node.h.

◆ CMP_TRACKPOS_RELATIVE_START

#define CMP_TRACKPOS_RELATIVE_START   1

Definition at line 1254 of file BKE_node.h.

◆ FN_NODE_BOOLEAN_MATH

#define FN_NODE_BOOLEAN_MATH   1200

Definition at line 1426 of file BKE_node.h.

◆ FN_NODE_FLOAT_COMPARE

#define FN_NODE_FLOAT_COMPARE   1202

Definition at line 1427 of file BKE_node.h.

◆ FN_NODE_INPUT_STRING

#define FN_NODE_INPUT_STRING   1208

Definition at line 1430 of file BKE_node.h.

◆ FN_NODE_INPUT_VECTOR

#define FN_NODE_INPUT_VECTOR   1207

Definition at line 1429 of file BKE_node.h.

◆ FN_NODE_RANDOM_FLOAT

#define FN_NODE_RANDOM_FLOAT   1206

Definition at line 1428 of file BKE_node.h.

◆ FOREACH_NODETREE_BEGIN

#define FOREACH_NODETREE_BEGIN (   bmain,
  _nodetree,
  _id 
)
Value:
{ \
struct NodeTreeIterStore _nstore; \
bNodeTree *_nodetree; \
ID *_id; \
/* avoid compiler warning about unused variables */ \
BKE_node_tree_iter_init(&_nstore, bmain); \
while (BKE_node_tree_iter_step(&_nstore, &_nodetree, &_id) == true) { \
if (_nodetree) {
bool BKE_node_tree_iter_step(struct NodeTreeIterStore *ntreeiter, struct bNodeTree **r_nodetree, struct ID **r_id)
Definition: node.cc:5086

Definition at line 935 of file BKE_node.h.

◆ FOREACH_NODETREE_END

#define FOREACH_NODETREE_END
Value:
} \
} \
} \
((void)0)

Definition at line 945 of file BKE_node.h.

◆ GEO_NODE_ALIGN_ROTATION_TO_VECTOR

#define GEO_NODE_ALIGN_ROTATION_TO_VECTOR   1018

Definition at line 1394 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_CLAMP

#define GEO_NODE_ATTRIBUTE_CLAMP   1041

Definition at line 1417 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_COLOR_RAMP

#define GEO_NODE_ATTRIBUTE_COLOR_RAMP   1013

Definition at line 1389 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_COMBINE_XYZ

#define GEO_NODE_ATTRIBUTE_COMBINE_XYZ   1027

Definition at line 1403 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_COMPARE

#define GEO_NODE_ATTRIBUTE_COMPARE   1015

Definition at line 1391 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_CONVERT

#define GEO_NODE_ATTRIBUTE_CONVERT   1031

Definition at line 1407 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_FILL

#define GEO_NODE_ATTRIBUTE_FILL   1011

Definition at line 1387 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_MAP_RANGE

#define GEO_NODE_ATTRIBUTE_MAP_RANGE   1040

Definition at line 1416 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_MATH

#define GEO_NODE_ATTRIBUTE_MATH   1009

Definition at line 1385 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_MIX

#define GEO_NODE_ATTRIBUTE_MIX   1012

Definition at line 1388 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_PROXIMITY

#define GEO_NODE_ATTRIBUTE_PROXIMITY   1025

Definition at line 1401 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_RANDOMIZE

#define GEO_NODE_ATTRIBUTE_RANDOMIZE   1008

Definition at line 1384 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_REMOVE

#define GEO_NODE_ATTRIBUTE_REMOVE   1030

Definition at line 1406 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_SAMPLE_TEXTURE

#define GEO_NODE_ATTRIBUTE_SAMPLE_TEXTURE   1021

Definition at line 1397 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_SEPARATE_XYZ

#define GEO_NODE_ATTRIBUTE_SEPARATE_XYZ   1028

Definition at line 1404 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_VECTOR_MATH

#define GEO_NODE_ATTRIBUTE_VECTOR_MATH   1017

Definition at line 1393 of file BKE_node.h.

◆ GEO_NODE_BOOLEAN

#define GEO_NODE_BOOLEAN   1003

Definition at line 1379 of file BKE_node.h.

◆ GEO_NODE_BOUNDING_BOX

#define GEO_NODE_BOUNDING_BOX   1042

Definition at line 1418 of file BKE_node.h.

◆ GEO_NODE_COLLECTION_INFO

#define GEO_NODE_COLLECTION_INFO   1023

Definition at line 1399 of file BKE_node.h.

◆ GEO_NODE_EDGE_SPLIT

#define GEO_NODE_EDGE_SPLIT   1001

Definition at line 1377 of file BKE_node.h.

◆ GEO_NODE_IS_VIEWPORT

#define GEO_NODE_IS_VIEWPORT   1024

Definition at line 1400 of file BKE_node.h.

◆ GEO_NODE_JOIN_GEOMETRY

#define GEO_NODE_JOIN_GEOMETRY   1010

Definition at line 1386 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CIRCLE

#define GEO_NODE_MESH_PRIMITIVE_CIRCLE   1033

Definition at line 1409 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CONE

#define GEO_NODE_MESH_PRIMITIVE_CONE   1037

Definition at line 1413 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CUBE

#define GEO_NODE_MESH_PRIMITIVE_CUBE   1032

Definition at line 1408 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CYLINDER

#define GEO_NODE_MESH_PRIMITIVE_CYLINDER   1035

Definition at line 1411 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_GRID

#define GEO_NODE_MESH_PRIMITIVE_GRID   1039

Definition at line 1415 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE

#define GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE   1036

Definition at line 1412 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_LINE

#define GEO_NODE_MESH_PRIMITIVE_LINE   1038

Definition at line 1414 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_UV_SPHERE

#define GEO_NODE_MESH_PRIMITIVE_UV_SPHERE   1034

Definition at line 1410 of file BKE_node.h.

◆ GEO_NODE_OBJECT_INFO

#define GEO_NODE_OBJECT_INFO   1007

Definition at line 1383 of file BKE_node.h.

◆ GEO_NODE_POINT_DISTRIBUTE

#define GEO_NODE_POINT_DISTRIBUTE   1004

Definition at line 1380 of file BKE_node.h.

◆ GEO_NODE_POINT_INSTANCE

#define GEO_NODE_POINT_INSTANCE   1005

Definition at line 1381 of file BKE_node.h.

◆ GEO_NODE_POINT_ROTATE

#define GEO_NODE_POINT_ROTATE   1016

Definition at line 1392 of file BKE_node.h.

◆ GEO_NODE_POINT_SCALE

#define GEO_NODE_POINT_SCALE   1020

Definition at line 1396 of file BKE_node.h.

◆ GEO_NODE_POINT_SEPARATE

#define GEO_NODE_POINT_SEPARATE   1014

Definition at line 1390 of file BKE_node.h.

◆ GEO_NODE_POINT_TRANSLATE

#define GEO_NODE_POINT_TRANSLATE   1019

Definition at line 1395 of file BKE_node.h.

◆ GEO_NODE_POINTS_TO_VOLUME

#define GEO_NODE_POINTS_TO_VOLUME   1022

Definition at line 1398 of file BKE_node.h.

◆ GEO_NODE_SUBDIVIDE

#define GEO_NODE_SUBDIVIDE   1029

Definition at line 1405 of file BKE_node.h.

◆ GEO_NODE_SUBDIVISION_SURFACE

#define GEO_NODE_SUBDIVISION_SURFACE   1006

Definition at line 1382 of file BKE_node.h.

◆ GEO_NODE_TRANSFORM

#define GEO_NODE_TRANSFORM   1002

Definition at line 1378 of file BKE_node.h.

◆ GEO_NODE_TRIANGULATE

#define GEO_NODE_TRIANGULATE   1000

Definition at line 1376 of file BKE_node.h.

◆ GEO_NODE_VOLUME_TO_MESH

#define GEO_NODE_VOLUME_TO_MESH   1026

Definition at line 1402 of file BKE_node.h.

◆ MAX_SOCKET

#define MAX_SOCKET   512

Definition at line 41 of file BKE_node.h.

◆ NODE_CLASS_ATTRIBUTE

#define NODE_CLASS_ATTRIBUTE   42

Definition at line 360 of file BKE_node.h.

◆ NODE_CLASS_CONVERTOR

#define NODE_CLASS_CONVERTOR   8

Definition at line 341 of file BKE_node.h.

◆ NODE_CLASS_DISTORT

#define NODE_CLASS_DISTORT   10

Definition at line 343 of file BKE_node.h.

◆ NODE_CLASS_GEOMETRY

#define NODE_CLASS_GEOMETRY   41

Definition at line 359 of file BKE_node.h.

◆ NODE_CLASS_GROUP

#define NODE_CLASS_GROUP   6

Definition at line 339 of file BKE_node.h.

◆ NODE_CLASS_INPUT

#define NODE_CLASS_INPUT   0

Definition at line 334 of file BKE_node.h.

◆ NODE_CLASS_INTERFACE

#define NODE_CLASS_INTERFACE   33

Definition at line 357 of file BKE_node.h.

◆ NODE_CLASS_LAYOUT

#define NODE_CLASS_LAYOUT   100

Definition at line 361 of file BKE_node.h.

◆ NODE_CLASS_MATTE

#define NODE_CLASS_MATTE   9

Definition at line 342 of file BKE_node.h.

◆ NODE_CLASS_OP_COLOR

#define NODE_CLASS_OP_COLOR   3

Definition at line 336 of file BKE_node.h.

◆ NODE_CLASS_OP_FILTER

#define NODE_CLASS_OP_FILTER   5

Definition at line 338 of file BKE_node.h.

◆ NODE_CLASS_OP_VECTOR

#define NODE_CLASS_OP_VECTOR   4

Definition at line 337 of file BKE_node.h.

◆ NODE_CLASS_OUTPUT

#define NODE_CLASS_OUTPUT   1

Definition at line 335 of file BKE_node.h.

◆ NODE_CLASS_PATTERN

#define NODE_CLASS_PATTERN   12

Definition at line 345 of file BKE_node.h.

◆ NODE_CLASS_SCRIPT

#define NODE_CLASS_SCRIPT   32

Definition at line 356 of file BKE_node.h.

◆ NODE_CLASS_SHADER

#define NODE_CLASS_SHADER   40

Definition at line 358 of file BKE_node.h.

◆ NODE_CLASS_TEXTURE

#define NODE_CLASS_TEXTURE   13

Definition at line 346 of file BKE_node.h.

◆ NODE_CUSTOM

#define NODE_CUSTOM   -1 /* for dynamically registered custom types */

Definition at line 868 of file BKE_node.h.

◆ NODE_CUSTOM_GROUP

#define NODE_CUSTOM_GROUP   9

Definition at line 876 of file BKE_node.h.

◆ NODE_DYNAMIC

#define NODE_DYNAMIC   123

Definition at line 993 of file BKE_node.h.

◆ NODE_FRAME

#define NODE_FRAME   5

Definition at line 872 of file BKE_node.h.

◆ NODE_GROUP

#define NODE_GROUP   2

Definition at line 869 of file BKE_node.h.

◆ NODE_GROUP_INPUT

#define NODE_GROUP_INPUT   7

Definition at line 874 of file BKE_node.h.

◆ NODE_GROUP_OUTPUT

#define NODE_GROUP_OUTPUT   8

Definition at line 875 of file BKE_node.h.

◆ NODE_INSTANCE_HASH_ITER

#define NODE_INSTANCE_HASH_ITER (   iter_,
  hash_ 
)
Value:
for (BKE_node_instance_hash_iterator_init(&iter_, hash_); \
BKE_node_instance_hash_iterator_done(&iter_) == false; \
BKE_node_instance_hash_iterator_step(&iter_))
BLI_INLINE void BKE_node_instance_hash_iterator_init(bNodeInstanceHashIterator *iter, bNodeInstanceHash *hash)
Definition: BKE_node.h:754

Definition at line 781 of file BKE_node.h.

◆ NODE_REROUTE

#define NODE_REROUTE   6

Definition at line 873 of file BKE_node.h.

◆ NODE_RESIZE_BOTTOM

#define NODE_RESIZE_BOTTOM   2

Definition at line 365 of file BKE_node.h.

◆ NODE_RESIZE_LEFT

#define NODE_RESIZE_LEFT   8

Definition at line 367 of file BKE_node.h.

◆ NODE_RESIZE_RIGHT

#define NODE_RESIZE_RIGHT   4

Definition at line 366 of file BKE_node.h.

◆ NODE_RESIZE_TOP

#define NODE_RESIZE_TOP   1

Definition at line 364 of file BKE_node.h.

◆ NODE_SOCKET_TYPES_BEGIN

#define NODE_SOCKET_TYPES_BEGIN (   stype)
Value:
{ \
GHashIterator *__node_socket_type_iter__ = nodeSocketTypeGetIterator(); \
for (; !BLI_ghashIterator_done(__node_socket_type_iter__); \
BLI_ghashIterator_step(__node_socket_type_iter__)) { \
bNodeSocketType *stype = (bNodeSocketType *)BLI_ghashIterator_getValue( \
__node_socket_type_iter__);
struct GHashIterator * nodeSocketTypeGetIterator(void)
Definition: node.cc:1371
BLI_INLINE bool BLI_ghashIterator_done(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
Definition: BLI_ghash.h:158
BLI_INLINE void * BLI_ghashIterator_getValue(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
Definition: BLI_ghash.h:150
Defines a socket type.
Definition: BKE_node.h:143

Definition at line 557 of file BKE_node.h.

◆ NODE_SOCKET_TYPES_END

#define NODE_SOCKET_TYPES_END
Value:
} \
BLI_ghashIterator_free(__node_socket_type_iter__); \
} \
((void)0)

Definition at line 565 of file BKE_node.h.

◆ NODE_TREE_TYPES_BEGIN

#define NODE_TREE_TYPES_BEGIN (   ntype)
Value:
{ \
GHashIterator *__node_tree_type_iter__ = ntreeTypeGetIterator(); \
for (; !BLI_ghashIterator_done(__node_tree_type_iter__); \
BLI_ghashIterator_step(__node_tree_type_iter__)) { \
bNodeTreeType *ntype = (bNodeTreeType *)BLI_ghashIterator_getValue(__node_tree_type_iter__);
struct GHashIterator * ntreeTypeGetIterator(void)
Definition: node.cc:1249

Definition at line 430 of file BKE_node.h.

◆ NODE_TREE_TYPES_END

#define NODE_TREE_TYPES_END
Value:
} \
BLI_ghashIterator_free(__node_tree_type_iter__); \
} \
(void)0

Definition at line 437 of file BKE_node.h.

◆ NODE_TYPES_BEGIN

#define NODE_TYPES_BEGIN (   ntype)
Value:
{ \
GHashIterator *__node_type_iter__ = nodeTypeGetIterator(); \
for (; !BLI_ghashIterator_done(__node_type_iter__); \
BLI_ghashIterator_step(__node_type_iter__)) { \
bNodeType *ntype = (bNodeType *)BLI_ghashIterator_getValue(__node_type_iter__);
struct GHashIterator * nodeTypeGetIterator(void)
Definition: node.cc:1323
Defines a node type.
Definition: BKE_node.h:221

Definition at line 535 of file BKE_node.h.

◆ NODE_TYPES_END

#define NODE_TYPES_END
Value:
} \
BLI_ghashIterator_free(__node_type_iter__); \
} \
((void)0)

Definition at line 542 of file BKE_node.h.

◆ NODE_UNDEFINED

#define NODE_UNDEFINED   -2 /* node type is not registered */

Definition at line 867 of file BKE_node.h.

◆ RRES_OUT_ALPHA

#define RRES_OUT_ALPHA   1

Definition at line 1099 of file BKE_node.h.

◆ RRES_OUT_DIFF

#define RRES_OUT_DIFF   7

Definition at line 1105 of file BKE_node.h.

◆ RRES_OUT_IMAGE

#define RRES_OUT_IMAGE   0

Definition at line 1098 of file BKE_node.h.

◆ SH_NODE_ADD_SHADER

#define SH_NODE_ADD_SHADER   156

Definition at line 1021 of file BKE_node.h.

◆ SH_NODE_AMBIENT_OCCLUSION

#define SH_NODE_AMBIENT_OCCLUSION   172

Definition at line 1037 of file BKE_node.h.

◆ SH_NODE_ATTRIBUTE

#define SH_NODE_ATTRIBUTE   129

Definition at line 1000 of file BKE_node.h.

◆ SH_NODE_BACKGROUND

#define SH_NODE_BACKGROUND   130

Definition at line 1001 of file BKE_node.h.

◆ SH_NODE_BEVEL

#define SH_NODE_BEVEL   197

Definition at line 1061 of file BKE_node.h.

◆ SH_NODE_BLACKBODY

#define SH_NODE_BLACKBODY   181

Definition at line 1046 of file BKE_node.h.

◆ SH_NODE_BRIGHTCONTRAST

#define SH_NODE_BRIGHTCONTRAST   165

Definition at line 1030 of file BKE_node.h.

◆ SH_NODE_BSDF_ANISOTROPIC

#define SH_NODE_BSDF_ANISOTROPIC   131

Definition at line 1002 of file BKE_node.h.

◆ SH_NODE_BSDF_DIFFUSE

#define SH_NODE_BSDF_DIFFUSE   132

Definition at line 1003 of file BKE_node.h.

◆ SH_NODE_BSDF_GLASS

#define SH_NODE_BSDF_GLASS   134

Definition at line 1005 of file BKE_node.h.

◆ SH_NODE_BSDF_GLOSSY

#define SH_NODE_BSDF_GLOSSY   133

Definition at line 1004 of file BKE_node.h.

◆ SH_NODE_BSDF_HAIR

#define SH_NODE_BSDF_HAIR   185

Definition at line 1050 of file BKE_node.h.

◆ SH_NODE_BSDF_HAIR_PRINCIPLED

#define SH_NODE_BSDF_HAIR_PRINCIPLED   701

Definition at line 1066 of file BKE_node.h.

◆ SH_NODE_BSDF_PRINCIPLED

#define SH_NODE_BSDF_PRINCIPLED   193

Definition at line 1058 of file BKE_node.h.

◆ SH_NODE_BSDF_REFRACTION

#define SH_NODE_BSDF_REFRACTION   173

Definition at line 1038 of file BKE_node.h.

◆ SH_NODE_BSDF_TOON

#define SH_NODE_BSDF_TOON   179

Definition at line 1044 of file BKE_node.h.

◆ SH_NODE_BSDF_TRANSLUCENT

#define SH_NODE_BSDF_TRANSLUCENT   137

Definition at line 1006 of file BKE_node.h.

◆ SH_NODE_BSDF_TRANSPARENT

#define SH_NODE_BSDF_TRANSPARENT   138

Definition at line 1007 of file BKE_node.h.

◆ SH_NODE_BSDF_VELVET

#define SH_NODE_BSDF_VELVET   139

Definition at line 1008 of file BKE_node.h.

◆ SH_NODE_BUMP

#define SH_NODE_BUMP   170

Definition at line 1035 of file BKE_node.h.

◆ SH_NODE_CAMERA

#define SH_NODE_CAMERA   114

Definition at line 984 of file BKE_node.h.

◆ SH_NODE_CLAMP

#define SH_NODE_CLAMP   703

Definition at line 1068 of file BKE_node.h.

◆ SH_NODE_COMBHSV

#define SH_NODE_COMBHSV   184

Definition at line 1049 of file BKE_node.h.

◆ SH_NODE_COMBRGB

#define SH_NODE_COMBRGB   121

Definition at line 991 of file BKE_node.h.

◆ SH_NODE_COMBXYZ

#define SH_NODE_COMBXYZ   189

Definition at line 1054 of file BKE_node.h.

◆ SH_NODE_CURVE_RGB

#define SH_NODE_CURVE_RGB   111

Definition at line 983 of file BKE_node.h.

◆ SH_NODE_CURVE_VEC

#define SH_NODE_CURVE_VEC   110

Definition at line 982 of file BKE_node.h.

◆ SH_NODE_DISPLACEMENT

#define SH_NODE_DISPLACEMENT   198

Definition at line 1062 of file BKE_node.h.

◆ SH_NODE_EEVEE_SPECULAR

#define SH_NODE_EEVEE_SPECULAR   195

Definition at line 1060 of file BKE_node.h.

◆ SH_NODE_EMISSION

#define SH_NODE_EMISSION   140

Definition at line 1009 of file BKE_node.h.

◆ SH_NODE_FRESNEL

#define SH_NODE_FRESNEL   127

Definition at line 998 of file BKE_node.h.

◆ SH_NODE_GAMMA

#define SH_NODE_GAMMA   163

Definition at line 1028 of file BKE_node.h.

◆ SH_NODE_HAIR_INFO

#define SH_NODE_HAIR_INFO   176

Definition at line 1041 of file BKE_node.h.

◆ SH_NODE_HOLDOUT

#define SH_NODE_HOLDOUT   159

Definition at line 1024 of file BKE_node.h.

◆ SH_NODE_HUE_SAT

#define SH_NODE_HUE_SAT   122

Definition at line 992 of file BKE_node.h.

◆ SH_NODE_INVERT

#define SH_NODE_INVERT   119

Definition at line 989 of file BKE_node.h.

◆ SH_NODE_LAYER_WEIGHT

#define SH_NODE_LAYER_WEIGHT   160

Definition at line 1025 of file BKE_node.h.

◆ SH_NODE_LIGHT_FALLOFF

#define SH_NODE_LIGHT_FALLOFF   166

Definition at line 1031 of file BKE_node.h.

◆ SH_NODE_LIGHT_PATH

#define SH_NODE_LIGHT_PATH   142

Definition at line 1011 of file BKE_node.h.

◆ SH_NODE_MAP_RANGE

#define SH_NODE_MAP_RANGE   702

Definition at line 1067 of file BKE_node.h.

◆ SH_NODE_MAPPING

#define SH_NODE_MAPPING   109

Definition at line 981 of file BKE_node.h.

◆ SH_NODE_MATH

#define SH_NODE_MATH   115

Definition at line 985 of file BKE_node.h.

◆ SH_NODE_MIX_RGB

#define SH_NODE_MIX_RGB   103

Definition at line 974 of file BKE_node.h.

◆ SH_NODE_MIX_SHADER

#define SH_NODE_MIX_SHADER   128

Definition at line 999 of file BKE_node.h.

◆ SH_NODE_NEW_GEOMETRY

#define SH_NODE_NEW_GEOMETRY   141

Definition at line 1010 of file BKE_node.h.

◆ SH_NODE_NORMAL

#define SH_NODE_NORMAL   107

Definition at line 979 of file BKE_node.h.

◆ SH_NODE_NORMAL_MAP

#define SH_NODE_NORMAL_MAP   175

Definition at line 1040 of file BKE_node.h.

◆ SH_NODE_OBJECT_INFO

#define SH_NODE_OBJECT_INFO   167

Definition at line 1032 of file BKE_node.h.

◆ SH_NODE_OUTPUT_AOV

#define SH_NODE_OUTPUT_AOV   707

Definition at line 1072 of file BKE_node.h.

◆ SH_NODE_OUTPUT_LIGHT

#define SH_NODE_OUTPUT_LIGHT   126

Definition at line 997 of file BKE_node.h.

◆ SH_NODE_OUTPUT_LINESTYLE

#define SH_NODE_OUTPUT_LINESTYLE   190

Definition at line 1055 of file BKE_node.h.

◆ SH_NODE_OUTPUT_MATERIAL

#define SH_NODE_OUTPUT_MATERIAL   124

Definition at line 995 of file BKE_node.h.

◆ SH_NODE_OUTPUT_WORLD

#define SH_NODE_OUTPUT_WORLD   125

Definition at line 996 of file BKE_node.h.

◆ SH_NODE_PARTICLE_INFO

#define SH_NODE_PARTICLE_INFO   168

Definition at line 1033 of file BKE_node.h.

◆ SH_NODE_RGB

#define SH_NODE_RGB   101

Definition at line 972 of file BKE_node.h.

◆ SH_NODE_RGBTOBW

#define SH_NODE_RGBTOBW   105

Definition at line 976 of file BKE_node.h.

◆ SH_NODE_SCRIPT

#define SH_NODE_SCRIPT   171

Definition at line 1036 of file BKE_node.h.

◆ SH_NODE_SEPHSV

#define SH_NODE_SEPHSV   183

Definition at line 1048 of file BKE_node.h.

◆ SH_NODE_SEPRGB

#define SH_NODE_SEPRGB   120

Definition at line 990 of file BKE_node.h.

◆ SH_NODE_SEPXYZ

#define SH_NODE_SEPXYZ   188

Definition at line 1053 of file BKE_node.h.

◆ SH_NODE_SHADERTORGB

#define SH_NODE_SHADERTORGB   106

Definition at line 977 of file BKE_node.h.

◆ SH_NODE_SQUEEZE

#define SH_NODE_SQUEEZE   117

Definition at line 987 of file BKE_node.h.

◆ SH_NODE_SUBSURFACE_SCATTERING

#define SH_NODE_SUBSURFACE_SCATTERING   177

Definition at line 1042 of file BKE_node.h.

◆ SH_NODE_TANGENT

#define SH_NODE_TANGENT   174

Definition at line 1039 of file BKE_node.h.

◆ SH_NODE_TEX_BRICK

#define SH_NODE_TEX_BRICK   169

Definition at line 1034 of file BKE_node.h.

◆ SH_NODE_TEX_CHECKER

#define SH_NODE_TEX_CHECKER   164

Definition at line 1029 of file BKE_node.h.

◆ SH_NODE_TEX_COORD

#define SH_NODE_TEX_COORD   155

Definition at line 1020 of file BKE_node.h.

◆ SH_NODE_TEX_ENVIRONMENT

#define SH_NODE_TEX_ENVIRONMENT   157

Definition at line 1022 of file BKE_node.h.

◆ SH_NODE_TEX_GRADIENT

#define SH_NODE_TEX_GRADIENT   146

Definition at line 1014 of file BKE_node.h.

◆ SH_NODE_TEX_IES

#define SH_NODE_TEX_IES   194

Definition at line 1059 of file BKE_node.h.

◆ SH_NODE_TEX_IMAGE

#define SH_NODE_TEX_IMAGE   143

Definition at line 1012 of file BKE_node.h.

◆ SH_NODE_TEX_MAGIC

#define SH_NODE_TEX_MAGIC   148

Definition at line 1016 of file BKE_node.h.

◆ SH_NODE_TEX_MUSGRAVE

#define SH_NODE_TEX_MUSGRAVE   152

Definition at line 1019 of file BKE_node.h.

◆ SH_NODE_TEX_NOISE

#define SH_NODE_TEX_NOISE   150

Definition at line 1018 of file BKE_node.h.

◆ SH_NODE_TEX_POINTDENSITY

#define SH_NODE_TEX_POINTDENSITY   192

Definition at line 1057 of file BKE_node.h.

◆ SH_NODE_TEX_SKY

#define SH_NODE_TEX_SKY   145

Definition at line 1013 of file BKE_node.h.

◆ SH_NODE_TEX_VORONOI

#define SH_NODE_TEX_VORONOI   147

Definition at line 1015 of file BKE_node.h.

◆ SH_NODE_TEX_WAVE

#define SH_NODE_TEX_WAVE   149

Definition at line 1017 of file BKE_node.h.

◆ SH_NODE_TEX_WHITE_NOISE

#define SH_NODE_TEX_WHITE_NOISE   704

Definition at line 1069 of file BKE_node.h.

◆ SH_NODE_UVALONGSTROKE

#define SH_NODE_UVALONGSTROKE   191

Definition at line 1056 of file BKE_node.h.

◆ SH_NODE_UVMAP

#define SH_NODE_UVMAP   187

Definition at line 1052 of file BKE_node.h.

◆ SH_NODE_VALTORGB

#define SH_NODE_VALTORGB   104

Definition at line 975 of file BKE_node.h.

◆ SH_NODE_VALUE

#define SH_NODE_VALUE   102

Definition at line 973 of file BKE_node.h.

◆ SH_NODE_VECT_TRANSFORM

#define SH_NODE_VECT_TRANSFORM   182

Definition at line 1047 of file BKE_node.h.

◆ SH_NODE_VECTOR_DISPLACEMENT

#define SH_NODE_VECTOR_DISPLACEMENT   199

Definition at line 1063 of file BKE_node.h.

◆ SH_NODE_VECTOR_MATH

#define SH_NODE_VECTOR_MATH   116

Definition at line 986 of file BKE_node.h.

◆ SH_NODE_VECTOR_ROTATE

#define SH_NODE_VECTOR_ROTATE   708

Definition at line 1073 of file BKE_node.h.

◆ SH_NODE_VERTEX_COLOR

#define SH_NODE_VERTEX_COLOR   706

Definition at line 1071 of file BKE_node.h.

◆ SH_NODE_VOLUME_ABSORPTION

#define SH_NODE_VOLUME_ABSORPTION   161

Definition at line 1026 of file BKE_node.h.

◆ SH_NODE_VOLUME_INFO

#define SH_NODE_VOLUME_INFO   705

Definition at line 1070 of file BKE_node.h.

◆ SH_NODE_VOLUME_PRINCIPLED

#define SH_NODE_VOLUME_PRINCIPLED   200

Definition at line 1064 of file BKE_node.h.

◆ SH_NODE_VOLUME_SCATTER

#define SH_NODE_VOLUME_SCATTER   162

Definition at line 1027 of file BKE_node.h.

◆ SH_NODE_WAVELENGTH

#define SH_NODE_WAVELENGTH   180

Definition at line 1045 of file BKE_node.h.

◆ SH_NODE_WIREFRAME

#define SH_NODE_WIREFRAME   178

Definition at line 1043 of file BKE_node.h.

◆ TEX_NODE_AT

#define TEX_NODE_AT   423

Definition at line 1347 of file BKE_node.h.

◆ TEX_NODE_BRICKS

#define TEX_NODE_BRICKS   404

Definition at line 1328 of file BKE_node.h.

◆ TEX_NODE_CHECKER

#define TEX_NODE_CHECKER   402

Definition at line 1326 of file BKE_node.h.

◆ TEX_NODE_COMPOSE

#define TEX_NODE_COMPOSE   419

Definition at line 1343 of file BKE_node.h.

◆ TEX_NODE_COORD

#define TEX_NODE_COORD   417

Definition at line 1341 of file BKE_node.h.

◆ TEX_NODE_CURVE_RGB

#define TEX_NODE_CURVE_RGB   410

Definition at line 1334 of file BKE_node.h.

◆ TEX_NODE_CURVE_TIME

#define TEX_NODE_CURVE_TIME   413

Definition at line 1337 of file BKE_node.h.

◆ TEX_NODE_DECOMPOSE

#define TEX_NODE_DECOMPOSE   420

Definition at line 1344 of file BKE_node.h.

◆ TEX_NODE_DISTANCE

#define TEX_NODE_DISTANCE   418

Definition at line 1342 of file BKE_node.h.

◆ TEX_NODE_HUE_SAT

#define TEX_NODE_HUE_SAT   412

Definition at line 1336 of file BKE_node.h.

◆ TEX_NODE_IMAGE

#define TEX_NODE_IMAGE   409

Definition at line 1333 of file BKE_node.h.

◆ TEX_NODE_INVERT

#define TEX_NODE_INVERT   411

Definition at line 1335 of file BKE_node.h.

◆ TEX_NODE_MATH

#define TEX_NODE_MATH   405

Definition at line 1329 of file BKE_node.h.

◆ TEX_NODE_MIX_RGB

#define TEX_NODE_MIX_RGB   406

Definition at line 1330 of file BKE_node.h.

◆ TEX_NODE_OUTPUT

#define TEX_NODE_OUTPUT   401

Definition at line 1325 of file BKE_node.h.

◆ TEX_NODE_PROC

#define TEX_NODE_PROC   500

Definition at line 1350 of file BKE_node.h.

◆ TEX_NODE_PROC_MAX

#define TEX_NODE_PROC_MAX   600

Definition at line 1351 of file BKE_node.h.

◆ TEX_NODE_RGBTOBW

#define TEX_NODE_RGBTOBW   407

Definition at line 1331 of file BKE_node.h.

◆ TEX_NODE_ROTATE

#define TEX_NODE_ROTATE   414

Definition at line 1338 of file BKE_node.h.

◆ TEX_NODE_SCALE

#define TEX_NODE_SCALE   422

Definition at line 1346 of file BKE_node.h.

◆ TEX_NODE_TEXTURE

#define TEX_NODE_TEXTURE   403

Definition at line 1327 of file BKE_node.h.

◆ TEX_NODE_TRANSLATE

#define TEX_NODE_TRANSLATE   416

Definition at line 1340 of file BKE_node.h.

◆ TEX_NODE_VALTONOR

#define TEX_NODE_VALTONOR   421

Definition at line 1345 of file BKE_node.h.

◆ TEX_NODE_VALTORGB

#define TEX_NODE_VALTORGB   408

Definition at line 1332 of file BKE_node.h.

◆ TEX_NODE_VIEWER

#define TEX_NODE_VIEWER   415

Definition at line 1339 of file BKE_node.h.

Typedef Documentation

◆ bNodeClassCallback

typedef void(* bNodeClassCallback) (void *calldata, int nclass, const char *name)

Definition at line 378 of file BKE_node.h.

◆ bNodeInstanceHash

◆ bNodeInstanceHashIterator

Definition at line 748 of file BKE_node.h.

◆ bNodeInstanceValueFP

typedef void(* bNodeInstanceValueFP) (void *value)

Definition at line 721 of file BKE_node.h.

◆ bNodeSocketTemplate

Compact definition of a node socket.

Can be used to quickly define a list of static sockets for a node, which are added to each new node of that type.

Deprecated:
This struct is used by C nodes to define templates as simple static struct lists. These are converted to the new template collections in RNA types automatically.

◆ bNodeSocketType

Defines a socket type.

Defines the appearance and behavior of a socket in the UI.

◆ bNodeTreeType

typedef struct bNodeTreeType bNodeTreeType

◆ bNodeType

typedef struct bNodeType bNodeType

Defines a node type.

Initial attributes and constants for a node as well as callback functions implementing the node behavior.

◆ eNodeSizePreset

◆ NodeExecFunction

typedef void(* NodeExecFunction) (void *data, int thread, struct bNode *, struct bNodeExecData *execdata, struct bNodeStack **in, struct bNodeStack **out)

Definition at line 203 of file BKE_node.h.

◆ NodeExpandInMFNetworkFunction

Definition at line 131 of file BKE_node.h.

◆ NodeFreeExecFunction

typedef void(* NodeFreeExecFunction) (void *nodedata)

Definition at line 202 of file BKE_node.h.

◆ NodeGeometryExecFunction

typedef void* NodeGeometryExecFunction

Definition at line 133 of file BKE_node.h.

◆ NodeGPUExecFunction

typedef int(* NodeGPUExecFunction) (struct GPUMaterial *mat, struct bNode *node, struct bNodeExecData *execdata, struct GPUNodeStack *in, struct GPUNodeStack *out)

Definition at line 209 of file BKE_node.h.

◆ NodeInitExecFunction

typedef void*(* NodeInitExecFunction) (struct bNodeExecContext *context, struct bNode *node, bNodeInstanceKey key)

Definition at line 199 of file BKE_node.h.

◆ SocketExpandInMFNetworkFunction

Definition at line 132 of file BKE_node.h.

◆ SocketGetCPPTypeFunction

typedef void* SocketGetCPPTypeFunction

Definition at line 134 of file BKE_node.h.

◆ SocketGetCPPValueFunction

Definition at line 135 of file BKE_node.h.

Enumeration Type Documentation

◆ eNodeSizePreset

Enumerator
NODE_SIZE_DEFAULT 
NODE_SIZE_SMALL 
NODE_SIZE_MIDDLE 
NODE_SIZE_LARGE 

Definition at line 369 of file BKE_node.h.

Function Documentation

◆ BKE_node_clipboard_add_link()

void BKE_node_clipboard_add_link ( struct bNodeLink link)

Definition at line 3879 of file node.cc.

References BLI_addtail(), bNodeClipboard::links, and node_clipboard.

Referenced by node_clipboard_copy_exec().

◆ BKE_node_clipboard_add_node()

void BKE_node_clipboard_add_node ( struct bNode node)

◆ BKE_node_clipboard_clear()

void BKE_node_clipboard_clear ( void  )

◆ BKE_node_clipboard_free()

void BKE_node_clipboard_free ( void  )

Definition at line 3899 of file node.cc.

References BKE_node_clipboard_clear(), and BKE_node_clipboard_validate().

Referenced by WM_exit_ex().

◆ BKE_node_clipboard_get_links()

const struct ListBase* BKE_node_clipboard_get_links ( void  )

Definition at line 3889 of file node.cc.

References bNodeClipboard::links, and node_clipboard.

Referenced by node_clipboard_paste_exec().

◆ BKE_node_clipboard_get_nodes()

const struct ListBase* BKE_node_clipboard_get_nodes ( void  )

Definition at line 3884 of file node.cc.

References node_clipboard, and bNodeClipboard::nodes.

Referenced by node_clipboard_paste_exec().

◆ BKE_node_clipboard_get_type()

int BKE_node_clipboard_get_type ( void  )

Definition at line 3894 of file node.cc.

References node_clipboard, and bNodeClipboard::type.

Referenced by node_clipboard_paste_exec().

◆ BKE_node_clipboard_init()

void BKE_node_clipboard_init ( const struct bNodeTree ntree)

Definition at line 3783 of file node.cc.

References node_clipboard, ntree, bNodeClipboard::type, and bNodeTree::type.

Referenced by node_clipboard_copy_exec().

◆ BKE_node_clipboard_validate()

bool BKE_node_clipboard_validate ( void  )

◆ BKE_node_copy_ex()

struct bNode* BKE_node_copy_ex ( struct bNodeTree ntree,
const struct bNode node_src,
const int  flag,
const bool  unique_name 
)

◆ BKE_node_copy_store_new_pointers()

struct bNode* BKE_node_copy_store_new_pointers ( struct bNodeTree ntree,
struct bNode node_src,
const int  flag 
)

◆ BKE_node_instance_hash_clear()

void BKE_node_instance_hash_clear ( bNodeInstanceHash hash,
bNodeInstanceValueFP  valfreefp 
)

Definition at line 3989 of file node.cc.

References BLI_ghash_clear(), and hash.

◆ BKE_node_instance_hash_clear_tags()

void BKE_node_instance_hash_clear_tags ( bNodeInstanceHash hash)

◆ BKE_node_instance_hash_free()

void BKE_node_instance_hash_free ( bNodeInstanceHash hash,
bNodeInstanceValueFP  valfreefp 
)

Definition at line 3963 of file node.cc.

References BLI_ghash_free(), hash, and MEM_freeN.

Referenced by BKE_node_preview_free_tree(), BKE_node_preview_merge_tree(), and ntree_free_data().

◆ BKE_node_instance_hash_haskey()

int BKE_node_instance_hash_haskey ( bNodeInstanceHash hash,
bNodeInstanceKey  key 
)

Definition at line 3999 of file node.cc.

References BLI_ghash_haskey(), and hash.

◆ BKE_node_instance_hash_insert()

void BKE_node_instance_hash_insert ( bNodeInstanceHash hash,
bNodeInstanceKey  key,
void *  value 
)

◆ BKE_node_instance_hash_iterator_done()

BLI_INLINE bool BKE_node_instance_hash_iterator_done ( bNodeInstanceHashIterator iter)

Definition at line 776 of file BKE_node.h.

References BLI_ghashIterator_done().

◆ BKE_node_instance_hash_iterator_free()

BLI_INLINE void BKE_node_instance_hash_iterator_free ( bNodeInstanceHashIterator iter)

Definition at line 759 of file BKE_node.h.

References BLI_ghashIterator_free().

◆ BKE_node_instance_hash_iterator_get_key()

BLI_INLINE bNodeInstanceKey BKE_node_instance_hash_iterator_get_key ( bNodeInstanceHashIterator iter)

◆ BKE_node_instance_hash_iterator_get_value()

BLI_INLINE void* BKE_node_instance_hash_iterator_get_value ( bNodeInstanceHashIterator iter)

◆ BKE_node_instance_hash_iterator_init()

BLI_INLINE void BKE_node_instance_hash_iterator_init ( bNodeInstanceHashIterator iter,
bNodeInstanceHash hash 
)

Definition at line 754 of file BKE_node.h.

References BLI_ghashIterator_init(), and hash.

◆ BKE_node_instance_hash_iterator_new()

BLI_INLINE bNodeInstanceHashIterator* BKE_node_instance_hash_iterator_new ( bNodeInstanceHash hash)

Definition at line 750 of file BKE_node.h.

References BLI_ghashIterator_new(), and hash.

◆ BKE_node_instance_hash_iterator_step()

BLI_INLINE void BKE_node_instance_hash_iterator_step ( bNodeInstanceHashIterator iter)

Definition at line 772 of file BKE_node.h.

References BLI_ghashIterator_step().

◆ BKE_node_instance_hash_lookup()

void* BKE_node_instance_hash_lookup ( bNodeInstanceHash hash,
bNodeInstanceKey  key 
)

◆ BKE_node_instance_hash_new()

bNodeInstanceHash* BKE_node_instance_hash_new ( const char *  info)

◆ BKE_node_instance_hash_pop()

void* BKE_node_instance_hash_pop ( bNodeInstanceHash hash,
bNodeInstanceKey  key 
)

Definition at line 3994 of file node.cc.

References BLI_ghash_popkey(), and hash.

◆ BKE_node_instance_hash_remove()

int BKE_node_instance_hash_remove ( bNodeInstanceHash hash,
bNodeInstanceKey  key,
bNodeInstanceValueFP  valfreefp 
)

Definition at line 3982 of file node.cc.

References BLI_ghash_remove(), and hash.

Referenced by BKE_node_instance_hash_remove_untagged(), and BKE_node_preview_merge_tree().

◆ BKE_node_instance_hash_remove_untagged()

void BKE_node_instance_hash_remove_untagged ( bNodeInstanceHash hash,
bNodeInstanceValueFP  valfreefp 
)

◆ BKE_node_instance_hash_size()

int BKE_node_instance_hash_size ( bNodeInstanceHash hash)

Definition at line 4004 of file node.cc.

References BLI_ghash_len(), and hash.

Referenced by BKE_node_instance_hash_remove_untagged().

◆ BKE_node_instance_hash_tag()

void BKE_node_instance_hash_tag ( bNodeInstanceHash hash,
void *  value 
)

◆ BKE_node_instance_hash_tag_key()

bool BKE_node_instance_hash_tag_key ( bNodeInstanceHash hash,
bNodeInstanceKey  key 
)

◆ BKE_node_instance_key()

bNodeInstanceKey BKE_node_instance_key ( bNodeInstanceKey  parent_key,
const struct bNodeTree ntree,
const struct bNode node 
)

◆ BKE_node_is_connected_to_output()

bool BKE_node_is_connected_to_output ( struct bNodeTree ntree,
struct bNode node 
)

◆ BKE_node_preview_clear()

void BKE_node_preview_clear ( struct bNodePreview preview)

Definition at line 2716 of file node.cc.

References MEM_allocN_len, and bNodePreview::rect.

Referenced by BKE_node_preview_clear_tree().

◆ BKE_node_preview_clear_tree()

void BKE_node_preview_clear_tree ( struct bNodeTree ntree)

◆ BKE_node_preview_copy()

bNodePreview* BKE_node_preview_copy ( struct bNodePreview preview)

Definition at line 2618 of file node.cc.

References MEM_dupallocN, and bNodePreview::rect.

Referenced by ntree_copy_data().

◆ BKE_node_preview_free()

void BKE_node_preview_free ( struct bNodePreview preview)

◆ BKE_node_preview_free_tree()

void BKE_node_preview_free_tree ( struct bNodeTree ntree)

◆ BKE_node_preview_init_tree()

void BKE_node_preview_init_tree ( struct bNodeTree ntree,
int  xsize,
int  ysize,
bool  create_previews 
)

◆ BKE_node_preview_merge_tree()

void BKE_node_preview_merge_tree ( struct bNodeTree to_ntree,
struct bNodeTree from_ntree,
bool  remove_old 
)

◆ BKE_node_preview_remove_unused()

void BKE_node_preview_remove_unused ( struct bNodeTree ntree)

◆ BKE_node_preview_set_pixel()

void BKE_node_preview_set_pixel ( struct bNodePreview preview,
const float  col[4],
int  x,
int  y,
bool  do_manage 
)

◆ BKE_node_preview_sync_tree()

void BKE_node_preview_sync_tree ( struct bNodeTree to_ntree,
struct bNodeTree from_ntree 
)

◆ BKE_node_preview_used()

bool BKE_node_preview_used ( const struct bNode node)

◆ BKE_node_preview_verify()

bNodePreview* BKE_node_preview_verify ( struct bNodeInstanceHash previews,
bNodeInstanceKey  key,
int  xsize,
int  ysize,
bool  create 
)

◆ BKE_node_system_exit()

void BKE_node_system_exit ( void  )

◆ BKE_node_system_init()

void BKE_node_system_init ( void  )

◆ BKE_node_tree_iter_init()

void BKE_node_tree_iter_init ( struct NodeTreeIterStore ntreeiter,
struct Main bmain 
)

◆ BKE_node_tree_iter_step()

bool BKE_node_tree_iter_step ( struct NodeTreeIterStore ntreeiter,
struct bNodeTree **  r_nodetree,
struct ID **  r_id 
)

◆ BKE_node_tree_unlink_id()

void BKE_node_tree_unlink_id ( ID id,
struct bNodeTree ntree 
)

Definition at line 411 of file node_common.c.

References ListBase::first, node, bNodeTree::nodes, ntree, and NULL.

◆ BKE_nodetree_remove_layer_n()

void BKE_nodetree_remove_layer_n ( struct bNodeTree ntree,
struct Scene scene,
const int  layer_index 
)

◆ BKE_nodetree_shading_params_eval()

void BKE_nodetree_shading_params_eval ( struct Depsgraph depsgraph,
struct bNodeTree ntree_dst,
const struct bNodeTree ntree_src 
)

◆ BKE_ntree_ptr_from_id()

struct bNodeTree** BKE_ntree_ptr_from_id ( ID id)

Get address of potential node-tree pointer of given ID.

Warning
Using this function directly is potentially dangerous, if you don't know or are not sure, please use ntreeFromID() instead.

Definition at line 3124 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 direct_link_id_embedded_id(), and ntreeFromID().

◆ node_type_base()

void node_type_base ( struct bNodeType ntype,
int  type,
const char *  name,
short  nclass,
short  flag 
)

◆ node_type_base_custom()

void node_type_base_custom ( struct bNodeType ntype,
const char *  idname,
const char *  name,
short  nclass,
short  flag 
)

◆ node_type_exec()

void node_type_exec ( struct bNodeType ntype,
NodeInitExecFunction  init_exec_fn,
NodeFreeExecFunction  free_exec_fn,
NodeExecFunction  exec_fn 
)

Definition at line 4635 of file node.cc.

References bNodeType::exec_fn, bNodeType::free_exec_fn, and bNodeType::init_exec_fn.

Referenced by register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_custom_group(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_group(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_mix_rgb(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_particle_info(), register_node_type_sh_rgbtobw(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), 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_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

◆ node_type_gpu()

void node_type_gpu ( struct bNodeType ntype,
NodeGPUExecFunction  gpu_fn 
)

Definition at line 4645 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_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_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), 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_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_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(), and register_node_type_sh_wireframe().

◆ node_type_group_update()

void node_type_group_update ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *node group_update_func 
)

◆ node_type_init()

void node_type_init ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *node initfunc 
)

Definition at line 4559 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_combycca(), 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_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_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), 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_trackpos(), 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_input_string(), register_node_type_fn_input_vector(), register_node_type_frame(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_color_ramp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_convert(), register_node_type_geo_attribute_fill(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_proximity(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_boolean(), register_node_type_geo_collection_info(), 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_object_info(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_triangulate(), 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_clamp(), 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_hair_info(), register_node_type_sh_holdout(), 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_mix_shader(), register_node_type_sh_normal_map(), 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_script(), register_node_type_sh_shadertorgb(), 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_vect_transform(), register_node_type_sh_vector_displacement(), 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(), register_node_type_sh_wireframe(), 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().

◆ node_type_internal_links()

void node_type_internal_links ( struct bNodeType ntype,
void(*)(struct bNodeTree *, struct bNode *)  update_internal_links 
)

◆ node_type_label()

void node_type_label ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *, char *label, int maxlen)  labelfunc 
)

◆ node_type_size()

void node_type_size ( struct bNodeType ntype,
int  width,
int  minwidth,
int  maxwidth 
)

◆ node_type_size_preset()

void node_type_size_preset ( struct bNodeType ntype,
eNodeSizePreset  size 
)

Definition at line 4577 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_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_attribute_color_ramp(), register_node_type_geo_sample_texture(), 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_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().

◆ node_type_socket_templates()

void node_type_socket_templates ( struct bNodeType ntype,
struct bNodeSocketTemplate inputs,
struct bNodeSocketTemplate outputs 
)

Definition at line 4527 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_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_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), 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_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_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_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_boolean_math(), register_node_type_fn_float_compare(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_float(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_color_ramp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_convert(), register_node_type_geo_attribute_fill(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_proximity(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_remove(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_edge_split(), register_node_type_geo_group(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), 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_object_info(), register_node_type_geo_point_distribute(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_separate(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_sample_texture(), register_node_type_geo_subdivide(), register_node_type_geo_subdivision_surface(), register_node_type_geo_transform(), register_node_type_geo_triangulate(), register_node_type_geo_volume_to_mesh(), 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_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), 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_rgb(), register_node_type_sh_rgbtobw(), 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_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_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

◆ node_type_storage()

void node_type_storage ( 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 
)
Warning
Nodes defining a storage type must allocate this for new nodes. Otherwise nodes will reload as undefined (T46619).

Definition at line 4599 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_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_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_input_string(), register_node_type_fn_input_vector(), register_node_type_frame(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_color_ramp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_convert(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_proximity(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_collection_info(), 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_object_info(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_volume_to_mesh(), 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_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_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_mix_shader(), register_node_type_sh_normal_map(), 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_script(), 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_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_absorption(), 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_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_distance(), register_node_type_tex_image(), register_node_type_tex_math(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

◆ node_type_update()

void node_type_update ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *node updatefunc 
)

Definition at line 4623 of file node.cc.

References bNodeType::updatefunc.

Referenced by 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_switch_view(), register_node_type_fn_boolean_math(), register_node_type_fn_float_compare(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_fill(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_point_distribute(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), 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_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), 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(), and register_node_type_tex_math().

◆ nodeAddLink()

struct bNodeLink* nodeAddLink ( struct bNodeTree ntree,
struct bNode fromnode,
struct bNodeSocket fromsock,
struct bNode tonode,
struct bNodeSocket tosock 
)

Definition at line 2189 of file node.cc.

References BLI_addtail(), BLI_assert, bNodeSocket::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::in_out, bNodeSocket::link, bNodeTree::links, MEM_callocN, bNodeLink::multi_input_socket_index, node_count_links(), ntree, NTREE_UPDATE_LINKS, SOCK_IN, SOCK_MULTI_INPUT, SOCK_OUT, bNodeLink::tonode, bNodeLink::tosock, and bNodeTree::update.

Referenced by add_reroute_do_socket_section(), ambient_occlusion_node_relink(), bc_node_add_link(), BKE_linestyle_default_shader(), 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(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), MOD_nodes_init(), node_clipboard_paste_exec(), node_group_input_update(), node_group_make_insert_selected(), node_group_output_update(), node_group_separate_selected(), node_group_ungroup(), node_link_viewer(), node_socket_add_replace(), ntree_shader_bump_branches(), ntree_shader_bypass_bump_link(), ntree_shader_copy_branch(), ntree_shader_copy_branch_displacement(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_relink_displacement(), ntree_shader_relink_node_normal(), proj_paint_add_slot(), 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().

◆ nodeAddNode()

struct bNode* nodeAddNode ( const struct bContext C,
struct bNodeTree ntree,
const char *  idname 
)

◆ nodeAddSocket()

struct bNodeSocket* nodeAddSocket ( struct bNodeTree ntree,
struct bNode node,
eNodeSocketInOut  in_out,
const char *  idname,
const char *  identifier,
const char *  name 
)

◆ nodeAddStaticNode()

struct bNode* nodeAddStaticNode ( const struct bContext C,
struct bNodeTree ntree,
int  type 
)

◆ nodeAddStaticSocket()

struct bNodeSocket* nodeAddStaticSocket ( struct bNodeTree ntree,
struct bNode node,
eNodeSocketInOut  in_out,
int  type,
int  subtype,
const char *  identifier,
const char *  name 
)

◆ nodeAttachNode()

void nodeAttachNode ( struct bNode node,
struct bNode parent 
)

◆ nodeAttachNodeCheck()

bool nodeAttachNodeCheck ( const struct bNode node,
const struct bNode parent 
)

Referenced by node_attach_invoke().

◆ nodeChainIter()

void nodeChainIter ( const bNodeTree ntree,
const bNode node_start,
bool(*)(bNode *, bNode *, void *, const bool)  callback,
void *  userdata,
const bool  reversed 
)

Iterate over a chain of nodes, starting with node_start, executing callback for each node (which can return false to end iterator).

Parameters
reversedfor backwards iteration
Note
Recursive

Definition at line 1879 of file node.cc.

References callback, bNodeLink::flag, bNodeLink::fromnode, bNodeSocket::link, bNodeTree::links, LISTBASE_FOREACH, NODE_LINK_VALID, nodeChainIter(), ntree, and bNodeLink::tonode.

Referenced by node_link_insert_offset_frame_chains(), node_link_insert_offset_ntree(), and nodeChainIter().

◆ nodeChainIterBackwards()

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.

Note
Needs updated socket links (ntreeUpdateTree).
Recursive

Definition at line 1944 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_tag_nodes(), and ntreeGPUMaterialNodes().

◆ nodeClearActive()

void nodeClearActive ( struct bNodeTree ntree)

Definition at line 3682 of file node.cc.

References LISTBASE_FOREACH, node, NODE_ACTIVE, NODE_ACTIVE_ID, bNodeTree::nodes, and ntree.

◆ nodeClearActiveID()

void nodeClearActiveID ( struct bNodeTree ntree,
short  idtype 
)

Definition at line 3651 of file node.cc.

References GS, LISTBASE_FOREACH, node, NODE_ACTIVE_ID, bNodeTree::nodes, and ntree.

Referenced by ED_node_set_active().

◆ nodeCountSocketLinks()

int nodeCountSocketLinks ( const struct bNodeTree ntree,
const struct bNodeSocket sock 
)

◆ nodeDetachNode()

void nodeDetachNode ( struct bNode node)

◆ nodeFindLink()

struct bNodeLink* nodeFindLink ( struct bNodeTree ntree,
const struct bNodeSocket from,
const struct bNodeSocket to 
)

◆ nodeFindNode()

bool nodeFindNode ( struct bNodeTree ntree,
struct bNodeSocket sock,
struct bNode **  r_node,
int *  r_sockindex 
)

◆ nodeFindNodebyName()

struct bNode* nodeFindNodebyName ( struct bNodeTree ntree,
const char *  name 
)

Definition at line 1817 of file node.cc.

References BLI_findstring(), bNodeSocket::name, bNodeTree::nodes, and ntree.

Referenced by skip_fcurve_selected_data().

◆ nodeFindRootParent()

struct bNode* nodeFindRootParent ( bNode node)
Note
Recursive

Definition at line 1849 of file node.cc.

References node, NODE_FRAME, and nodeFindRootParent().

Referenced by node_link_insert_offset_chain_cb(), node_link_insert_offset_ntree(), and nodeFindRootParent().

◆ nodeFindSocket()

struct bNodeSocket* nodeFindSocket ( const struct bNode node,
eNodeSocketInOut  in_out,
const char *  identifier 
)

Referenced by ambient_occlusion_node_relink(), bc_get_cot_from_shader(), bc_get_float_from_shader(), BLO_update_defaults_startup_blend(), displacement_node_insert(), do_version_hue_sat_node(), do_versions_material_convert_legacy_blend_mode(), ED_node_shader_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::nodes::geo_node_points_to_volume_init(), blender::nodes::geo_node_points_to_volume_update(), blender::nodes::geo_node_volume_to_mesh_init(), blender::nodes::geo_node_volume_to_mesh_update(), MaterialNode::get_diffuse_image(), light_emission_node_to_energy(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), node_add_collection_exec(), node_add_object_exec(), node_shader_update_map_range(), node_shader_update_mapping(), node_shader_update_sky(), node_shader_update_tex_musgrave(), node_shader_update_tex_noise(), node_shader_update_tex_voronoi(), node_shader_update_tex_white_noise(), node_shader_update_vector_math(), node_shader_update_vector_rotate(), proj_paint_add_slot(), proj_paint_default_color(), MaterialNode::set_alpha(), MaterialNode::set_diffuse(), MaterialNode::set_emission(), MaterialNode::set_ior(), MaterialNode::set_opacity(), MaterialNode::set_reflectivity(), 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_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), update_wave_node_directions_and_offset(), and version_node_socket_duplicate().

◆ nodeFromView()

void nodeFromView ( const struct bNode node,
float  x,
float  y,
float rx,
float ry 
)

Referenced by flushTransNodes(), and node_from_view().

◆ nodeGetActive()

struct bNode* nodeGetActive ( struct bNodeTree ntree)

◆ nodeGetActiveID()

struct bNode* nodeGetActiveID ( struct bNodeTree ntree,
short  idtype 
)

◆ nodeGetActiveTexture()

struct bNode* nodeGetActiveTexture ( struct bNodeTree ntree)

◆ nodeGroupPoll()

bool nodeGroupPoll ( struct bNodeTree nodetree,
struct bNodeTree grouptree,
const char **  r_disabled_hint 
)

◆ nodeInsertSocket()

struct bNodeSocket* nodeInsertSocket ( struct bNodeTree ntree,
struct bNode node,
eNodeSocketInOut  in_out,
const char *  idname,
struct bNodeSocket next_sock,
const char *  identifier,
const char *  name 
)

◆ nodeInsertStaticSocket()

struct bNodeSocket* nodeInsertStaticSocket ( struct bNodeTree ntree,
struct bNode node,
eNodeSocketInOut  in_out,
int  type,
int  subtype,
struct bNodeSocket next_sock,
const char *  identifier,
const char *  name 
)

◆ nodeInternalRelink()

void nodeInternalRelink ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeIsChildOf()

bool nodeIsChildOf ( const bNode parent,
const bNode child 
)
Returns
true if child has parent as a parent/grandparent/...
Note
Recursive

Definition at line 1861 of file node.cc.

References nodeIsChildOf(), and bNode::parent.

Referenced by node_link_insert_offset_chain_cb(), node_link_insert_offset_frame_chains(), node_link_insert_offset_ntree(), node_parent_offset_apply(), and nodeIsChildOf().

◆ nodeLabel()

void nodeLabel ( struct bNodeTree ntree,
struct bNode node,
char *  label,
int  maxlen 
)

◆ nodeLinkIsHidden()

bool nodeLinkIsHidden ( const struct bNodeLink link)

◆ nodeModifySocketType()

void nodeModifySocketType ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
int  type,
int  subtype 
)

Referenced by verify_socket_template().

◆ nodeMuteLinkToggle()

void nodeMuteLinkToggle ( struct bNodeTree ntree,
struct bNodeLink link 
)

◆ nodeParentsIter()

void nodeParentsIter ( bNode node,
bool(*)(bNode *, void *)  callback,
void *  userdata 
)

Iterate over all parents of node, executing callback for each parent (which can return false to end iterator)

Note
Recursive

Definition at line 1972 of file node.cc.

References callback, node, and nodeParentsIter().

Referenced by node_link_insert_offset_ntree(), and nodeParentsIter().

◆ nodePositionPropagate()

void nodePositionPropagate ( struct bNode node)

◆ nodePositionRelative()

void nodePositionRelative ( struct bNode from_node,
struct bNode to_node,
struct bNodeSocket from_sock,
struct bNodeSocket to_sock 
)

◆ nodeRegisterSocketType()

void nodeRegisterSocketType ( struct bNodeSocketType stype)

◆ nodeRegisterType()

void nodeRegisterType ( struct bNodeType ntype)

Definition at line 1298 of file node.cc.

References BLI_assert, BLI_ghash_insert(), 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_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), 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_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_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_boolean_math(), register_node_type_fn_float_compare(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_float(), register_node_type_frame(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_color_ramp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_convert(), register_node_type_geo_attribute_fill(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_proximity(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_remove(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_edge_split(), register_node_type_geo_group(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), 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_object_info(), register_node_type_geo_point_distribute(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_separate(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_sample_texture(), register_node_type_geo_subdivide(), register_node_type_geo_subdivision_surface(), register_node_type_geo_transform(), register_node_type_geo_triangulate(), 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_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), 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_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), 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_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_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

◆ nodeRemLink()

void nodeRemLink ( struct bNodeTree ntree,
struct bNodeLink link 
)

◆ nodeRemoveAllSockets()

void nodeRemoveAllSockets ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeRemoveNode()

void nodeRemoveNode ( struct Main bmain,
struct bNodeTree ntree,
struct bNode node,
bool  do_id_user 
)

◆ nodeRemoveSocket()

void nodeRemoveSocket ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock 
)

◆ nodeRemSocketLinks()

void nodeRemSocketLinks ( struct bNodeTree ntree,
struct bNodeSocket sock 
)

◆ nodeSetActive()

void nodeSetActive ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeSetActiveID()

bool nodeSetActiveID ( struct bNodeTree ntree,
short  idtype,
struct ID id 
)

◆ nodeSetSelected()

void nodeSetSelected ( struct bNode node,
bool  select 
)

◆ nodeSetSocketAvailability()

void nodeSetSocketAvailability ( struct bNodeSocket sock,
bool  is_available 
)

◆ nodeSocketIsHidden()

int nodeSocketIsHidden ( const struct bNodeSocket sock)

◆ nodeSocketIsRegistered()

bool nodeSocketIsRegistered ( struct bNodeSocket sock)

Definition at line 1366 of file node.cc.

References NodeSocketTypeUndefined, and bNodeSocket::typeinfo.

◆ nodeSocketLabel()

const char* nodeSocketLabel ( const struct bNodeSocket sock)

Referenced by node_update_basis().

◆ nodeSocketLinkLimit()

int nodeSocketLinkLimit ( const struct bNodeSocket sock)

◆ nodeSocketTypeFind()

struct bNodeSocketType* nodeSocketTypeFind ( const char *  idname)

◆ nodeSocketTypeGetIterator()

struct GHashIterator* nodeSocketTypeGetIterator ( void  )

Definition at line 1371 of file node.cc.

References BLI_ghashIterator_new(), and nodesockettypes_hash.

◆ nodeStaticSocketInterfaceType()

const char* nodeStaticSocketInterfaceType ( int  type,
int  subtype 
)

◆ nodeStaticSocketType()

const char* nodeStaticSocketType ( int  type,
int  subtype 
)

◆ nodeToView()

void nodeToView ( const struct bNode node,
float  x,
float  y,
float rx,
float ry 
)

◆ nodeTypeFind()

struct bNodeType* nodeTypeFind ( const char *  idname)

◆ nodeTypeGetIterator()

struct GHashIterator* nodeTypeGetIterator ( void  )

Definition at line 1323 of file node.cc.

References BLI_ghashIterator_new(), and nodetypes_hash.

◆ nodeTypeUndefined()

bool nodeTypeUndefined ( struct bNode node)

◆ nodeUniqueName()

void nodeUniqueName ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeUnlinkNode()

void nodeUnlinkNode ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeUnregisterSocketType()

void nodeUnregisterSocketType ( struct bNodeSocketType stype)

◆ nodeUnregisterType()

void nodeUnregisterType ( struct bNodeType ntype)

Definition at line 1311 of file node.cc.

References BLI_ghash_remove(), bNodeType::idname, node_free_type(), and nodetypes_hash.

◆ nodeUpdate()

void nodeUpdate ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeUpdateID()

bool nodeUpdateID ( struct bNodeTree ntree,
struct ID id 
)

◆ nodeUpdateInternalLinks()

void nodeUpdateInternalLinks ( struct bNodeTree ntree,
struct bNode node 
)

Definition at line 4380 of file node.cc.

References BLI_freelistN(), node, and ntree.

Referenced by node_reroute_inherit_type_recursive(), nodeUpdate(), nodeUpdateID(), and ntreeUpdateTree().

◆ ntreeAddSocketInterface()

struct bNodeSocket* ntreeAddSocketInterface ( struct bNodeTree ntree,
eNodeSocketInOut  in_out,
const char *  idname,
const char *  name 
)

◆ ntreeAddSocketInterfaceFromSocket()

struct bNodeSocket* ntreeAddSocketInterfaceFromSocket ( struct bNodeTree ntree,
struct bNode from_node,
struct bNodeSocket from_sock 
)

◆ ntreeAddTree()

struct bNodeTree* ntreeAddTree ( struct Main bmain,
const char *  name,
const char *  idname 
)

◆ ntreeBlendReadData()

void ntreeBlendReadData ( struct BlendDataReader reader,
struct bNodeTree ntree 
)

◆ ntreeBlendReadExpand()

void ntreeBlendReadExpand ( struct BlendExpander expander,
struct bNodeTree ntree 
)

◆ ntreeBlendReadLib()

void ntreeBlendReadLib ( struct BlendLibReader reader,
struct bNodeTree ntree 
)

◆ ntreeBlendWrite()

void ntreeBlendWrite ( struct BlendWriter writer,
struct bNodeTree ntree 
)

◆ ntreeCompositClearTags()

void ntreeCompositClearTags ( struct bNodeTree ntree)

◆ ntreeCompositColorBalanceSyncFromCDL()

void ntreeCompositColorBalanceSyncFromCDL ( bNodeTree ntree,
bNode node 
)

Referenced by blo_do_versions_260().

◆ ntreeCompositColorBalanceSyncFromLGG()

void ntreeCompositColorBalanceSyncFromLGG ( bNodeTree ntree,
bNode node 
)

Referenced by blo_do_versions_260().

◆ ntreeCompositCryptomatteAddSocket()

bNodeSocket* ntreeCompositCryptomatteAddSocket ( bNodeTree ntree,
bNode node 
)

◆ ntreeCompositCryptomatteLayerPrefix()

void ntreeCompositCryptomatteLayerPrefix ( const Scene scene,
const bNode node,
char *  r_prefix,
size_t  prefix_len 
)

◆ ntreeCompositCryptomatteRemoveSocket()

int ntreeCompositCryptomatteRemoveSocket ( bNodeTree ntree,
bNode node 
)

◆ ntreeCompositCryptomatteSession()

struct CryptomatteSession* ntreeCompositCryptomatteSession ( const Scene scene,
bNode node 
)

Definition at line 237 of file node_composite_cryptomatte.cc.

References cryptomatte_init_from_node(), node, and scene.

Referenced by eyedropper_init().

◆ ntreeCompositCryptomatteSyncFromAdd()

void ntreeCompositCryptomatteSyncFromAdd ( const Scene scene,
bNode node 
)

◆ ntreeCompositCryptomatteSyncFromRemove()

void ntreeCompositCryptomatteSyncFromRemove ( bNode node)

◆ ntreeCompositCryptomatteUpdateLayerNames()

void ntreeCompositCryptomatteUpdateLayerNames ( const Scene scene,
bNode node 
)

◆ ntreeCompositExecTree()

void ntreeCompositExecTree ( struct Scene scene,
struct bNodeTree ntree,
struct RenderData rd,
int  rendering,
int  do_previews,
const struct ColorManagedViewSettings view_settings,
const struct ColorManagedDisplaySettings display_settings,
const char *  view_name 
)

◆ ntreeCompositOutputFileAddSocket()

struct bNodeSocket* ntreeCompositOutputFileAddSocket ( struct bNodeTree ntree,
struct bNode node,
const char *  name,
struct ImageFormatData im_format 
)

◆ ntreeCompositOutputFileRemoveActiveSocket()

int ntreeCompositOutputFileRemoveActiveSocket ( struct bNodeTree ntree,
struct bNode node 
)

◆ ntreeCompositOutputFileSetLayer()

void ntreeCompositOutputFileSetLayer ( struct bNode node,
struct bNodeSocket sock,
const char *  name 
)

◆ ntreeCompositOutputFileSetPath()

void ntreeCompositOutputFileSetPath ( struct bNode node,
struct bNodeSocket sock,
const char *  name 
)

◆ ntreeCompositOutputFileUniqueLayer()

void ntreeCompositOutputFileUniqueLayer ( struct ListBase list,
struct bNodeSocket sock,
const char  defname[],
char  delim 
)

◆ ntreeCompositOutputFileUniquePath()

void ntreeCompositOutputFileUniquePath ( struct ListBase list,
struct bNodeSocket sock,
const char  defname[],
char  delim 
)

◆ ntreeCompositRegisterPass()

void ntreeCompositRegisterPass ( struct bNodeTree ntree,
struct Scene scene,
struct ViewLayer view_layer,
const char *  name,
eNodeSocketDatatype  type 
)

◆ ntreeCompositTagRender()

void ntreeCompositTagRender ( struct Scene scene)

◆ ntreeCompositUpdateRLayers()

void ntreeCompositUpdateRLayers ( struct bNodeTree ntree)

◆ ntreeCopyTree()

struct bNodeTree* ntreeCopyTree ( struct Main bmain,
const struct bNodeTree ntree 
)

Referenced by ED_node_shader_default().

◆ ntreeCopyTree_ex()

struct bNodeTree* ntreeCopyTree_ex ( const struct bNodeTree ntree,
struct Main bmain,
const bool  do_id_user 
)

◆ ntreeCopyTree_ex_new_pointers()

struct bNodeTree* ntreeCopyTree_ex_new_pointers ( const struct bNodeTree ntree,
struct Main bmain,
const bool  do_id_user 
)

Referenced by node_group_ungroup().

◆ ntreeFindSocketInterface()

struct bNodeSocket* ntreeFindSocketInterface ( struct bNodeTree ntree,
eNodeSocketInOut  in_out,
const char *  identifier 
)

◆ ntreeFindType()

struct bNode* ntreeFindType ( const struct bNodeTree ntree,
int  type 
)

◆ ntreeFreeCache()

void ntreeFreeCache ( struct bNodeTree ntree)

◆ ntreeFreeEmbeddedTree()

void ntreeFreeEmbeddedTree ( struct bNodeTree ntree)

◆ ntreeFreeLocalNode()

void ntreeFreeLocalNode ( struct bNodeTree ntree,
struct bNode node 
)

◆ ntreeFreeLocalTree()

void ntreeFreeLocalTree ( struct bNodeTree ntree)

◆ ntreeFreeTree()

void ntreeFreeTree ( struct bNodeTree ntree)

◆ ntreeFromID()

struct bNodeTree* ntreeFromID ( struct ID id)

◆ ntreeGetDependencyList()

void ntreeGetDependencyList ( struct bNodeTree ntree,
struct bNode ***  r_deplist,
int *  r_deplist_len 
)

◆ ntreeGPUMaterialNodes()

void ntreeGPUMaterialNodes ( struct bNodeTree localtree,
struct GPUMaterial mat,
bool *  has_surface_output,
bool *  has_volume_output 
)

◆ ntreeHasTree()

bool ntreeHasTree ( const struct bNodeTree ntree,
const struct bNodeTree lookup 
)

◆ ntreeHasType()

bool ntreeHasType ( const struct bNodeTree ntree,
int  type 
)

◆ ntreeInsertSocketInterface()

struct bNodeSocket* ntreeInsertSocketInterface ( struct bNodeTree ntree,
eNodeSocketInOut  in_out,
const char *  idname,
struct bNodeSocket next_sock,
const char *  name 
)

◆ ntreeInsertSocketInterfaceFromSocket()

struct bNodeSocket* ntreeInsertSocketInterfaceFromSocket ( struct bNodeTree ntree,
struct bNodeSocket next_sock,
struct bNode from_node,
struct bNodeSocket from_sock 
)

◆ ntreeInterfaceTypeFree()

void ntreeInterfaceTypeFree ( struct bNodeTree ntree)

Definition at line 3484 of file node.cc.

References BLENDER_RNA, bNodeTree::interface_type, ntree, and RNA_struct_free().

Referenced by ntree_free_data(), and ntreeInterfaceTypeUpdate().

◆ ntreeInterfaceTypeGet()

struct StructRNA* ntreeInterfaceTypeGet ( struct bNodeTree ntree,
bool  create 
)

◆ ntreeInterfaceTypeUpdate()

void ntreeInterfaceTypeUpdate ( struct bNodeTree ntree)

Definition at line 3492 of file node.cc.

References ntree, ntree_interface_type_create(), and ntreeInterfaceTypeFree().

Referenced by ntreeUpdateTree().

◆ ntreeIsRegistered()

bool ntreeIsRegistered ( struct bNodeTree ntree)

Definition at line 1244 of file node.cc.

References NodeTreeTypeUndefined, ntree, and bNodeTree::typeinfo.

◆ ntreeLocalize()

struct bNodeTree* ntreeLocalize ( struct bNodeTree ntree)

◆ ntreeLocalMerge()

void ntreeLocalMerge ( struct Main bmain,
struct bNodeTree localtree,
struct bNodeTree ntree 
)

Definition at line 3238 of file node.cc.

References bNodeTreeType::local_merge, MEM_freeN, ntree, ntreeFreeTree(), and bNodeTree::typeinfo.

Referenced by compo_freejob().

◆ ntreeLocalSync()

void ntreeLocalSync ( struct bNodeTree localtree,
struct bNodeTree ntree 
)

Definition at line 3227 of file node.cc.

References bNodeTreeType::local_sync, ntree, and bNodeTree::typeinfo.

Referenced by shader_preview_updatejob().

◆ ntreeNodeExists()

bool ntreeNodeExists ( const struct bNodeTree ntree,
const struct bNode testnode 
)

Referenced by local_merge().

◆ ntreeNodeFlagSet()

void ntreeNodeFlagSet ( const bNodeTree ntree,
const int  flag,
const bool  enable 
)

◆ ntreeOutputExists()

bool ntreeOutputExists ( const struct bNode node,
const struct bNodeSocket testsock 
)

Referenced by local_merge().

◆ ntreeRemoveSocketInterface()

void ntreeRemoveSocketInterface ( struct bNodeTree ntree,
struct bNodeSocket sock 
)

◆ ntreeSetOutput()

void ntreeSetOutput ( struct bNodeTree ntree)

◆ ntreeSetTypes()

void ntreeSetTypes ( const struct bContext C,
struct bNodeTree ntree 
)

◆ ntreeShaderBeginExecTree()

struct bNodeTreeExec* ntreeShaderBeginExecTree ( struct bNodeTree ntree)

◆ ntreeShaderEndExecTree()

void ntreeShaderEndExecTree ( struct bNodeTreeExec exec)

◆ ntreeShaderOutputNode()

struct bNode* ntreeShaderOutputNode ( struct bNodeTree ntree,
int  target 
)

◆ ntreeTagUsedSockets()

void ntreeTagUsedSockets ( struct bNodeTree ntree)

◆ ntreeTexBeginExecTree()

struct bNodeTreeExec* ntreeTexBeginExecTree ( struct bNodeTree ntree)

◆ ntreeTexCheckCyclics()

void ntreeTexCheckCyclics ( struct bNodeTree ntree)

◆ ntreeTexEndExecTree()

void ntreeTexEndExecTree ( struct bNodeTreeExec exec)

◆ ntreeTexExecTree()

int ntreeTexExecTree ( struct bNodeTree ntree,
struct TexResult target,
const float  co[3],
float  dxt[3],
float  dyt[3],
int  osatex,
const short  thread,
const struct Tex tex,
short  which_output,
int  cfra,
int  preview,
struct MTex mtex 
)

Referenced by multitex().

◆ ntreeTypeAdd()

void ntreeTypeAdd ( struct bNodeTreeType nt)

◆ ntreeTypeFind()

struct bNodeTreeType* ntreeTypeFind ( const char *  idname)

◆ ntreeTypeFreeLink()

void ntreeTypeFreeLink ( const struct bNodeTreeType nt)

◆ ntreeTypeGetIterator()

struct GHashIterator* ntreeTypeGetIterator ( void  )

Definition at line 1249 of file node.cc.

References BLI_ghashIterator_new(), and nodetreetypes_hash.

◆ ntreeUpdateAllNew()

void ntreeUpdateAllNew ( struct Main main)

◆ ntreeUpdateAllUsers()

void ntreeUpdateAllUsers ( struct Main main,
struct ID id 
)

◆ ntreeUpdateTree()

void ntreeUpdateTree ( struct Main main,
struct bNodeTree ntree 
)

Definition at line 4262 of file node.cc.

References bNodeTree::id, bNodeTree::is_updating, LISTBASE_FOREACH, node, NODE_UPDATE, bNodeTree::nodes, nodeUpdateInternalLinks(), ntree, NTREE_UPDATE, NTREE_UPDATE_GROUP, ntree_update_link_pointers(), NTREE_UPDATE_LINKS, ntree_update_node_level(), NTREE_UPDATE_NODES, ntree_validate_links(), ntreeInterfaceTypeUpdate(), ntreeUpdateAllUsers(), bNodeTree::typeinfo, bNodeTreeType::update, and bNodeTree::update.

Referenced by add_reroute_exec(), ambient_occlusion_node_relink(), BKE_linestyle_default_shader(), cut_links_exec(), detach_links_exec(), 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(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), MOD_nodes_init(), mute_links_exec(), node_add_collection_exec(), node_add_group_exec(), node_add_node(), node_add_object_exec(), node_add_texture_exec(), node_clipboard_paste_exec(), node_delete_exec(), node_delete_reconnect_exec(), node_duplicate_exec(), node_group_insert_exec(), node_group_make_exec(), node_group_separate_exec(), node_group_ungroup_exec(), node_link_exit(), node_link_item_apply(), node_link_viewer(), node_make_link_exec(), node_socket_add_replace(), node_socket_disconnect(), node_socket_remove(), node_socket_toggle_exec(), node_switch_view_exec(), ntree_exec_begin(), ntree_shader_bypass_tagged_bump_nodes(), ntree_shader_copy_branch_displacement(), ntree_shader_groups_expand_inputs(), ntree_shader_groups_flatten(), ntree_shader_has_displacement(), ntree_shader_relink_displacement(), ntree_shader_tag_nodes(), ntree_shader_unlink_hidden_value_sockets(), ntree_socket_add_exec(), ntree_socket_move_exec(), ntree_socket_remove_exec(), ntreeUpdateAllNew(), ntreeUpdateAllUsers(), proj_paint_add_slot(), snode_autoconnect(), special_aftertrans_update__node(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), MaterialNode::update_material_nodetree(), 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().

Variable Documentation

◆ NODE_INSTANCE_KEY_BASE

const bNodeInstanceKey NODE_INSTANCE_KEY_BASE
extern

◆ NODE_INSTANCE_KEY_NONE

const bNodeInstanceKey NODE_INSTANCE_KEY_NONE
extern

Definition at line 3909 of file node.cc.

Referenced by draw_nodespace_back_pix(), and node_draw_space().

◆ NodeSocketTypeUndefined

struct bNodeSocketType NodeSocketTypeUndefined
extern

◆ NodeTypeUndefined

struct bNodeType NodeTypeUndefined
extern