Blender  V3.3
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
 
#define NODE_STORAGE_FUNCS(StorageT)
 
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_LEGACY   120
 
#define SH_NODE_COMBRGB_LEGACY   121
 
#define SH_NODE_HUE_SAT   122
 
#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_LEGACY   183
 
#define SH_NODE_COMBHSV_LEGACY   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
 
#define SH_NODE_CURVE_FLOAT   709
 
#define SH_NODE_POINT_INFO   710
 
#define SH_NODE_COMBINE_COLOR   711
 
#define SH_NODE_SEPARATE_COLOR   712
 
Composite Nodes
#define RRES_OUT_IMAGE   0
 
#define RRES_OUT_ALPHA   1
 
#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_LEGACY   216
 
#define CMP_NODE_SEPHSVA_LEGACY   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_LEGACY   227
 
#define CMP_NODE_DILATEERODE   228
 
#define CMP_NODE_ROTATE   229
 
#define CMP_NODE_SCALE   230
 
#define CMP_NODE_SEPYCCA_LEGACY   231
 
#define CMP_NODE_COMBYCCA_LEGACY   232
 
#define CMP_NODE_SEPYUVA_LEGACY   233
 
#define CMP_NODE_COMBYUVA_LEGACY   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_LEGACY   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_NODE_POSTERIZE   327
 
#define CMP_NODE_CONVERT_COLOR_SPACE   328
 
#define CMP_NODE_SCENE_TIME   329
 
#define CMP_NODE_SEPARATE_XYZ   330
 
#define CMP_NODE_COMBINE_XYZ   331
 
#define CMP_NODE_COMBINE_COLOR   332
 
#define CMP_NODE_SEPARATE_COLOR   333
 
#define CMP_CHAN_RGB   1
 
#define CMP_CHAN_A   2
 
#define CMP_FILT_SOFT   0
 
#define CMP_FILT_SHARP_BOX   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_FILT_SHARP_DIAMOND   7
 
#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
 
#define CMP_DEFAULT_SMAA_THRESHOLD   1.0f
 
#define CMP_DEFAULT_SMAA_CONTRAST_LIMIT   0.2f
 
#define CMP_DEFAULT_SMAA_CORNER_ROUNDING   0.25f
 
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_LEGACY   419
 
#define TEX_NODE_DECOMPOSE_LEGACY   420
 
#define TEX_NODE_VALTONOR   421
 
#define TEX_NODE_SCALE   422
 
#define TEX_NODE_AT   423
 
#define TEX_NODE_COMBINE_COLOR   424
 
#define TEX_NODE_SEPARATE_COLOR   425
 
#define TEX_NODE_PROC   500
 
#define TEX_NODE_PROC_MAX   600
 
Geometry Nodes
#define GEO_NODE_TRIANGULATE   1000
 
#define GEO_NODE_TRANSFORM   1002
 
#define GEO_NODE_MESH_BOOLEAN   1003
 
#define GEO_NODE_OBJECT_INFO   1007
 
#define GEO_NODE_JOIN_GEOMETRY   1010
 
#define GEO_NODE_COLLECTION_INFO   1023
 
#define GEO_NODE_IS_VIEWPORT   1024
 
#define GEO_NODE_SUBDIVIDE_MESH   1029
 
#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_BOUNDING_BOX   1042
 
#define GEO_NODE_SWITCH   1043
 
#define GEO_NODE_CURVE_TO_MESH   1045
 
#define GEO_NODE_RESAMPLE_CURVE   1047
 
#define GEO_NODE_INPUT_MATERIAL   1050
 
#define GEO_NODE_REPLACE_MATERIAL   1051
 
#define GEO_NODE_CURVE_LENGTH   1054
 
#define GEO_NODE_CONVEX_HULL   1056
 
#define GEO_NODE_SEPARATE_COMPONENTS   1059
 
#define GEO_NODE_CURVE_PRIMITIVE_STAR   1062
 
#define GEO_NODE_CURVE_PRIMITIVE_SPIRAL   1063
 
#define GEO_NODE_CURVE_PRIMITIVE_QUADRATIC_BEZIER   1064
 
#define GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT   1065
 
#define GEO_NODE_CURVE_PRIMITIVE_CIRCLE   1066
 
#define GEO_NODE_VIEWER   1067
 
#define GEO_NODE_CURVE_PRIMITIVE_LINE   1068
 
#define GEO_NODE_CURVE_PRIMITIVE_QUADRILATERAL   1070
 
#define GEO_NODE_TRIM_CURVE   1071
 
#define GEO_NODE_FILL_CURVE   1075
 
#define GEO_NODE_INPUT_POSITION   1076
 
#define GEO_NODE_SET_POSITION   1077
 
#define GEO_NODE_INPUT_INDEX   1078
 
#define GEO_NODE_INPUT_NORMAL   1079
 
#define GEO_NODE_CAPTURE_ATTRIBUTE   1080
 
#define GEO_NODE_MATERIAL_SELECTION   1081
 
#define GEO_NODE_SET_MATERIAL   1082
 
#define GEO_NODE_REALIZE_INSTANCES   1083
 
#define GEO_NODE_ATTRIBUTE_STATISTIC   1084
 
#define GEO_NODE_SAMPLE_CURVE   1085
 
#define GEO_NODE_INPUT_TANGENT   1086
 
#define GEO_NODE_STRING_JOIN   1087
 
#define GEO_NODE_CURVE_SPLINE_PARAMETER   1088
 
#define GEO_NODE_FILLET_CURVE   1089
 
#define GEO_NODE_DISTRIBUTE_POINTS_ON_FACES   1090
 
#define GEO_NODE_STRING_TO_CURVES   1091
 
#define GEO_NODE_INSTANCE_ON_POINTS   1092
 
#define GEO_NODE_MESH_TO_POINTS   1093
 
#define GEO_NODE_POINTS_TO_VERTICES   1094
 
#define GEO_NODE_REVERSE_CURVE   1095
 
#define GEO_NODE_PROXIMITY   1096
 
#define GEO_NODE_SUBDIVIDE_CURVE   1097
 
#define GEO_NODE_INPUT_SPLINE_LENGTH   1098
 
#define GEO_NODE_CURVE_SPLINE_TYPE   1099
 
#define GEO_NODE_CURVE_SET_HANDLE_TYPE   1100
 
#define GEO_NODE_POINTS_TO_VOLUME   1101
 
#define GEO_NODE_CURVE_HANDLE_TYPE_SELECTION   1102
 
#define GEO_NODE_DELETE_GEOMETRY   1103
 
#define GEO_NODE_SEPARATE_GEOMETRY   1104
 
#define GEO_NODE_INPUT_RADIUS   1105
 
#define GEO_NODE_INPUT_CURVE_TILT   1106
 
#define GEO_NODE_INPUT_CURVE_HANDLES   1107
 
#define GEO_NODE_INPUT_SHADE_SMOOTH   1108
 
#define GEO_NODE_INPUT_SPLINE_RESOLUTION   1109
 
#define GEO_NODE_INPUT_SPLINE_CYCLIC   1110
 
#define GEO_NODE_SET_CURVE_RADIUS   1111
 
#define GEO_NODE_SET_CURVE_TILT   1112
 
#define GEO_NODE_SET_CURVE_HANDLES   1113
 
#define GEO_NODE_SET_SHADE_SMOOTH   1114
 
#define GEO_NODE_SET_SPLINE_RESOLUTION   1115
 
#define GEO_NODE_SET_SPLINE_CYCLIC   1116
 
#define GEO_NODE_SET_POINT_RADIUS   1117
 
#define GEO_NODE_INPUT_MATERIAL_INDEX   1118
 
#define GEO_NODE_SET_MATERIAL_INDEX   1119
 
#define GEO_NODE_TRANSLATE_INSTANCES   1120
 
#define GEO_NODE_SCALE_INSTANCES   1121
 
#define GEO_NODE_ROTATE_INSTANCES   1122
 
#define GEO_NODE_SPLIT_EDGES   1123
 
#define GEO_NODE_MESH_TO_CURVE   1124
 
#define GEO_NODE_TRANSFER_ATTRIBUTE   1125
 
#define GEO_NODE_SUBDIVISION_SURFACE   1126
 
#define GEO_NODE_CURVE_ENDPOINT_SELECTION   1127
 
#define GEO_NODE_RAYCAST   1128
 
#define GEO_NODE_CURVE_TO_POINTS   1130
 
#define GEO_NODE_INSTANCES_TO_POINTS   1131
 
#define GEO_NODE_IMAGE_TEXTURE   1132
 
#define GEO_NODE_VOLUME_TO_MESH   1133
 
#define GEO_NODE_INPUT_ID   1134
 
#define GEO_NODE_SET_ID   1135
 
#define GEO_NODE_ATTRIBUTE_DOMAIN_SIZE   1136
 
#define GEO_NODE_DUAL_MESH   1137
 
#define GEO_NODE_INPUT_MESH_EDGE_VERTICES   1138
 
#define GEO_NODE_INPUT_MESH_FACE_AREA   1139
 
#define GEO_NODE_INPUT_MESH_FACE_NEIGHBORS   1140
 
#define GEO_NODE_INPUT_MESH_VERTEX_NEIGHBORS   1141
 
#define GEO_NODE_GEOMETRY_TO_INSTANCE   1142
 
#define GEO_NODE_INPUT_MESH_EDGE_NEIGHBORS   1143
 
#define GEO_NODE_INPUT_MESH_ISLAND   1144
 
#define GEO_NODE_INPUT_SCENE_TIME   1145
 
#define GEO_NODE_ACCUMULATE_FIELD   1146
 
#define GEO_NODE_INPUT_MESH_EDGE_ANGLE   1147
 
#define GEO_NODE_FIELD_AT_INDEX   1148
 
#define GEO_NODE_CURVE_PRIMITIVE_ARC   1149
 
#define GEO_NODE_FLIP_FACES   1150
 
#define GEO_NODE_SCALE_ELEMENTS   1151
 
#define GEO_NODE_EXTRUDE_MESH   1152
 
#define GEO_NODE_MERGE_BY_DISTANCE   1153
 
#define GEO_NODE_DUPLICATE_ELEMENTS   1154
 
#define GEO_NODE_INPUT_MESH_FACE_IS_PLANAR   1155
 
#define GEO_NODE_STORE_NAMED_ATTRIBUTE   1156
 
#define GEO_NODE_INPUT_NAMED_ATTRIBUTE   1157
 
#define GEO_NODE_REMOVE_ATTRIBUTE   1158
 
#define GEO_NODE_INPUT_INSTANCE_ROTATION   1159
 
#define GEO_NODE_INPUT_INSTANCE_SCALE   1160
 
#define GEO_NODE_VOLUME_CUBE   1161
 
#define GEO_NODE_POINTS   1162
 
#define GEO_NODE_INTERPOLATE_DOMAIN   1163
 
#define GEO_NODE_MESH_TO_VOLUME   1164
 
#define GEO_NODE_UV_UNWRAP   1165
 
#define GEO_NODE_UV_PACK_ISLANDS   1166
 
#define GEO_NODE_DEFORM_CURVES_ON_SURFACE   1167
 
#define GEO_NODE_INPUT_SHORTEST_EDGE_PATHS   1168
 
#define GEO_NODE_EDGE_PATHS_TO_CURVES   1169
 
#define GEO_NODE_EDGE_PATHS_TO_SELECTION   1170
 
Function Nodes
#define FN_NODE_BOOLEAN_MATH   1200
 
#define FN_NODE_COMPARE   1202
 
#define FN_NODE_LEGACY_RANDOM_FLOAT   1206
 
#define FN_NODE_INPUT_VECTOR   1207
 
#define FN_NODE_INPUT_STRING   1208
 
#define FN_NODE_FLOAT_TO_INT   1209
 
#define FN_NODE_VALUE_TO_STRING   1210
 
#define FN_NODE_STRING_LENGTH   1211
 
#define FN_NODE_SLICE_STRING   1212
 
#define FN_NODE_INPUT_SPECIAL_CHARACTERS   1213
 
#define FN_NODE_RANDOM_VALUE   1214
 
#define FN_NODE_ROTATE_EULER   1215
 
#define FN_NODE_ALIGN_EULER_TO_VECTOR   1216
 
#define FN_NODE_INPUT_COLOR   1217
 
#define FN_NODE_REPLACE_STRING   1218
 
#define FN_NODE_INPUT_BOOL   1219
 
#define FN_NODE_INPUT_INT   1220
 
#define FN_NODE_SEPARATE_COLOR   1221
 
#define FN_NODE_COMBINE_COLOR   1222
 

Functions

void BKE_node_system_init (void)
 
void BKE_node_system_exit (void)
 
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 (const struct bNodeTree *ntree, const 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)
 
void node_type_base_custom (struct bNodeType *ntype, const char *idname, const char *name, short nclass)
 
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_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)
 
Node Tree
void BKE_nodetree_remove_layer_n (struct bNodeTree *ntree, struct Scene *scene, 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_CONVERTER   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
 
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 voidNodeMultiFunctionBuildFunction
 
typedef voidNodeGeometryExecFunction
 
typedef voidNodeDeclareFunction
 
typedef voidNodeGatherSocketLinkOperationsFunction
 
typedef voidSocketGetCPPTypeFunction
 
typedef voidSocketGetGeometryNodesCPPTypeFunction
 
typedef voidSocketGetGeometryNodesCPPValueFunction
 
typedef voidSocketGetCPPValueFunction
 
typedef struct CPPTypeHandle CPPTypeHandle
 
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, 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 ntreeHasTree (const struct bNodeTree *ntree, const struct bNodeTree *lookup)
 
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 ntreeUpdateNodeLevels (struct bNodeTree *ntree)
 
void ntreeSetOutput (struct bNodeTree *ntree)
 
void ntreeFreeCache (struct bNodeTree *ntree)
 
void ntreeNodeFlagSet (const bNodeTree *ntree, int flag, bool enable)
 
struct bNodeTreentreeLocalize (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 (const 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 * nodeSocketTypeLabel (const bNodeSocketType *stype)
 
bool nodeIsStaticSocketType (const struct bNodeSocketType *stype)
 
const char * nodeStaticSocketType (int type, int subtype)
 
const char * nodeStaticSocketInterfaceType (int type, int subtype)
 
const char * nodeStaticSocketLabel (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 bNodeSocketnodeAddStaticSocket (struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name)
 
void nodeRemoveSocket (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
 
void nodeRemoveSocketEx (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, bool do_id_user)
 
void nodeRemoveAllSockets (struct bNodeTree *ntree, struct bNode *node)
 
void nodeModifySocketType (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, const char *idname)
 
void nodeModifySocketTypeStatic (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 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)
 
bool nodeLinkIsSelected (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, 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)
 
void nodeClearActive (struct bNodeTree *ntree)
 
struct bNodenodeGetActiveTexture (struct bNodeTree *ntree)
 
struct bNodenodeGetActivePaintCanvas (struct bNodeTree *ntree)
 
bool nodeSupportsActiveFlag (const struct bNode *node, int sub_active)
 Does the given node supports the sub active flag. More...
 
int nodeSocketIsHidden (const struct bNodeSocket *sock)
 
void nodeSetSocketAvailability (struct bNodeTree *ntree, struct bNodeSocket *sock, bool is_available)
 
int nodeSocketLinkLimit (const struct bNodeSocket *sock)
 
bool nodeDeclarationEnsure (struct bNodeTree *ntree, struct bNode *node)
 
bool nodeDeclarationEnsureOnOutdatedNode (struct bNodeTree *ntree, struct bNode *node)
 
void nodeSocketDeclarationsUpdate (struct bNode *node)
 
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)
 
voidBKE_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)
 
voidBKE_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 voidBKE_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)
 
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_merge_tree (struct bNodeTree *to_ntree, struct bNodeTree *from_ntree, bool remove_old)
 

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:1058
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
Definition: BKE_node.h:1048
#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)
 

Macro Definition Documentation

◆ CMP_CHAN_A

#define CMP_CHAN_A   2

Definition at line 1303 of file BKE_node.h.

◆ CMP_CHAN_RGB

#define CMP_CHAN_RGB   1

Definition at line 1302 of file BKE_node.h.

◆ CMP_CRYPTOMATTE_SRC_IMAGE

#define CMP_CRYPTOMATTE_SRC_IMAGE   1

Definition at line 1332 of file BKE_node.h.

◆ CMP_CRYPTOMATTE_SRC_RENDER

#define CMP_CRYPTOMATTE_SRC_RENDER   0

Definition at line 1331 of file BKE_node.h.

◆ CMP_DEFAULT_SMAA_CONTRAST_LIMIT

#define CMP_DEFAULT_SMAA_CONTRAST_LIMIT   0.2f

Definition at line 1336 of file BKE_node.h.

◆ CMP_DEFAULT_SMAA_CORNER_ROUNDING

#define CMP_DEFAULT_SMAA_CORNER_ROUNDING   0.25f

Definition at line 1337 of file BKE_node.h.

◆ CMP_DEFAULT_SMAA_THRESHOLD

#define CMP_DEFAULT_SMAA_THRESHOLD   1.0f

Definition at line 1335 of file BKE_node.h.

◆ CMP_FILT_KIRSCH

#define CMP_FILT_KIRSCH   5

Definition at line 1311 of file BKE_node.h.

◆ CMP_FILT_LAPLACE

#define CMP_FILT_LAPLACE   2

Definition at line 1308 of file BKE_node.h.

◆ CMP_FILT_PREWITT

#define CMP_FILT_PREWITT   4

Definition at line 1310 of file BKE_node.h.

◆ CMP_FILT_SHADOW

#define CMP_FILT_SHADOW   6

Definition at line 1312 of file BKE_node.h.

◆ CMP_FILT_SHARP_BOX

#define CMP_FILT_SHARP_BOX   1

Definition at line 1307 of file BKE_node.h.

◆ CMP_FILT_SHARP_DIAMOND

#define CMP_FILT_SHARP_DIAMOND   7

Definition at line 1313 of file BKE_node.h.

◆ CMP_FILT_SOBEL

#define CMP_FILT_SOBEL   3

Definition at line 1309 of file BKE_node.h.

◆ CMP_FILT_SOFT

#define CMP_FILT_SOFT   0

Definition at line 1306 of file BKE_node.h.

◆ CMP_NODE_ALPHAOVER

#define CMP_NODE_ALPHAOVER   210

Definition at line 1205 of file BKE_node.h.

◆ CMP_NODE_ANTIALIASING

#define CMP_NODE_ANTIALIASING   274

Definition at line 1270 of file BKE_node.h.

◆ CMP_NODE_BILATERALBLUR

#define CMP_NODE_BILATERALBLUR   255

Definition at line 1250 of file BKE_node.h.

◆ CMP_NODE_BLUR

#define CMP_NODE_BLUR   211

Definition at line 1206 of file BKE_node.h.

◆ CMP_NODE_BOKEHBLUR

#define CMP_NODE_BOKEHBLUR   316

Definition at line 1281 of file BKE_node.h.

◆ CMP_NODE_BOKEHIMAGE

#define CMP_NODE_BOKEHIMAGE   315

Definition at line 1280 of file BKE_node.h.

◆ CMP_NODE_BRIGHTCONTRAST

#define CMP_NODE_BRIGHTCONTRAST   249

Definition at line 1244 of file BKE_node.h.

◆ CMP_NODE_CHANNEL_MATTE

#define CMP_NODE_CHANNEL_MATTE   238

Definition at line 1233 of file BKE_node.h.

◆ CMP_NODE_CHROMA_MATTE

#define CMP_NODE_CHROMA_MATTE   237

Definition at line 1232 of file BKE_node.h.

◆ CMP_NODE_COLOR_MATTE

#define CMP_NODE_COLOR_MATTE   259

Definition at line 1254 of file BKE_node.h.

◆ CMP_NODE_COLOR_SPILL

#define CMP_NODE_COLOR_SPILL   236

Definition at line 1231 of file BKE_node.h.

◆ CMP_NODE_COLORBALANCE

#define CMP_NODE_COLORBALANCE   260

Definition at line 1255 of file BKE_node.h.

◆ CMP_NODE_COLORCORRECTION

#define CMP_NODE_COLORCORRECTION   312

Definition at line 1277 of file BKE_node.h.

◆ CMP_NODE_COMBHSVA_LEGACY

#define CMP_NODE_COMBHSVA_LEGACY   246

Definition at line 1241 of file BKE_node.h.

◆ CMP_NODE_COMBINE_COLOR

#define CMP_NODE_COMBINE_COLOR   332

Definition at line 1298 of file BKE_node.h.

◆ CMP_NODE_COMBINE_XYZ

#define CMP_NODE_COMBINE_XYZ   331

Definition at line 1297 of file BKE_node.h.

◆ CMP_NODE_COMBRGBA_LEGACY

#define CMP_NODE_COMBRGBA_LEGACY   227

Definition at line 1222 of file BKE_node.h.

◆ CMP_NODE_COMBYCCA_LEGACY

#define CMP_NODE_COMBYCCA_LEGACY   232

Definition at line 1227 of file BKE_node.h.

◆ CMP_NODE_COMBYUVA_LEGACY

#define CMP_NODE_COMBYUVA_LEGACY   234

Definition at line 1229 of file BKE_node.h.

◆ CMP_NODE_COMPOSITE

#define CMP_NODE_COMPOSITE   222

Definition at line 1217 of file BKE_node.h.

◆ CMP_NODE_CONVERT_COLOR_SPACE

#define CMP_NODE_CONVERT_COLOR_SPACE   328

Definition at line 1294 of file BKE_node.h.

◆ CMP_NODE_CORNERPIN

#define CMP_NODE_CORNERPIN   321

Definition at line 1287 of file BKE_node.h.

◆ CMP_NODE_CROP

#define CMP_NODE_CROP   253

Definition at line 1248 of file BKE_node.h.

◆ CMP_NODE_CRYPTOMATTE

#define CMP_NODE_CRYPTOMATTE   326

Definition at line 1292 of file BKE_node.h.

◆ CMP_NODE_CRYPTOMATTE_LEGACY

#define CMP_NODE_CRYPTOMATTE_LEGACY   323

Definition at line 1289 of file BKE_node.h.

◆ CMP_NODE_CURVE_RGB

#define CMP_NODE_CURVE_RGB   209

Definition at line 1204 of file BKE_node.h.

◆ CMP_NODE_CURVE_VEC

#define CMP_NODE_CURVE_VEC   208

Definition at line 1203 of file BKE_node.h.

◆ CMP_NODE_DBLUR

#define CMP_NODE_DBLUR   254

Definition at line 1249 of file BKE_node.h.

◆ CMP_NODE_DEFOCUS

#define CMP_NODE_DEFOCUS   244

Definition at line 1239 of file BKE_node.h.

◆ CMP_NODE_DENOISE

#define CMP_NODE_DENOISE   324

Definition at line 1290 of file BKE_node.h.

◆ CMP_NODE_DESPECKLE

#define CMP_NODE_DESPECKLE   273

Definition at line 1269 of file BKE_node.h.

◆ CMP_NODE_DIFF_MATTE

#define CMP_NODE_DIFF_MATTE   235

Definition at line 1230 of file BKE_node.h.

◆ CMP_NODE_DILATEERODE

#define CMP_NODE_DILATEERODE   228

Definition at line 1223 of file BKE_node.h.

◆ CMP_NODE_DISPLACE

#define CMP_NODE_DISPLACE   245

Definition at line 1240 of file BKE_node.h.

◆ CMP_NODE_DIST_MATTE

#define CMP_NODE_DIST_MATTE   257

Definition at line 1252 of file BKE_node.h.

◆ CMP_NODE_DOUBLEEDGEMASK

#define CMP_NODE_DOUBLEEDGEMASK   266

Definition at line 1261 of file BKE_node.h.

◆ CMP_NODE_EXPOSURE

#define CMP_NODE_EXPOSURE   325

Definition at line 1291 of file BKE_node.h.

◆ CMP_NODE_FILTER

#define CMP_NODE_FILTER   212

Definition at line 1207 of file BKE_node.h.

◆ CMP_NODE_FLIP

#define CMP_NODE_FLIP   239

Definition at line 1234 of file BKE_node.h.

◆ CMP_NODE_GAMMA

#define CMP_NODE_GAMMA   250

Definition at line 1245 of file BKE_node.h.

◆ CMP_NODE_GLARE

#define CMP_NODE_GLARE   301

Definition at line 1272 of file BKE_node.h.

◆ CMP_NODE_HUE_SAT

#define CMP_NODE_HUE_SAT   219

Definition at line 1214 of file BKE_node.h.

◆ CMP_NODE_HUECORRECT

#define CMP_NODE_HUECORRECT   261

Definition at line 1256 of file BKE_node.h.

◆ CMP_NODE_ID_MASK

#define CMP_NODE_ID_MASK   243

Definition at line 1238 of file BKE_node.h.

◆ CMP_NODE_IMAGE

#define CMP_NODE_IMAGE   220

Definition at line 1215 of file BKE_node.h.

◆ CMP_NODE_INPAINT

#define CMP_NODE_INPAINT   272

Definition at line 1268 of file BKE_node.h.

◆ CMP_NODE_INVERT

#define CMP_NODE_INVERT   251

Definition at line 1246 of file BKE_node.h.

◆ CMP_NODE_KEYING

#define CMP_NODE_KEYING   270

Definition at line 1266 of file BKE_node.h.

◆ CMP_NODE_KEYINGSCREEN

#define CMP_NODE_KEYINGSCREEN   269

Definition at line 1265 of file BKE_node.h.

◆ CMP_NODE_LENSDIST

#define CMP_NODE_LENSDIST   303

Definition at line 1274 of file BKE_node.h.

◆ CMP_NODE_LUMA_MATTE

#define CMP_NODE_LUMA_MATTE   248

Definition at line 1243 of file BKE_node.h.

◆ CMP_NODE_MAP_RANGE

#define CMP_NODE_MAP_RANGE   319

Definition at line 1285 of file BKE_node.h.

◆ CMP_NODE_MAP_UV

#define CMP_NODE_MAP_UV   242

Definition at line 1237 of file BKE_node.h.

◆ CMP_NODE_MAP_VALUE

#define CMP_NODE_MAP_VALUE   213

Definition at line 1208 of file BKE_node.h.

◆ CMP_NODE_MASK

#define CMP_NODE_MASK   268

Definition at line 1264 of file BKE_node.h.

◆ CMP_NODE_MASK_BOX

#define CMP_NODE_MASK_BOX   313

Definition at line 1278 of file BKE_node.h.

◆ CMP_NODE_MASK_ELLIPSE

#define CMP_NODE_MASK_ELLIPSE   314

Definition at line 1279 of file BKE_node.h.

◆ CMP_NODE_MATH

#define CMP_NODE_MATH   247

Definition at line 1242 of file BKE_node.h.

◆ CMP_NODE_MIX_RGB

#define CMP_NODE_MIX_RGB   204

Definition at line 1199 of file BKE_node.h.

◆ CMP_NODE_MOVIECLIP

#define CMP_NODE_MOVIECLIP   262

Definition at line 1257 of file BKE_node.h.

◆ CMP_NODE_MOVIEDISTORTION

#define CMP_NODE_MOVIEDISTORTION   265

Definition at line 1260 of file BKE_node.h.

◆ CMP_NODE_NORMAL

#define CMP_NODE_NORMAL   207

Definition at line 1202 of file BKE_node.h.

◆ CMP_NODE_NORMALIZE

#define CMP_NODE_NORMALIZE   252

Definition at line 1247 of file BKE_node.h.

◆ CMP_NODE_OUTPUT_FILE

#define CMP_NODE_OUTPUT_FILE   223

Definition at line 1218 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 1262 of file BKE_node.h.

◆ CMP_NODE_PIXELATE

#define CMP_NODE_PIXELATE   318

Definition at line 1283 of file BKE_node.h.

◆ CMP_NODE_PLANETRACKDEFORM

#define CMP_NODE_PLANETRACKDEFORM   320

Definition at line 1286 of file BKE_node.h.

◆ CMP_NODE_POSTERIZE

#define CMP_NODE_POSTERIZE   327

Definition at line 1293 of file BKE_node.h.

◆ CMP_NODE_PREMULKEY

#define CMP_NODE_PREMULKEY   256

Definition at line 1251 of file BKE_node.h.

◆ CMP_NODE_R_LAYERS

#define CMP_NODE_R_LAYERS   221

Definition at line 1216 of file BKE_node.h.

◆ CMP_NODE_RGB

#define CMP_NODE_RGB   202

Definition at line 1197 of file BKE_node.h.

◆ CMP_NODE_RGBTOBW

#define CMP_NODE_RGBTOBW   206

Definition at line 1201 of file BKE_node.h.

◆ CMP_NODE_ROTATE

#define CMP_NODE_ROTATE   229

Definition at line 1224 of file BKE_node.h.

◆ CMP_NODE_SCALE

#define CMP_NODE_SCALE   230

Definition at line 1225 of file BKE_node.h.

◆ CMP_NODE_SCENE_TIME

#define CMP_NODE_SCENE_TIME   329

Definition at line 1295 of file BKE_node.h.

◆ CMP_NODE_SEPARATE_COLOR

#define CMP_NODE_SEPARATE_COLOR   333

Definition at line 1299 of file BKE_node.h.

◆ CMP_NODE_SEPARATE_XYZ

#define CMP_NODE_SEPARATE_XYZ   330

Definition at line 1296 of file BKE_node.h.

◆ CMP_NODE_SEPHSVA_LEGACY

#define CMP_NODE_SEPHSVA_LEGACY   217

Definition at line 1212 of file BKE_node.h.

◆ CMP_NODE_SEPRGBA_LEGACY

#define CMP_NODE_SEPRGBA_LEGACY   216

Definition at line 1211 of file BKE_node.h.

◆ CMP_NODE_SEPYCCA_LEGACY

#define CMP_NODE_SEPYCCA_LEGACY   231

Definition at line 1226 of file BKE_node.h.

◆ CMP_NODE_SEPYUVA_LEGACY

#define CMP_NODE_SEPYUVA_LEGACY   233

Definition at line 1228 of file BKE_node.h.

◆ CMP_NODE_SETALPHA

#define CMP_NODE_SETALPHA   218

Definition at line 1213 of file BKE_node.h.

◆ CMP_NODE_SPLITVIEWER

#define CMP_NODE_SPLITVIEWER   240

Definition at line 1235 of file BKE_node.h.

◆ CMP_NODE_STABILIZE2D

#define CMP_NODE_STABILIZE2D   263

Definition at line 1258 of file BKE_node.h.

◆ CMP_NODE_SUNBEAMS

#define CMP_NODE_SUNBEAMS   304

Definition at line 1275 of file BKE_node.h.

◆ CMP_NODE_SWITCH

#define CMP_NODE_SWITCH   317

Definition at line 1282 of file BKE_node.h.

◆ CMP_NODE_SWITCH_VIEW

#define CMP_NODE_SWITCH_VIEW   322

Definition at line 1288 of file BKE_node.h.

◆ CMP_NODE_TEXTURE

#define CMP_NODE_TEXTURE   224

Definition at line 1219 of file BKE_node.h.

◆ CMP_NODE_TIME

#define CMP_NODE_TIME   214

Definition at line 1209 of file BKE_node.h.

◆ CMP_NODE_TONEMAP

#define CMP_NODE_TONEMAP   302

Definition at line 1273 of file BKE_node.h.

◆ CMP_NODE_TRACKPOS

#define CMP_NODE_TRACKPOS   271

Definition at line 1267 of file BKE_node.h.

◆ CMP_NODE_TRANSFORM

#define CMP_NODE_TRANSFORM   264

Definition at line 1259 of file BKE_node.h.

◆ CMP_NODE_TRANSLATE

#define CMP_NODE_TRANSLATE   225

Definition at line 1220 of file BKE_node.h.

◆ CMP_NODE_VALTORGB

#define CMP_NODE_VALTORGB   205

Definition at line 1200 of file BKE_node.h.

◆ CMP_NODE_VALUE

#define CMP_NODE_VALUE   203

Definition at line 1198 of file BKE_node.h.

◆ CMP_NODE_VECBLUR

#define CMP_NODE_VECBLUR   215

Definition at line 1210 of file BKE_node.h.

◆ CMP_NODE_VIEW_LEVELS

#define CMP_NODE_VIEW_LEVELS   258

Definition at line 1253 of file BKE_node.h.

◆ CMP_NODE_VIEWER

#define CMP_NODE_VIEWER   201

Definition at line 1196 of file BKE_node.h.

◆ CMP_NODE_ZCOMBINE

#define CMP_NODE_ZCOMBINE   226

Definition at line 1221 of file BKE_node.h.

◆ CMP_SCALE_ABSOLUTE

#define CMP_SCALE_ABSOLUTE   1

Definition at line 1317 of file BKE_node.h.

◆ CMP_SCALE_RELATIVE

#define CMP_SCALE_RELATIVE   0

Definition at line 1316 of file BKE_node.h.

◆ CMP_SCALE_RENDERPERCENT

#define CMP_SCALE_RENDERPERCENT   3

Definition at line 1319 of file BKE_node.h.

◆ CMP_SCALE_RENDERSIZE_FRAME_ASPECT

#define CMP_SCALE_RENDERSIZE_FRAME_ASPECT   (1 << 0)

Definition at line 1321 of file BKE_node.h.

◆ CMP_SCALE_RENDERSIZE_FRAME_CROP

#define CMP_SCALE_RENDERSIZE_FRAME_CROP   (1 << 1)

Definition at line 1322 of file BKE_node.h.

◆ CMP_SCALE_SCENEPERCENT

#define CMP_SCALE_SCENEPERCENT   2

Definition at line 1318 of file BKE_node.h.

◆ CMP_TRACKPOS_ABSOLUTE

#define CMP_TRACKPOS_ABSOLUTE   0

Definition at line 1325 of file BKE_node.h.

◆ CMP_TRACKPOS_ABSOLUTE_FRAME

#define CMP_TRACKPOS_ABSOLUTE_FRAME   3

Definition at line 1328 of file BKE_node.h.

◆ CMP_TRACKPOS_RELATIVE_FRAME

#define CMP_TRACKPOS_RELATIVE_FRAME   2

Definition at line 1327 of file BKE_node.h.

◆ CMP_TRACKPOS_RELATIVE_START

#define CMP_TRACKPOS_RELATIVE_START   1

Definition at line 1326 of file BKE_node.h.

◆ FN_NODE_ALIGN_EULER_TO_VECTOR

#define FN_NODE_ALIGN_EULER_TO_VECTOR   1216

Definition at line 1531 of file BKE_node.h.

◆ FN_NODE_BOOLEAN_MATH

#define FN_NODE_BOOLEAN_MATH   1200

Definition at line 1519 of file BKE_node.h.

◆ FN_NODE_COMBINE_COLOR

#define FN_NODE_COMBINE_COLOR   1222

Definition at line 1537 of file BKE_node.h.

◆ FN_NODE_COMPARE

#define FN_NODE_COMPARE   1202

Definition at line 1520 of file BKE_node.h.

◆ FN_NODE_FLOAT_TO_INT

#define FN_NODE_FLOAT_TO_INT   1209

Definition at line 1524 of file BKE_node.h.

◆ FN_NODE_INPUT_BOOL

#define FN_NODE_INPUT_BOOL   1219

Definition at line 1534 of file BKE_node.h.

◆ FN_NODE_INPUT_COLOR

#define FN_NODE_INPUT_COLOR   1217

Definition at line 1532 of file BKE_node.h.

◆ FN_NODE_INPUT_INT

#define FN_NODE_INPUT_INT   1220

Definition at line 1535 of file BKE_node.h.

◆ FN_NODE_INPUT_SPECIAL_CHARACTERS

#define FN_NODE_INPUT_SPECIAL_CHARACTERS   1213

Definition at line 1528 of file BKE_node.h.

◆ FN_NODE_INPUT_STRING

#define FN_NODE_INPUT_STRING   1208

Definition at line 1523 of file BKE_node.h.

◆ FN_NODE_INPUT_VECTOR

#define FN_NODE_INPUT_VECTOR   1207

Definition at line 1522 of file BKE_node.h.

◆ FN_NODE_LEGACY_RANDOM_FLOAT

#define FN_NODE_LEGACY_RANDOM_FLOAT   1206

Definition at line 1521 of file BKE_node.h.

◆ FN_NODE_RANDOM_VALUE

#define FN_NODE_RANDOM_VALUE   1214

Definition at line 1529 of file BKE_node.h.

◆ FN_NODE_REPLACE_STRING

#define FN_NODE_REPLACE_STRING   1218

Definition at line 1533 of file BKE_node.h.

◆ FN_NODE_ROTATE_EULER

#define FN_NODE_ROTATE_EULER   1215

Definition at line 1530 of file BKE_node.h.

◆ FN_NODE_SEPARATE_COLOR

#define FN_NODE_SEPARATE_COLOR   1221

Definition at line 1536 of file BKE_node.h.

◆ FN_NODE_SLICE_STRING

#define FN_NODE_SLICE_STRING   1212

Definition at line 1527 of file BKE_node.h.

◆ FN_NODE_STRING_LENGTH

#define FN_NODE_STRING_LENGTH   1211

Definition at line 1526 of file BKE_node.h.

◆ FN_NODE_VALUE_TO_STRING

#define FN_NODE_VALUE_TO_STRING   1210

Definition at line 1525 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:5013

Definition at line 1048 of file BKE_node.h.

◆ FOREACH_NODETREE_END

#define FOREACH_NODETREE_END
Value:
} \
} \
} \
((void)0)
SyclQueue void void size_t num_bytes void

Definition at line 1058 of file BKE_node.h.

◆ GEO_NODE_ACCUMULATE_FIELD

#define GEO_NODE_ACCUMULATE_FIELD   1146

Definition at line 1487 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_DOMAIN_SIZE

#define GEO_NODE_ATTRIBUTE_DOMAIN_SIZE   1136

Definition at line 1477 of file BKE_node.h.

◆ GEO_NODE_ATTRIBUTE_STATISTIC

#define GEO_NODE_ATTRIBUTE_STATISTIC   1084

Definition at line 1426 of file BKE_node.h.

◆ GEO_NODE_BOUNDING_BOX

#define GEO_NODE_BOUNDING_BOX   1042

Definition at line 1399 of file BKE_node.h.

◆ GEO_NODE_CAPTURE_ATTRIBUTE

#define GEO_NODE_CAPTURE_ATTRIBUTE   1080

Definition at line 1422 of file BKE_node.h.

◆ GEO_NODE_COLLECTION_INFO

#define GEO_NODE_COLLECTION_INFO   1023

Definition at line 1388 of file BKE_node.h.

◆ GEO_NODE_CONVEX_HULL

#define GEO_NODE_CONVEX_HULL   1056

Definition at line 1406 of file BKE_node.h.

◆ GEO_NODE_CURVE_ENDPOINT_SELECTION

#define GEO_NODE_CURVE_ENDPOINT_SELECTION   1127

Definition at line 1469 of file BKE_node.h.

◆ GEO_NODE_CURVE_HANDLE_TYPE_SELECTION

#define GEO_NODE_CURVE_HANDLE_TYPE_SELECTION   1102

Definition at line 1444 of file BKE_node.h.

◆ GEO_NODE_CURVE_LENGTH

#define GEO_NODE_CURVE_LENGTH   1054

Definition at line 1405 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_ARC

#define GEO_NODE_CURVE_PRIMITIVE_ARC   1149

Definition at line 1490 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT

#define GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT   1065

Definition at line 1411 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_CIRCLE

#define GEO_NODE_CURVE_PRIMITIVE_CIRCLE   1066

Definition at line 1412 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_LINE

#define GEO_NODE_CURVE_PRIMITIVE_LINE   1068

Definition at line 1414 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_QUADRATIC_BEZIER

#define GEO_NODE_CURVE_PRIMITIVE_QUADRATIC_BEZIER   1064

Definition at line 1410 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_QUADRILATERAL

#define GEO_NODE_CURVE_PRIMITIVE_QUADRILATERAL   1070

Definition at line 1415 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_SPIRAL

#define GEO_NODE_CURVE_PRIMITIVE_SPIRAL   1063

Definition at line 1409 of file BKE_node.h.

◆ GEO_NODE_CURVE_PRIMITIVE_STAR

#define GEO_NODE_CURVE_PRIMITIVE_STAR   1062

Definition at line 1408 of file BKE_node.h.

◆ GEO_NODE_CURVE_SET_HANDLE_TYPE

#define GEO_NODE_CURVE_SET_HANDLE_TYPE   1100

Definition at line 1442 of file BKE_node.h.

◆ GEO_NODE_CURVE_SPLINE_PARAMETER

#define GEO_NODE_CURVE_SPLINE_PARAMETER   1088

Definition at line 1430 of file BKE_node.h.

◆ GEO_NODE_CURVE_SPLINE_TYPE

#define GEO_NODE_CURVE_SPLINE_TYPE   1099

Definition at line 1441 of file BKE_node.h.

◆ GEO_NODE_CURVE_TO_MESH

#define GEO_NODE_CURVE_TO_MESH   1045

Definition at line 1401 of file BKE_node.h.

◆ GEO_NODE_CURVE_TO_POINTS

#define GEO_NODE_CURVE_TO_POINTS   1130

Definition at line 1471 of file BKE_node.h.

◆ GEO_NODE_DEFORM_CURVES_ON_SURFACE

#define GEO_NODE_DEFORM_CURVES_ON_SURFACE   1167

Definition at line 1508 of file BKE_node.h.

◆ GEO_NODE_DELETE_GEOMETRY

#define GEO_NODE_DELETE_GEOMETRY   1103

Definition at line 1445 of file BKE_node.h.

◆ GEO_NODE_DISTRIBUTE_POINTS_ON_FACES

#define GEO_NODE_DISTRIBUTE_POINTS_ON_FACES   1090

Definition at line 1432 of file BKE_node.h.

◆ GEO_NODE_DUAL_MESH

#define GEO_NODE_DUAL_MESH   1137

Definition at line 1478 of file BKE_node.h.

◆ GEO_NODE_DUPLICATE_ELEMENTS

#define GEO_NODE_DUPLICATE_ELEMENTS   1154

Definition at line 1495 of file BKE_node.h.

◆ GEO_NODE_EDGE_PATHS_TO_CURVES

#define GEO_NODE_EDGE_PATHS_TO_CURVES   1169

Definition at line 1510 of file BKE_node.h.

◆ GEO_NODE_EDGE_PATHS_TO_SELECTION

#define GEO_NODE_EDGE_PATHS_TO_SELECTION   1170

Definition at line 1511 of file BKE_node.h.

◆ GEO_NODE_EXTRUDE_MESH

#define GEO_NODE_EXTRUDE_MESH   1152

Definition at line 1493 of file BKE_node.h.

◆ GEO_NODE_FIELD_AT_INDEX

#define GEO_NODE_FIELD_AT_INDEX   1148

Definition at line 1489 of file BKE_node.h.

◆ GEO_NODE_FILL_CURVE

#define GEO_NODE_FILL_CURVE   1075

Definition at line 1417 of file BKE_node.h.

◆ GEO_NODE_FILLET_CURVE

#define GEO_NODE_FILLET_CURVE   1089

Definition at line 1431 of file BKE_node.h.

◆ GEO_NODE_FLIP_FACES

#define GEO_NODE_FLIP_FACES   1150

Definition at line 1491 of file BKE_node.h.

◆ GEO_NODE_GEOMETRY_TO_INSTANCE

#define GEO_NODE_GEOMETRY_TO_INSTANCE   1142

Definition at line 1483 of file BKE_node.h.

◆ GEO_NODE_IMAGE_TEXTURE

#define GEO_NODE_IMAGE_TEXTURE   1132

Definition at line 1473 of file BKE_node.h.

◆ GEO_NODE_INPUT_CURVE_HANDLES

#define GEO_NODE_INPUT_CURVE_HANDLES   1107

Definition at line 1449 of file BKE_node.h.

◆ GEO_NODE_INPUT_CURVE_TILT

#define GEO_NODE_INPUT_CURVE_TILT   1106

Definition at line 1448 of file BKE_node.h.

◆ GEO_NODE_INPUT_ID

#define GEO_NODE_INPUT_ID   1134

Definition at line 1475 of file BKE_node.h.

◆ GEO_NODE_INPUT_INDEX

#define GEO_NODE_INPUT_INDEX   1078

Definition at line 1420 of file BKE_node.h.

◆ GEO_NODE_INPUT_INSTANCE_ROTATION

#define GEO_NODE_INPUT_INSTANCE_ROTATION   1159

Definition at line 1500 of file BKE_node.h.

◆ GEO_NODE_INPUT_INSTANCE_SCALE

#define GEO_NODE_INPUT_INSTANCE_SCALE   1160

Definition at line 1501 of file BKE_node.h.

◆ GEO_NODE_INPUT_MATERIAL

#define GEO_NODE_INPUT_MATERIAL   1050

Definition at line 1403 of file BKE_node.h.

◆ GEO_NODE_INPUT_MATERIAL_INDEX

#define GEO_NODE_INPUT_MATERIAL_INDEX   1118

Definition at line 1460 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_EDGE_ANGLE

#define GEO_NODE_INPUT_MESH_EDGE_ANGLE   1147

Definition at line 1488 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_EDGE_NEIGHBORS

#define GEO_NODE_INPUT_MESH_EDGE_NEIGHBORS   1143

Definition at line 1484 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_EDGE_VERTICES

#define GEO_NODE_INPUT_MESH_EDGE_VERTICES   1138

Definition at line 1479 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_FACE_AREA

#define GEO_NODE_INPUT_MESH_FACE_AREA   1139

Definition at line 1480 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_FACE_IS_PLANAR

#define GEO_NODE_INPUT_MESH_FACE_IS_PLANAR   1155

Definition at line 1496 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_FACE_NEIGHBORS

#define GEO_NODE_INPUT_MESH_FACE_NEIGHBORS   1140

Definition at line 1481 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_ISLAND

#define GEO_NODE_INPUT_MESH_ISLAND   1144

Definition at line 1485 of file BKE_node.h.

◆ GEO_NODE_INPUT_MESH_VERTEX_NEIGHBORS

#define GEO_NODE_INPUT_MESH_VERTEX_NEIGHBORS   1141

Definition at line 1482 of file BKE_node.h.

◆ GEO_NODE_INPUT_NAMED_ATTRIBUTE

#define GEO_NODE_INPUT_NAMED_ATTRIBUTE   1157

Definition at line 1498 of file BKE_node.h.

◆ GEO_NODE_INPUT_NORMAL

#define GEO_NODE_INPUT_NORMAL   1079

Definition at line 1421 of file BKE_node.h.

◆ GEO_NODE_INPUT_POSITION

#define GEO_NODE_INPUT_POSITION   1076

Definition at line 1418 of file BKE_node.h.

◆ GEO_NODE_INPUT_RADIUS

#define GEO_NODE_INPUT_RADIUS   1105

Definition at line 1447 of file BKE_node.h.

◆ GEO_NODE_INPUT_SCENE_TIME

#define GEO_NODE_INPUT_SCENE_TIME   1145

Definition at line 1486 of file BKE_node.h.

◆ GEO_NODE_INPUT_SHADE_SMOOTH

#define GEO_NODE_INPUT_SHADE_SMOOTH   1108

Definition at line 1450 of file BKE_node.h.

◆ GEO_NODE_INPUT_SHORTEST_EDGE_PATHS

#define GEO_NODE_INPUT_SHORTEST_EDGE_PATHS   1168

Definition at line 1509 of file BKE_node.h.

◆ GEO_NODE_INPUT_SPLINE_CYCLIC

#define GEO_NODE_INPUT_SPLINE_CYCLIC   1110

Definition at line 1452 of file BKE_node.h.

◆ GEO_NODE_INPUT_SPLINE_LENGTH

#define GEO_NODE_INPUT_SPLINE_LENGTH   1098

Definition at line 1440 of file BKE_node.h.

◆ GEO_NODE_INPUT_SPLINE_RESOLUTION

#define GEO_NODE_INPUT_SPLINE_RESOLUTION   1109

Definition at line 1451 of file BKE_node.h.

◆ GEO_NODE_INPUT_TANGENT

#define GEO_NODE_INPUT_TANGENT   1086

Definition at line 1428 of file BKE_node.h.

◆ GEO_NODE_INSTANCE_ON_POINTS

#define GEO_NODE_INSTANCE_ON_POINTS   1092

Definition at line 1434 of file BKE_node.h.

◆ GEO_NODE_INSTANCES_TO_POINTS

#define GEO_NODE_INSTANCES_TO_POINTS   1131

Definition at line 1472 of file BKE_node.h.

◆ GEO_NODE_INTERPOLATE_DOMAIN

#define GEO_NODE_INTERPOLATE_DOMAIN   1163

Definition at line 1504 of file BKE_node.h.

◆ GEO_NODE_IS_VIEWPORT

#define GEO_NODE_IS_VIEWPORT   1024

Definition at line 1389 of file BKE_node.h.

◆ GEO_NODE_JOIN_GEOMETRY

#define GEO_NODE_JOIN_GEOMETRY   1010

Definition at line 1387 of file BKE_node.h.

◆ GEO_NODE_MATERIAL_SELECTION

#define GEO_NODE_MATERIAL_SELECTION   1081

Definition at line 1423 of file BKE_node.h.

◆ GEO_NODE_MERGE_BY_DISTANCE

#define GEO_NODE_MERGE_BY_DISTANCE   1153

Definition at line 1494 of file BKE_node.h.

◆ GEO_NODE_MESH_BOOLEAN

#define GEO_NODE_MESH_BOOLEAN   1003

Definition at line 1385 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CIRCLE

#define GEO_NODE_MESH_PRIMITIVE_CIRCLE   1033

Definition at line 1392 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CONE

#define GEO_NODE_MESH_PRIMITIVE_CONE   1037

Definition at line 1396 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CUBE

#define GEO_NODE_MESH_PRIMITIVE_CUBE   1032

Definition at line 1391 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_CYLINDER

#define GEO_NODE_MESH_PRIMITIVE_CYLINDER   1035

Definition at line 1394 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_GRID

#define GEO_NODE_MESH_PRIMITIVE_GRID   1039

Definition at line 1398 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE

#define GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE   1036

Definition at line 1395 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_LINE

#define GEO_NODE_MESH_PRIMITIVE_LINE   1038

Definition at line 1397 of file BKE_node.h.

◆ GEO_NODE_MESH_PRIMITIVE_UV_SPHERE

#define GEO_NODE_MESH_PRIMITIVE_UV_SPHERE   1034

Definition at line 1393 of file BKE_node.h.

◆ GEO_NODE_MESH_TO_CURVE

#define GEO_NODE_MESH_TO_CURVE   1124

Definition at line 1466 of file BKE_node.h.

◆ GEO_NODE_MESH_TO_POINTS

#define GEO_NODE_MESH_TO_POINTS   1093

Definition at line 1435 of file BKE_node.h.

◆ GEO_NODE_MESH_TO_VOLUME

#define GEO_NODE_MESH_TO_VOLUME   1164

Definition at line 1505 of file BKE_node.h.

◆ GEO_NODE_OBJECT_INFO

#define GEO_NODE_OBJECT_INFO   1007

Definition at line 1386 of file BKE_node.h.

◆ GEO_NODE_POINTS

#define GEO_NODE_POINTS   1162

Definition at line 1503 of file BKE_node.h.

◆ GEO_NODE_POINTS_TO_VERTICES

#define GEO_NODE_POINTS_TO_VERTICES   1094

Definition at line 1436 of file BKE_node.h.

◆ GEO_NODE_POINTS_TO_VOLUME

#define GEO_NODE_POINTS_TO_VOLUME   1101

Definition at line 1443 of file BKE_node.h.

◆ GEO_NODE_PROXIMITY

#define GEO_NODE_PROXIMITY   1096

Definition at line 1438 of file BKE_node.h.

◆ GEO_NODE_RAYCAST

#define GEO_NODE_RAYCAST   1128

Definition at line 1470 of file BKE_node.h.

◆ GEO_NODE_REALIZE_INSTANCES

#define GEO_NODE_REALIZE_INSTANCES   1083

Definition at line 1425 of file BKE_node.h.

◆ GEO_NODE_REMOVE_ATTRIBUTE

#define GEO_NODE_REMOVE_ATTRIBUTE   1158

Definition at line 1499 of file BKE_node.h.

◆ GEO_NODE_REPLACE_MATERIAL

#define GEO_NODE_REPLACE_MATERIAL   1051

Definition at line 1404 of file BKE_node.h.

◆ GEO_NODE_RESAMPLE_CURVE

#define GEO_NODE_RESAMPLE_CURVE   1047

Definition at line 1402 of file BKE_node.h.

◆ GEO_NODE_REVERSE_CURVE

#define GEO_NODE_REVERSE_CURVE   1095

Definition at line 1437 of file BKE_node.h.

◆ GEO_NODE_ROTATE_INSTANCES

#define GEO_NODE_ROTATE_INSTANCES   1122

Definition at line 1464 of file BKE_node.h.

◆ GEO_NODE_SAMPLE_CURVE

#define GEO_NODE_SAMPLE_CURVE   1085

Definition at line 1427 of file BKE_node.h.

◆ GEO_NODE_SCALE_ELEMENTS

#define GEO_NODE_SCALE_ELEMENTS   1151

Definition at line 1492 of file BKE_node.h.

◆ GEO_NODE_SCALE_INSTANCES

#define GEO_NODE_SCALE_INSTANCES   1121

Definition at line 1463 of file BKE_node.h.

◆ GEO_NODE_SEPARATE_COMPONENTS

#define GEO_NODE_SEPARATE_COMPONENTS   1059

Definition at line 1407 of file BKE_node.h.

◆ GEO_NODE_SEPARATE_GEOMETRY

#define GEO_NODE_SEPARATE_GEOMETRY   1104

Definition at line 1446 of file BKE_node.h.

◆ GEO_NODE_SET_CURVE_HANDLES

#define GEO_NODE_SET_CURVE_HANDLES   1113

Definition at line 1455 of file BKE_node.h.

◆ GEO_NODE_SET_CURVE_RADIUS

#define GEO_NODE_SET_CURVE_RADIUS   1111

Definition at line 1453 of file BKE_node.h.

◆ GEO_NODE_SET_CURVE_TILT

#define GEO_NODE_SET_CURVE_TILT   1112

Definition at line 1454 of file BKE_node.h.

◆ GEO_NODE_SET_ID

#define GEO_NODE_SET_ID   1135

Definition at line 1476 of file BKE_node.h.

◆ GEO_NODE_SET_MATERIAL

#define GEO_NODE_SET_MATERIAL   1082

Definition at line 1424 of file BKE_node.h.

◆ GEO_NODE_SET_MATERIAL_INDEX

#define GEO_NODE_SET_MATERIAL_INDEX   1119

Definition at line 1461 of file BKE_node.h.

◆ GEO_NODE_SET_POINT_RADIUS

#define GEO_NODE_SET_POINT_RADIUS   1117

Definition at line 1459 of file BKE_node.h.

◆ GEO_NODE_SET_POSITION

#define GEO_NODE_SET_POSITION   1077

Definition at line 1419 of file BKE_node.h.

◆ GEO_NODE_SET_SHADE_SMOOTH

#define GEO_NODE_SET_SHADE_SMOOTH   1114

Definition at line 1456 of file BKE_node.h.

◆ GEO_NODE_SET_SPLINE_CYCLIC

#define GEO_NODE_SET_SPLINE_CYCLIC   1116

Definition at line 1458 of file BKE_node.h.

◆ GEO_NODE_SET_SPLINE_RESOLUTION

#define GEO_NODE_SET_SPLINE_RESOLUTION   1115

Definition at line 1457 of file BKE_node.h.

◆ GEO_NODE_SPLIT_EDGES

#define GEO_NODE_SPLIT_EDGES   1123

Definition at line 1465 of file BKE_node.h.

◆ GEO_NODE_STORE_NAMED_ATTRIBUTE

#define GEO_NODE_STORE_NAMED_ATTRIBUTE   1156

Definition at line 1497 of file BKE_node.h.

◆ GEO_NODE_STRING_JOIN

#define GEO_NODE_STRING_JOIN   1087

Definition at line 1429 of file BKE_node.h.

◆ GEO_NODE_STRING_TO_CURVES

#define GEO_NODE_STRING_TO_CURVES   1091

Definition at line 1433 of file BKE_node.h.

◆ GEO_NODE_SUBDIVIDE_CURVE

#define GEO_NODE_SUBDIVIDE_CURVE   1097

Definition at line 1439 of file BKE_node.h.

◆ GEO_NODE_SUBDIVIDE_MESH

#define GEO_NODE_SUBDIVIDE_MESH   1029

Definition at line 1390 of file BKE_node.h.

◆ GEO_NODE_SUBDIVISION_SURFACE

#define GEO_NODE_SUBDIVISION_SURFACE   1126

Definition at line 1468 of file BKE_node.h.

◆ GEO_NODE_SWITCH

#define GEO_NODE_SWITCH   1043

Definition at line 1400 of file BKE_node.h.

◆ GEO_NODE_TRANSFER_ATTRIBUTE

#define GEO_NODE_TRANSFER_ATTRIBUTE   1125

Definition at line 1467 of file BKE_node.h.

◆ GEO_NODE_TRANSFORM

#define GEO_NODE_TRANSFORM   1002

Definition at line 1384 of file BKE_node.h.

◆ GEO_NODE_TRANSLATE_INSTANCES

#define GEO_NODE_TRANSLATE_INSTANCES   1120

Definition at line 1462 of file BKE_node.h.

◆ GEO_NODE_TRIANGULATE

#define GEO_NODE_TRIANGULATE   1000

Definition at line 1383 of file BKE_node.h.

◆ GEO_NODE_TRIM_CURVE

#define GEO_NODE_TRIM_CURVE   1071

Definition at line 1416 of file BKE_node.h.

◆ GEO_NODE_UV_PACK_ISLANDS

#define GEO_NODE_UV_PACK_ISLANDS   1166

Definition at line 1507 of file BKE_node.h.

◆ GEO_NODE_UV_UNWRAP

#define GEO_NODE_UV_UNWRAP   1165

Definition at line 1506 of file BKE_node.h.

◆ GEO_NODE_VIEWER

#define GEO_NODE_VIEWER   1067

Definition at line 1413 of file BKE_node.h.

◆ GEO_NODE_VOLUME_CUBE

#define GEO_NODE_VOLUME_CUBE   1161

Definition at line 1502 of file BKE_node.h.

◆ GEO_NODE_VOLUME_TO_MESH

#define GEO_NODE_VOLUME_TO_MESH   1133

Definition at line 1474 of file BKE_node.h.

◆ MAX_SOCKET

#define MAX_SOCKET   512

Definition at line 30 of file BKE_node.h.

◆ NODE_CLASS_ATTRIBUTE

#define NODE_CLASS_ATTRIBUTE   42

Definition at line 360 of file BKE_node.h.

◆ NODE_CLASS_CONVERTER

#define NODE_CLASS_CONVERTER   8

Definition at line 351 of file BKE_node.h.

◆ NODE_CLASS_DISTORT

#define NODE_CLASS_DISTORT   10

Definition at line 353 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 350 of file BKE_node.h.

◆ NODE_CLASS_INPUT

#define NODE_CLASS_INPUT   0

Definition at line 345 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 352 of file BKE_node.h.

◆ NODE_CLASS_OP_COLOR

#define NODE_CLASS_OP_COLOR   3

Definition at line 347 of file BKE_node.h.

◆ NODE_CLASS_OP_FILTER

#define NODE_CLASS_OP_FILTER   5

Definition at line 349 of file BKE_node.h.

◆ NODE_CLASS_OP_VECTOR

#define NODE_CLASS_OP_VECTOR   4

Definition at line 348 of file BKE_node.h.

◆ NODE_CLASS_OUTPUT

#define NODE_CLASS_OUTPUT   1

Definition at line 346 of file BKE_node.h.

◆ NODE_CLASS_PATTERN

#define NODE_CLASS_PATTERN   12

Definition at line 354 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 355 of file BKE_node.h.

◆ NODE_CUSTOM

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

Definition at line 981 of file BKE_node.h.

◆ NODE_CUSTOM_GROUP

#define NODE_CUSTOM_GROUP   9

Definition at line 989 of file BKE_node.h.

◆ NODE_FRAME

#define NODE_FRAME   5

Definition at line 985 of file BKE_node.h.

◆ NODE_GROUP

#define NODE_GROUP   2

Definition at line 982 of file BKE_node.h.

◆ NODE_GROUP_INPUT

#define NODE_GROUP_INPUT   7

Definition at line 987 of file BKE_node.h.

◆ NODE_GROUP_OUTPUT

#define NODE_GROUP_OUTPUT   8

Definition at line 988 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:869

Definition at line 896 of file BKE_node.h.

◆ NODE_REROUTE

#define NODE_REROUTE   6

Definition at line 986 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:1438
BLI_INLINE void * BLI_ghashIterator_getValue(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
Definition: BLI_ghash.h:302
BLI_INLINE bool BLI_ghashIterator_done(const GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
Definition: BLI_ghash.h:310
Defines a socket type.
Definition: BKE_node.h:143

Definition at line 593 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 601 of file BKE_node.h.

◆ NODE_STORAGE_FUNCS

#define NODE_STORAGE_FUNCS (   StorageT)
Value:
[[maybe_unused]] static StorageT &node_storage(bNode &node) \
{ \
return *static_cast<StorageT *>(node.storage); \
} \
[[maybe_unused]] static const StorageT &node_storage(const bNode &node) \
{ \
return *static_cast<const StorageT *>(node.storage); \
}
OperationNode * node

Definition at line 1563 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:1322

Definition at line 426 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 433 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:1390
Defines a node type.
Definition: BKE_node.h:226

Definition at line 567 of file BKE_node.h.

◆ NODE_TYPES_END

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

Definition at line 574 of file BKE_node.h.

◆ NODE_UNDEFINED

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

Definition at line 980 of file BKE_node.h.

◆ RRES_OUT_ALPHA

#define RRES_OUT_ALPHA   1

Definition at line 1193 of file BKE_node.h.

◆ RRES_OUT_IMAGE

#define RRES_OUT_IMAGE   0

Definition at line 1192 of file BKE_node.h.

◆ SH_NODE_ADD_SHADER

#define SH_NODE_ADD_SHADER   156

Definition at line 1127 of file BKE_node.h.

◆ SH_NODE_AMBIENT_OCCLUSION

#define SH_NODE_AMBIENT_OCCLUSION   172

Definition at line 1143 of file BKE_node.h.

◆ SH_NODE_ATTRIBUTE

#define SH_NODE_ATTRIBUTE   129

Definition at line 1106 of file BKE_node.h.

◆ SH_NODE_BACKGROUND

#define SH_NODE_BACKGROUND   130

Definition at line 1107 of file BKE_node.h.

◆ SH_NODE_BEVEL

#define SH_NODE_BEVEL   197

Definition at line 1167 of file BKE_node.h.

◆ SH_NODE_BLACKBODY

#define SH_NODE_BLACKBODY   181

Definition at line 1152 of file BKE_node.h.

◆ SH_NODE_BRIGHTCONTRAST

#define SH_NODE_BRIGHTCONTRAST   165

Definition at line 1136 of file BKE_node.h.

◆ SH_NODE_BSDF_ANISOTROPIC

#define SH_NODE_BSDF_ANISOTROPIC   131

Definition at line 1108 of file BKE_node.h.

◆ SH_NODE_BSDF_DIFFUSE

#define SH_NODE_BSDF_DIFFUSE   132

Definition at line 1109 of file BKE_node.h.

◆ SH_NODE_BSDF_GLASS

#define SH_NODE_BSDF_GLASS   134

Definition at line 1111 of file BKE_node.h.

◆ SH_NODE_BSDF_GLOSSY

#define SH_NODE_BSDF_GLOSSY   133

Definition at line 1110 of file BKE_node.h.

◆ SH_NODE_BSDF_HAIR

#define SH_NODE_BSDF_HAIR   185

Definition at line 1156 of file BKE_node.h.

◆ SH_NODE_BSDF_HAIR_PRINCIPLED

#define SH_NODE_BSDF_HAIR_PRINCIPLED   701

Definition at line 1172 of file BKE_node.h.

◆ SH_NODE_BSDF_PRINCIPLED

#define SH_NODE_BSDF_PRINCIPLED   193

Definition at line 1164 of file BKE_node.h.

◆ SH_NODE_BSDF_REFRACTION

#define SH_NODE_BSDF_REFRACTION   173

Definition at line 1144 of file BKE_node.h.

◆ SH_NODE_BSDF_TOON

#define SH_NODE_BSDF_TOON   179

Definition at line 1150 of file BKE_node.h.

◆ SH_NODE_BSDF_TRANSLUCENT

#define SH_NODE_BSDF_TRANSLUCENT   137

Definition at line 1112 of file BKE_node.h.

◆ SH_NODE_BSDF_TRANSPARENT

#define SH_NODE_BSDF_TRANSPARENT   138

Definition at line 1113 of file BKE_node.h.

◆ SH_NODE_BSDF_VELVET

#define SH_NODE_BSDF_VELVET   139

Definition at line 1114 of file BKE_node.h.

◆ SH_NODE_BUMP

#define SH_NODE_BUMP   170

Definition at line 1141 of file BKE_node.h.

◆ SH_NODE_CAMERA

#define SH_NODE_CAMERA   114

Definition at line 1091 of file BKE_node.h.

◆ SH_NODE_CLAMP

#define SH_NODE_CLAMP   703

Definition at line 1174 of file BKE_node.h.

◆ SH_NODE_COMBHSV_LEGACY

#define SH_NODE_COMBHSV_LEGACY   184

Definition at line 1155 of file BKE_node.h.

◆ SH_NODE_COMBINE_COLOR

#define SH_NODE_COMBINE_COLOR   711

Definition at line 1182 of file BKE_node.h.

◆ SH_NODE_COMBRGB_LEGACY

#define SH_NODE_COMBRGB_LEGACY   121

Definition at line 1098 of file BKE_node.h.

◆ SH_NODE_COMBXYZ

#define SH_NODE_COMBXYZ   189

Definition at line 1160 of file BKE_node.h.

◆ SH_NODE_CURVE_FLOAT

#define SH_NODE_CURVE_FLOAT   709

Definition at line 1180 of file BKE_node.h.

◆ SH_NODE_CURVE_RGB

#define SH_NODE_CURVE_RGB   111

Definition at line 1090 of file BKE_node.h.

◆ SH_NODE_CURVE_VEC

#define SH_NODE_CURVE_VEC   110

Definition at line 1089 of file BKE_node.h.

◆ SH_NODE_DISPLACEMENT

#define SH_NODE_DISPLACEMENT   198

Definition at line 1168 of file BKE_node.h.

◆ SH_NODE_EEVEE_SPECULAR

#define SH_NODE_EEVEE_SPECULAR   195

Definition at line 1166 of file BKE_node.h.

◆ SH_NODE_EMISSION

#define SH_NODE_EMISSION   140

Definition at line 1115 of file BKE_node.h.

◆ SH_NODE_FRESNEL

#define SH_NODE_FRESNEL   127

Definition at line 1104 of file BKE_node.h.

◆ SH_NODE_GAMMA

#define SH_NODE_GAMMA   163

Definition at line 1134 of file BKE_node.h.

◆ SH_NODE_HAIR_INFO

#define SH_NODE_HAIR_INFO   176

Definition at line 1147 of file BKE_node.h.

◆ SH_NODE_HOLDOUT

#define SH_NODE_HOLDOUT   159

Definition at line 1130 of file BKE_node.h.

◆ SH_NODE_HUE_SAT

#define SH_NODE_HUE_SAT   122

Definition at line 1099 of file BKE_node.h.

◆ SH_NODE_INVERT

#define SH_NODE_INVERT   119

Definition at line 1096 of file BKE_node.h.

◆ SH_NODE_LAYER_WEIGHT

#define SH_NODE_LAYER_WEIGHT   160

Definition at line 1131 of file BKE_node.h.

◆ SH_NODE_LIGHT_FALLOFF

#define SH_NODE_LIGHT_FALLOFF   166

Definition at line 1137 of file BKE_node.h.

◆ SH_NODE_LIGHT_PATH

#define SH_NODE_LIGHT_PATH   142

Definition at line 1117 of file BKE_node.h.

◆ SH_NODE_MAP_RANGE

#define SH_NODE_MAP_RANGE   702

Definition at line 1173 of file BKE_node.h.

◆ SH_NODE_MAPPING

#define SH_NODE_MAPPING   109

Definition at line 1088 of file BKE_node.h.

◆ SH_NODE_MATH

#define SH_NODE_MATH   115

Definition at line 1092 of file BKE_node.h.

◆ SH_NODE_MIX_RGB

#define SH_NODE_MIX_RGB   103

Definition at line 1081 of file BKE_node.h.

◆ SH_NODE_MIX_SHADER

#define SH_NODE_MIX_SHADER   128

Definition at line 1105 of file BKE_node.h.

◆ SH_NODE_NEW_GEOMETRY

#define SH_NODE_NEW_GEOMETRY   141

Definition at line 1116 of file BKE_node.h.

◆ SH_NODE_NORMAL

#define SH_NODE_NORMAL   107

Definition at line 1086 of file BKE_node.h.

◆ SH_NODE_NORMAL_MAP

#define SH_NODE_NORMAL_MAP   175

Definition at line 1146 of file BKE_node.h.

◆ SH_NODE_OBJECT_INFO

#define SH_NODE_OBJECT_INFO   167

Definition at line 1138 of file BKE_node.h.

◆ SH_NODE_OUTPUT_AOV

#define SH_NODE_OUTPUT_AOV   707

Definition at line 1178 of file BKE_node.h.

◆ SH_NODE_OUTPUT_LIGHT

#define SH_NODE_OUTPUT_LIGHT   126

Definition at line 1103 of file BKE_node.h.

◆ SH_NODE_OUTPUT_LINESTYLE

#define SH_NODE_OUTPUT_LINESTYLE   190

Definition at line 1161 of file BKE_node.h.

◆ SH_NODE_OUTPUT_MATERIAL

#define SH_NODE_OUTPUT_MATERIAL   124

Definition at line 1101 of file BKE_node.h.

◆ SH_NODE_OUTPUT_WORLD

#define SH_NODE_OUTPUT_WORLD   125

Definition at line 1102 of file BKE_node.h.

◆ SH_NODE_PARTICLE_INFO

#define SH_NODE_PARTICLE_INFO   168

Definition at line 1139 of file BKE_node.h.

◆ SH_NODE_POINT_INFO

#define SH_NODE_POINT_INFO   710

Definition at line 1181 of file BKE_node.h.

◆ SH_NODE_RGB

#define SH_NODE_RGB   101

Definition at line 1079 of file BKE_node.h.

◆ SH_NODE_RGBTOBW

#define SH_NODE_RGBTOBW   105

Definition at line 1083 of file BKE_node.h.

◆ SH_NODE_SCRIPT

#define SH_NODE_SCRIPT   171

Definition at line 1142 of file BKE_node.h.

◆ SH_NODE_SEPARATE_COLOR

#define SH_NODE_SEPARATE_COLOR   712

Definition at line 1183 of file BKE_node.h.

◆ SH_NODE_SEPHSV_LEGACY

#define SH_NODE_SEPHSV_LEGACY   183

Definition at line 1154 of file BKE_node.h.

◆ SH_NODE_SEPRGB_LEGACY

#define SH_NODE_SEPRGB_LEGACY   120

Definition at line 1097 of file BKE_node.h.

◆ SH_NODE_SEPXYZ

#define SH_NODE_SEPXYZ   188

Definition at line 1159 of file BKE_node.h.

◆ SH_NODE_SHADERTORGB

#define SH_NODE_SHADERTORGB   106

Definition at line 1084 of file BKE_node.h.

◆ SH_NODE_SQUEEZE

#define SH_NODE_SQUEEZE   117

Definition at line 1094 of file BKE_node.h.

◆ SH_NODE_SUBSURFACE_SCATTERING

#define SH_NODE_SUBSURFACE_SCATTERING   177

Definition at line 1148 of file BKE_node.h.

◆ SH_NODE_TANGENT

#define SH_NODE_TANGENT   174

Definition at line 1145 of file BKE_node.h.

◆ SH_NODE_TEX_BRICK

#define SH_NODE_TEX_BRICK   169

Definition at line 1140 of file BKE_node.h.

◆ SH_NODE_TEX_CHECKER

#define SH_NODE_TEX_CHECKER   164

Definition at line 1135 of file BKE_node.h.

◆ SH_NODE_TEX_COORD

#define SH_NODE_TEX_COORD   155

Definition at line 1126 of file BKE_node.h.

◆ SH_NODE_TEX_ENVIRONMENT

#define SH_NODE_TEX_ENVIRONMENT   157

Definition at line 1128 of file BKE_node.h.

◆ SH_NODE_TEX_GRADIENT

#define SH_NODE_TEX_GRADIENT   146

Definition at line 1120 of file BKE_node.h.

◆ SH_NODE_TEX_IES

#define SH_NODE_TEX_IES   194

Definition at line 1165 of file BKE_node.h.

◆ SH_NODE_TEX_IMAGE

#define SH_NODE_TEX_IMAGE   143

Definition at line 1118 of file BKE_node.h.

◆ SH_NODE_TEX_MAGIC

#define SH_NODE_TEX_MAGIC   148

Definition at line 1122 of file BKE_node.h.

◆ SH_NODE_TEX_MUSGRAVE

#define SH_NODE_TEX_MUSGRAVE   152

Definition at line 1125 of file BKE_node.h.

◆ SH_NODE_TEX_NOISE

#define SH_NODE_TEX_NOISE   150

Definition at line 1124 of file BKE_node.h.

◆ SH_NODE_TEX_POINTDENSITY

#define SH_NODE_TEX_POINTDENSITY   192

Definition at line 1163 of file BKE_node.h.

◆ SH_NODE_TEX_SKY

#define SH_NODE_TEX_SKY   145

Definition at line 1119 of file BKE_node.h.

◆ SH_NODE_TEX_VORONOI

#define SH_NODE_TEX_VORONOI   147

Definition at line 1121 of file BKE_node.h.

◆ SH_NODE_TEX_WAVE

#define SH_NODE_TEX_WAVE   149

Definition at line 1123 of file BKE_node.h.

◆ SH_NODE_TEX_WHITE_NOISE

#define SH_NODE_TEX_WHITE_NOISE   704

Definition at line 1175 of file BKE_node.h.

◆ SH_NODE_UVALONGSTROKE

#define SH_NODE_UVALONGSTROKE   191

Definition at line 1162 of file BKE_node.h.

◆ SH_NODE_UVMAP

#define SH_NODE_UVMAP   187

Definition at line 1158 of file BKE_node.h.

◆ SH_NODE_VALTORGB

#define SH_NODE_VALTORGB   104

Definition at line 1082 of file BKE_node.h.

◆ SH_NODE_VALUE

#define SH_NODE_VALUE   102

Definition at line 1080 of file BKE_node.h.

◆ SH_NODE_VECT_TRANSFORM

#define SH_NODE_VECT_TRANSFORM   182

Definition at line 1153 of file BKE_node.h.

◆ SH_NODE_VECTOR_DISPLACEMENT

#define SH_NODE_VECTOR_DISPLACEMENT   199

Definition at line 1169 of file BKE_node.h.

◆ SH_NODE_VECTOR_MATH

#define SH_NODE_VECTOR_MATH   116

Definition at line 1093 of file BKE_node.h.

◆ SH_NODE_VECTOR_ROTATE

#define SH_NODE_VECTOR_ROTATE   708

Definition at line 1179 of file BKE_node.h.

◆ SH_NODE_VERTEX_COLOR

#define SH_NODE_VERTEX_COLOR   706

Definition at line 1177 of file BKE_node.h.

◆ SH_NODE_VOLUME_ABSORPTION

#define SH_NODE_VOLUME_ABSORPTION   161

Definition at line 1132 of file BKE_node.h.

◆ SH_NODE_VOLUME_INFO

#define SH_NODE_VOLUME_INFO   705

Definition at line 1176 of file BKE_node.h.

◆ SH_NODE_VOLUME_PRINCIPLED

#define SH_NODE_VOLUME_PRINCIPLED   200

Definition at line 1170 of file BKE_node.h.

◆ SH_NODE_VOLUME_SCATTER

#define SH_NODE_VOLUME_SCATTER   162

Definition at line 1133 of file BKE_node.h.

◆ SH_NODE_WAVELENGTH

#define SH_NODE_WAVELENGTH   180

Definition at line 1151 of file BKE_node.h.

◆ SH_NODE_WIREFRAME

#define SH_NODE_WIREFRAME   178

Definition at line 1149 of file BKE_node.h.

◆ TEX_NODE_AT

#define TEX_NODE_AT   423

Definition at line 1369 of file BKE_node.h.

◆ TEX_NODE_BRICKS

#define TEX_NODE_BRICKS   404

Definition at line 1350 of file BKE_node.h.

◆ TEX_NODE_CHECKER

#define TEX_NODE_CHECKER   402

Definition at line 1348 of file BKE_node.h.

◆ TEX_NODE_COMBINE_COLOR

#define TEX_NODE_COMBINE_COLOR   424

Definition at line 1370 of file BKE_node.h.

◆ TEX_NODE_COMPOSE_LEGACY

#define TEX_NODE_COMPOSE_LEGACY   419

Definition at line 1365 of file BKE_node.h.

◆ TEX_NODE_COORD

#define TEX_NODE_COORD   417

Definition at line 1363 of file BKE_node.h.

◆ TEX_NODE_CURVE_RGB

#define TEX_NODE_CURVE_RGB   410

Definition at line 1356 of file BKE_node.h.

◆ TEX_NODE_CURVE_TIME

#define TEX_NODE_CURVE_TIME   413

Definition at line 1359 of file BKE_node.h.

◆ TEX_NODE_DECOMPOSE_LEGACY

#define TEX_NODE_DECOMPOSE_LEGACY   420

Definition at line 1366 of file BKE_node.h.

◆ TEX_NODE_DISTANCE

#define TEX_NODE_DISTANCE   418

Definition at line 1364 of file BKE_node.h.

◆ TEX_NODE_HUE_SAT

#define TEX_NODE_HUE_SAT   412

Definition at line 1358 of file BKE_node.h.

◆ TEX_NODE_IMAGE

#define TEX_NODE_IMAGE   409

Definition at line 1355 of file BKE_node.h.

◆ TEX_NODE_INVERT

#define TEX_NODE_INVERT   411

Definition at line 1357 of file BKE_node.h.

◆ TEX_NODE_MATH

#define TEX_NODE_MATH   405

Definition at line 1351 of file BKE_node.h.

◆ TEX_NODE_MIX_RGB

#define TEX_NODE_MIX_RGB   406

Definition at line 1352 of file BKE_node.h.

◆ TEX_NODE_OUTPUT

#define TEX_NODE_OUTPUT   401

Definition at line 1347 of file BKE_node.h.

◆ TEX_NODE_PROC

#define TEX_NODE_PROC   500

Definition at line 1374 of file BKE_node.h.

◆ TEX_NODE_PROC_MAX

#define TEX_NODE_PROC_MAX   600

Definition at line 1375 of file BKE_node.h.

◆ TEX_NODE_RGBTOBW

#define TEX_NODE_RGBTOBW   407

Definition at line 1353 of file BKE_node.h.

◆ TEX_NODE_ROTATE

#define TEX_NODE_ROTATE   414

Definition at line 1360 of file BKE_node.h.

◆ TEX_NODE_SCALE

#define TEX_NODE_SCALE   422

Definition at line 1368 of file BKE_node.h.

◆ TEX_NODE_SEPARATE_COLOR

#define TEX_NODE_SEPARATE_COLOR   425

Definition at line 1371 of file BKE_node.h.

◆ TEX_NODE_TEXTURE

#define TEX_NODE_TEXTURE   403

Definition at line 1349 of file BKE_node.h.

◆ TEX_NODE_TRANSLATE

#define TEX_NODE_TRANSLATE   416

Definition at line 1362 of file BKE_node.h.

◆ TEX_NODE_VALTONOR

#define TEX_NODE_VALTONOR   421

Definition at line 1367 of file BKE_node.h.

◆ TEX_NODE_VALTORGB

#define TEX_NODE_VALTORGB   408

Definition at line 1354 of file BKE_node.h.

◆ TEX_NODE_VIEWER

#define TEX_NODE_VIEWER   415

Definition at line 1361 of file BKE_node.h.

Typedef Documentation

◆ bNodeClassCallback

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

Definition at line 372 of file BKE_node.h.

◆ bNodeInstanceHash

Node Instance Hash.

◆ bNodeInstanceHashIterator

Definition at line 863 of file BKE_node.h.

◆ bNodeInstanceValueFP

typedef void(* bNodeInstanceValueFP) (void *value)

Definition at line 833 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.

◆ CPPTypeHandle

typedef struct CPPTypeHandle CPPTypeHandle

Definition at line 134 of file BKE_node.h.

◆ eNodeSizePreset

◆ NodeDeclareFunction

Definition at line 129 of file BKE_node.h.

◆ NodeExecFunction

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

Definition at line 208 of file BKE_node.h.

◆ NodeFreeExecFunction

typedef void(* NodeFreeExecFunction) (void *nodedata)

Definition at line 207 of file BKE_node.h.

◆ NodeGatherSocketLinkOperationsFunction

Definition at line 130 of file BKE_node.h.

◆ NodeGeometryExecFunction

Definition at line 128 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 214 of file BKE_node.h.

◆ NodeInitExecFunction

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

Definition at line 204 of file BKE_node.h.

◆ NodeMultiFunctionBuildFunction

Definition at line 127 of file BKE_node.h.

◆ SocketGetCPPTypeFunction

Definition at line 131 of file BKE_node.h.

◆ SocketGetCPPValueFunction

Definition at line 134 of file BKE_node.h.

◆ SocketGetGeometryNodesCPPTypeFunction

Definition at line 132 of file BKE_node.h.

◆ SocketGetGeometryNodesCPPValueFunction

Definition at line 133 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 363 of file BKE_node.h.

Function Documentation

◆ BKE_node_clipboard_add_link()

void BKE_node_clipboard_add_link ( struct bNodeLink link)

◆ 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 3888 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 3878 of file node.cc.

References bNodeClipboard::links, and node_clipboard.

Referenced by blender::ed::space_node::node_clipboard_paste_exec().

◆ BKE_node_clipboard_get_nodes()

const struct ListBase* BKE_node_clipboard_get_nodes ( void  )

Definition at line 3873 of file node.cc.

References node_clipboard, and bNodeClipboard::nodes.

Referenced by blender::ed::space_node::node_clipboard_paste_exec().

◆ BKE_node_clipboard_get_type()

int BKE_node_clipboard_get_type ( void  )

Definition at line 3883 of file node.cc.

References node_clipboard, and bNodeClipboard::type.

Referenced by blender::ed::space_node::node_clipboard_paste_exec().

◆ BKE_node_clipboard_init()

void BKE_node_clipboard_init ( const struct bNodeTree ntree)

Node Clipboard.

Definition at line 3773 of file node.cc.

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

Referenced by blender::ed::space_node::node_clipboard_copy_exec().

◆ BKE_node_clipboard_validate()

bool BKE_node_clipboard_validate ( void  )

◆ BKE_node_instance_hash_clear()

void BKE_node_instance_hash_clear ( bNodeInstanceHash hash,
bNodeInstanceValueFP  valfreefp 
)

Definition at line 3977 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 3951 of file node.cc.

References BLI_ghash_free(), hash, and MEM_freeN.

Referenced by 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 3987 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 891 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 874 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 869 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 865 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 887 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 3982 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 3970 of file node.cc.

References BLI_ghash_remove(), and hash.

Referenced by BKE_node_instance_hash_remove_untagged(), and BKE_node_preview_merge_tree().

◆ 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 3992 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 2845 of file node.cc.

References MEM_allocN_len, and usdtokens::preview().

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 2762 of file node.cc.

References MEM_dupallocN, usdtokens::preview(), and bNodePreview::rect.

Referenced by ntree_copy_data().

◆ BKE_node_preview_free()

void BKE_node_preview_free ( struct bNodePreview preview)

◆ BKE_node_preview_init_tree()

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

◆ 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_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 417 of file node_common.cc.

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

◆ BKE_nodetree_remove_layer_n()

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

◆ BKE_ntree_ptr_from_id()

struct bNodeTree** BKE_ntree_ptr_from_id ( struct 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 3209 of file node.cc.

References GS, id, ID_LA, ID_LS, ID_MA, ID_SCE, ID_SIM, ID_TE, ID_WO, and ID::name.

Referenced by blender::deg::DepsgraphNodeBuilder::build_animation_images(), blender::deg::DepsgraphRelationBuilder::build_animation_images(), direct_link_id_embedded_id(), and ntreeFromID().

◆ node_type_base()

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

◆ node_type_base_custom()

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

◆ node_type_exec()

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

◆ node_type_gpu()

void node_type_gpu ( struct bNodeType ntype,
NodeGPUExecFunction  gpu_fn 
)

Definition at line 4465 of file node.cc.

References bNodeType::gpu_fn.

Referenced by register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_custom_group(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), and register_node_type_sh_wireframe().

◆ 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 4390 of file node.cc.

References bNodeType::initfunc.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combine_color(), register_node_type_cmp_combycca(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_glare(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_separate_color(), register_node_type_cmp_sepycca(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_separate_color(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_collection_info(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_triangulate(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_bevel(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_map_range(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_principled(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

◆ 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 4408 of file node.cc.

References NODE_DEFAULT_MAX_WIDTH, NODE_SIZE_DEFAULT, NODE_SIZE_LARGE, NODE_SIZE_MIDDLE, NODE_SIZE_SMALL, node_type_size(), and size().

Referenced by node_type_base_defaults(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_switch(), register_node_type_cmp_value(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_raycast(), register_node_type_geo_subdivision_surface(), register_node_type_sh_blackbody(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_hue_sat(), register_node_type_sh_light_falloff(), register_node_type_sh_normal_map(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_image(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_volume_principled(), register_node_type_sh_wavelength(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_hue_sat(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

◆ node_type_socket_templates()

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

◆ node_type_storage()

void node_type_storage ( struct bNodeType ntype,
const char *  storagename,
void(*)(struct bNode *node freefunc,
void(*)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)  copyfunc 
)
Warning
Nodes defining a storage type must allocate this for new nodes. Otherwise nodes will reload as undefined (T46619).

Definition at line 4426 of file node.cc.

References BLI_strncpy(), bNodeType::copyfunc, bNodeType::freefunc, and bNodeType::storagename.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combine_color(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_glare(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_rlayers(), register_node_type_cmp_separate_color(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_viewer(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_separate_color(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_collection_info(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_attribute(), register_node_type_sh_combcolor(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_map_range(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vertex_color(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

◆ node_type_update()

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

Definition at line 4443 of file node.cc.

References bNodeType::updatefunc.

Referenced by register_node_type_cmp_combine_color(), register_node_type_cmp_image(), register_node_type_cmp_math(), register_node_type_cmp_output_file(), register_node_type_cmp_rlayers(), register_node_type_cmp_scale(), register_node_type_cmp_separate_color(), register_node_type_cmp_switch_view(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_random_value(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_statistic(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_extrude_mesh(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_points_to_volume(), register_node_type_geo_raycast(), register_node_type_geo_string_to_curves(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_combcolor(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_sepcolor(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_white_noise(), register_node_type_sh_vect_math(), register_node_type_sh_vector_rotate(), register_node_type_tex_combine_color(), register_node_type_tex_math(), and register_node_type_tex_separate_color().

◆ nodeAddLink()

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

Also used via RNA API, so we check for proper input output direction.

Definition at line 2296 of file node.cc.

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

Referenced by blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), blender::ed::space_node::add_reroute_node_fn(), ambient_occlusion_node_relink(), bc_node_add_link(), BKE_linestyle_default_shader(), blo_do_versions_300(), blender::nodes::LinkSearchOpParams::connect_available_socket(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_link_insert(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), blender::ed::curves::ensure_surface_deformation_node_exists(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), link_nodes(), blender::ed::space_node::viewer_linking::link_socket_to_viewer(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_clipboard_paste_exec(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_copy_branch(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_shader_to_rgba_branch(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), blender::ed::space_node::snode_autoconnect_input(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), and version_node_socket_duplicate().

◆ 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 
)

Definition at line 2151 of file node.cc.

References C, CLOG_ERROR, LOG, NODE_TYPES_BEGIN, NODE_TYPES_END, nodeAddNode(), ntree, and type.

Referenced by add_node(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), bc_add_node(), BKE_linestyle_default_shader(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), displacement_node_insert(), do_versions_after_linking_260(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), ED_node_shader_default(), ED_node_texture_default(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_error_get(), EEVEE_material_default_glossy_get(), EEVEE_shader_default_surface_nodetree(), EEVEE_shader_default_world_nodetree(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_node(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_expand_socket_default(), ntree_shader_groups_expand_inputs(), ntree_shader_implicit_closure_cast(), ntree_shader_weight_tree_invert(), ntree_weight_tree_merge_weight(), proj_paint_add_slot(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), and update_voronoi_node_square_distance().

◆ 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 
)

◆ nodeChainIter()

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

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

Parameters
reversedfor backwards iteration
Note
Recursive

Definition at line 2039 of file node.cc.

References callback, bNodeTree::links, LISTBASE_FOREACH, NODE_LINK_VALID, nodeChainIter(), and ntree.

Referenced by blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), and nodeChainIter().

◆ 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 2093 of file node.cc.

References BLI_assert, callback, iter_backwards_ex(), LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.

Referenced by ntree_shader_copy_branch(), ntree_shader_pruned_unused(), ntree_shader_shader_to_rgba_branch(), and ntree_shader_weight_tree_invert().

◆ nodeClearActive()

void nodeClearActive ( struct bNodeTree ntree)

Definition at line 3633 of file node.cc.

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

◆ nodeCountSocketLinks()

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

◆ nodeDeclarationEnsure()

bool nodeDeclarationEnsure ( struct bNodeTree ntree,
struct bNode node 
)

If the node implements a declare function, this function makes sure that node->declaration is up to date. It is expected that the sockets of the node are up to date already.

Definition at line 3731 of file node.cc.

References node, nodeDeclarationEnsureOnOutdatedNode(), nodeSocketDeclarationsUpdate(), and ntree.

Referenced by blender::nodes::NodeRef::declaration(), blender::ed::space_node::get_main_socket(), and blender::bke::node_copy_with_mapping().

◆ nodeDeclarationEnsureOnOutdatedNode()

bool nodeDeclarationEnsureOnOutdatedNode ( struct bNodeTree ntree,
struct bNode node 
)

Just update node->declaration if necessary. This can also be called on nodes that may not be up to date (e.g. because the need versioning or are dynamic).

Referenced by node_verify_sockets().

◆ 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 
)

Finds a node based on given socket and returns true on success.

Definition at line 1997 of file node.cc.

References bNodeSocket::in_out, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and SOCK_IN.

Referenced by UI_context_copy_to_selected_list().

◆ nodeFindNodebyName()

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

◆ nodeFindRootParent()

struct bNode* nodeFindRootParent ( bNode node)

◆ 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(), blender::io::obj::copy_property_from_node(), default_paint_slot_color_get(), blender::eevee::DefaultSurfaceNodeTree::DefaultSurfaceNodeTree(), blender::eevee::DefaultWorldNodeTree::DefaultWorldNodeTree(), 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::ed::curves::ensure_surface_deformation_node_exists(), MaterialNode::get_diffuse_image(), light_emission_node_to_energy(), link_nodes(), local_merge(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::eevee::MaterialModule::MaterialModule(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_object_exec(), blender::nodes::node_shader_mapping_cc::node_shader_update_mapping(), blender::nodes::node_shader_tex_sky_cc::node_shader_update_sky(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_update_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_update_tex_noise(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_update_tex_voronoi(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_update_tex_white_noise(), blender::nodes::node_shader_vector_math_cc::node_shader_update_vector_math(), blender::nodes::node_shader_vector_rotate_cc::node_shader_update_vector_rotate(), blender::nodes::node_geo_mesh_to_volume_cc::node_update(), blender::nodes::node_geo_points_to_volume_cc::node_update(), blender::nodes::node_geo_volume_to_mesh_cc::node_update(), proj_paint_add_slot(), MaterialNode::set_alpha(), MaterialNode::set_diffuse(), MaterialNode::set_emission(), MaterialNode::set_ior(), blender::io::usd::USDMaterialReader::set_node_input(), MaterialNode::set_opacity(), blender::io::obj::set_property_of_socket(), MaterialNode::set_reflectivity(), MaterialNode::set_specular(), 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(), version_node_add_socket_if_not_exist(), and version_node_socket_duplicate().

◆ nodeFromView()

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

◆ nodeGetActive()

struct bNode* nodeGetActive ( struct bNodeTree ntree)

◆ nodeGetActivePaintCanvas()

struct bNode* nodeGetActivePaintCanvas ( struct bNodeTree ntree)

Definition at line 242 of file node_shader_util.cc.

References NODE_ACTIVE_PAINT_CANVAS, node_get_active(), and ntree.

Referenced by BKE_texpaint_slot_refresh_cache().

◆ nodeGetActiveTexture()

struct bNode* nodeGetActiveTexture ( struct bNodeTree ntree)

Two active flags, ID nodes have special flag for buttons display.

Definition at line 237 of file node_shader_util.cc.

References NODE_ACTIVE_TEXTURE, node_get_active(), and ntree.

Referenced by ED_object_assign_active_image(), and ED_object_get_active_image().

◆ nodeGroupPoll()

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

◆ nodeInternalRelink()

void nodeInternalRelink ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeIsChildOf()

bool nodeIsChildOf ( const bNode parent,
const bNode child 
)

◆ nodeIsStaticSocketType()

bool nodeIsStaticSocketType ( const struct bNodeSocketType stype)

◆ nodeLabel()

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

◆ nodeLinkIsHidden()

bool nodeLinkIsHidden ( const struct bNodeLink link)

◆ nodeLinkIsSelected()

bool nodeLinkIsSelected ( const struct bNodeLink link)

◆ nodeModifySocketType()

void nodeModifySocketType ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
const char *  idname 
)

◆ nodeModifySocketTypeStatic()

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

Definition at line 1666 of file node.cc.

References CLOG_ERROR, LOG, node, nodeModifySocketType(), nodeStaticSocketType(), ntree, and type.

Referenced by verify_socket_template().

◆ 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 2115 of file node.cc.

References callback, node, and nodeParentsIter().

Referenced by blender::ed::space_node::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 1357 of file node.cc.

References BLI_assert, BLI_ghash_insert(), bNodeType::declaration_is_dynamic, bNodeType::declare, bNodeType::fixed_declaration, G_MAIN, bNodeType::idname, nodetypes_hash, bNodeType::poll, and update_typeinfo().

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_special_characters(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_replace_string(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_fn_slice_string(), register_node_type_fn_string_length(), register_node_type_fn_value_to_string(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_convex_hull(), register_node_type_geo_curve_endpoint_selection(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_length(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadratic_bezier(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_primitive_spiral(), register_node_type_geo_curve_primitive_star(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_reverse(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_parameter(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_subdivide(), register_node_type_geo_curve_to_mesh(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_delete_geometry(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_dual_mesh(), register_node_type_geo_duplicate_elements(), register_node_type_geo_edge_paths_to_curves(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_edge_split(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_flip_faces(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_group(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_curve_tilt(), register_node_type_geo_input_id(), register_node_type_geo_input_index(), register_node_type_geo_input_instance_rotation(), register_node_type_geo_input_instance_scale(), register_node_type_geo_input_material(), register_node_type_geo_input_material_index(), register_node_type_geo_input_mesh_edge_angle(), register_node_type_geo_input_mesh_edge_neighbors(), register_node_type_geo_input_mesh_edge_vertices(), register_node_type_geo_input_mesh_face_area(), register_node_type_geo_input_mesh_face_is_planar(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_input_mesh_island(), register_node_type_geo_input_mesh_vertex_neighbors(), register_node_type_geo_input_named_attribute(), register_node_type_geo_input_normal(), register_node_type_geo_input_position(), register_node_type_geo_input_radius(), register_node_type_geo_input_scene_time(), register_node_type_geo_input_shade_smooth(), register_node_type_geo_input_shortest_edge_paths(), register_node_type_geo_input_spline_cyclic(), register_node_type_geo_input_spline_length(), register_node_type_geo_input_spline_resolution(), register_node_type_geo_input_tangent(), register_node_type_geo_instance_on_points(), register_node_type_geo_instances_to_points(), register_node_type_geo_interpolate_domain(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), register_node_type_geo_material_replace(), register_node_type_geo_material_selection(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cube(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_grid(), register_node_type_geo_mesh_primitive_ico_sphere(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_primitive_uv_sphere(), register_node_type_geo_mesh_subdivide(), register_node_type_geo_mesh_to_curve(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points(), register_node_type_geo_points_to_vertices(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_realize_instances(), register_node_type_geo_remove_attribute(), register_node_type_geo_rotate_instances(), register_node_type_geo_scale_elements(), register_node_type_geo_scale_instances(), register_node_type_geo_separate_components(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_set_curve_radius(), register_node_type_geo_set_curve_tilt(), register_node_type_geo_set_id(), register_node_type_geo_set_material(), register_node_type_geo_set_material_index(), register_node_type_geo_set_point_radius(), register_node_type_geo_set_position(), register_node_type_geo_set_shade_smooth(), register_node_type_geo_set_spline_cyclic(), register_node_type_geo_set_spline_resolution(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_join(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_transform(), register_node_type_geo_translate_instances(), register_node_type_geo_triangulate(), register_node_type_geo_uv_pack_islands(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_cube(), register_node_type_geo_volume_to_mesh(), register_node_type_group_input(), register_node_type_group_output(), register_node_type_reroute(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_sh_wireframe(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_combine_color(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_separate_color(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

◆ nodeRemLink()

void nodeRemLink ( struct bNodeTree ntree,
struct bNodeLink link 
)

Definition at line 2338 of file node.cc.

References BKE_ntree_update_tag_link_removed(), BLI_remlink(), bNodeSocket::link, bNodeTree::links, MEM_freeN, ntree, and bNodeLink::tosock.

Referenced by ambient_occlusion_node_relink(), BKE_node_clipboard_clear(), blender::ed::space_node::cut_links_exec(), displacement_node_insert(), do_versions_after_linking_260(), do_versions_material_convert_legacy_blend_mode(), ED_node_link_insert(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), node_insert_link_default(), blender::ed::space_node::node_link_exit(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_extra_links(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_socket_disconnect(), nodeInternalRelink(), nodeRemoveAllSockets(), nodeRemoveSocketEx(), nodeRemSocketLinks(), nodeUnlinkNode(), ntree_shader_groups_remove_muted_links(), ntree_shader_implicit_closure_cast(), ntree_shader_shader_to_rgba_branch(), ntree_shader_unlink_hidden_value_sockets(), ntree_weight_tree_merge_weight(), blender::ed::space_node::pick_link(), blender::ed::space_node::viewer_linking::remove_links_to_unavailable_viewer_sockets(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), and update_voronoi_node_square_distance().

◆ 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 
)

◆ nodeRemoveSocketEx()

void nodeRemoveSocketEx ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
bool  do_id_user 
)

◆ nodeRemSocketLinks()

void nodeRemSocketLinks ( struct bNodeTree ntree,
struct bNodeSocket sock 
)

◆ nodeSetActive()

void nodeSetActive ( struct bNodeTree ntree,
struct bNode node 
)

◆ nodeSetSelected()

void nodeSetSelected ( struct bNode node,
bool  select 
)

◆ nodeSetSocketAvailability()

void nodeSetSocketAvailability ( struct bNodeTree ntree,
struct bNodeSocket sock,
bool  is_available 
)

Definition at line 3664 of file node.cc.

References BKE_ntree_update_tag_socket_availability(), bNodeSocket::flag, ntree, and SOCK_UNAVAIL.

Referenced by cmp_node_image_verify_outputs(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_update(), blender::nodes::node_fn_rotate_euler_cc::fn_node_rotate_euler_update(), blender::nodes::node_fn_boolean_math_cc::node_boolean_math_update(), blender::nodes::node_fn_compare_cc::node_compare_update(), blender::nodes::node_composite_scale_cc::node_composite_update_scale(), node_math_update(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_point_distribute_points_on_faces_update(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_shader_update_hair_principled(), blender::nodes::node_shader_map_range_cc::node_shader_update_map_range(), blender::nodes::node_shader_mapping_cc::node_shader_update_mapping(), blender::nodes::node_shader_bsdf_principled_cc::node_shader_update_principled(), blender::nodes::node_shader_tex_sky_cc::node_shader_update_sky(), blender::nodes::node_shader_subsurface_scattering_cc::node_shader_update_subsurface_scattering(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_update_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_update_tex_noise(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_update_tex_voronoi(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_update_tex_white_noise(), blender::nodes::node_shader_vector_math_cc::node_shader_update_vector_math(), blender::nodes::node_shader_vector_rotate_cc::node_shader_update_vector_rotate(), blender::nodes::node_geo_accumulate_field_cc::node_update(), blender::nodes::node_geo_attribute_capture_cc::node_update(), blender::nodes::node_geo_attribute_domain_size_cc::node_update(), blender::nodes::node_geo_attribute_statistic_cc::node_update(), blender::nodes::node_geo_boolean_cc::node_update(), blender::nodes::node_geo_curve_fillet_cc::node_update(), blender::nodes::node_geo_curve_primitive_arc_cc::node_update(), blender::nodes::node_geo_curve_primitive_circle_cc::node_update(), blender::nodes::node_geo_curve_primitive_line_cc::node_update(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_update(), blender::nodes::node_geo_curve_resample_cc::node_update(), blender::nodes::node_geo_curve_sample_cc::node_update(), blender::nodes::node_geo_curve_to_points_cc::node_update(), blender::nodes::node_geo_curve_trim_cc::node_update(), blender::nodes::node_geo_extrude_mesh_cc::node_update(), blender::nodes::node_geo_field_at_index_cc::node_update(), blender::nodes::node_geo_input_named_attribute_cc::node_update(), blender::nodes::node_geo_interpolate_domain_cc::node_update(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_update(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_update(), blender::nodes::node_geo_mesh_primitive_line_cc::node_update(), blender::nodes::node_geo_mesh_to_volume_cc::node_update(), blender::nodes::node_geo_points_to_volume_cc::node_update(), blender::nodes::node_geo_raycast_cc::node_update(), blender::nodes::node_geo_scale_elements_cc::node_update(), blender::nodes::node_geo_store_named_attribute_cc::node_update(), blender::nodes::node_geo_string_to_curves_cc::node_update(), blender::nodes::node_geo_switch_cc::node_update(), blender::nodes::node_geo_transfer_attribute_cc::node_update(), blender::nodes::node_geo_viewer_cc::node_update(), and blender::nodes::node_geo_volume_to_mesh_cc::node_update().

◆ nodeSocketDeclarationsUpdate()

void nodeSocketDeclarationsUpdate ( struct bNode node)

Update socket->declaration for all sockets in the node. This assumes that the node declaration and sockets are up to date already.

Definition at line 3703 of file node.cc.

References BLI_assert, node, and update_socket_declarations().

Referenced by node_verify_sockets(), and nodeDeclarationEnsure().

◆ nodeSocketIsHidden()

int nodeSocketIsHidden ( const struct bNodeSocket sock)

◆ nodeSocketIsRegistered()

bool nodeSocketIsRegistered ( struct bNodeSocket sock)

Definition at line 1433 of file node.cc.

References NodeSocketTypeUndefined, and bNodeSocket::typeinfo.

◆ nodeSocketLabel()

const char* nodeSocketLabel ( const struct bNodeSocket sock)

◆ nodeSocketLinkLimit()

int nodeSocketLinkLimit ( const struct bNodeSocket sock)

◆ nodeSocketTypeFind()

struct bNodeSocketType* nodeSocketTypeFind ( const char *  idname)

◆ nodeSocketTypeGetIterator()

struct GHashIterator* nodeSocketTypeGetIterator ( void  )

Definition at line 1438 of file node.cc.

References BLI_ghashIterator_new(), and nodesockettypes_hash.

◆ nodeSocketTypeLabel()

const char* nodeSocketTypeLabel ( const bNodeSocketType stype)

◆ nodeStaticSocketInterfaceType()

const char* nodeStaticSocketInterfaceType ( int  type,
int  subtype 
)

◆ nodeStaticSocketLabel()

const char* nodeStaticSocketLabel ( int  type,
int  subtype 
)

◆ nodeStaticSocketType()

const char* nodeStaticSocketType ( int  type,
int  subtype 
)

◆ nodeSupportsActiveFlag()

bool nodeSupportsActiveFlag ( const struct bNode node,
int  sub_active 
)

Does the given node supports the sub active flag.

Parameters
sub_activeThe active flag to check. NODE_ACTIVE_TEXTURE / NODE_ACTIVE_PAINT_CANVAS.

Referenced by nodeSetActive().

◆ 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 1390 of file node.cc.

References BLI_ghashIterator_new(), and nodetypes_hash.

◆ nodeTypeUndefined()

bool nodeTypeUndefined ( const 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 1378 of file node.cc.

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

◆ 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 
)
Note
ntree itself has been read!

Definition at line 675 of file node.cc.

References bNodeTree::adt, BKE_animdata_blend_read_data(), BKE_curvemapping_blend_read(), BKE_image_format_blend_read_data(), BKE_ntree_update_tag_missing_runtime_data(), BKE_previewimg_blend_read(), BLI_listbase_clear(), BLO_read_data_address, BLO_read_list(), NodeShaderScript::bytecode, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY, CMP_NODE_CURVE_RGB, CMP_NODE_CURVE_VEC, CMP_NODE_HUECORRECT, CMP_NODE_IMAGE, CMP_NODE_MOVIEDISTORTION, CMP_NODE_OUTPUT_FILE, CMP_NODE_R_LAYERS, CMP_NODE_SPLITVIEWER, CMP_NODE_TIME, CMP_NODE_VIEWER, direct_link_node_socket(), NodeCryptomatte::entries, bNodeTree::execdata, FN_NODE_INPUT_STRING, NodeImageMultiFile::format, NodeImageMultiFileSocket::format, IDP_BlendDataRead, bNodeTree::inputs, bNodeTree::interface_type, bNodeTree::is_updating, Tex::iuser, NodeCryptomatte_Runtime::layers, bNodeTree::links, LISTBASE_FOREACH, NodeCryptomatte::matte_id, node, bNodeTree::nodes, ntree, bNodeTree::outputs, NodeShaderTexPointDensity::pd, bNodeTree::preview, bNodeTree::previews, bNodeTree::progress, bNodeTree::runtime, NodeCryptomatte::runtime, ImageUser::scene, SH_NODE_CURVE_FLOAT, SH_NODE_CURVE_RGB, SH_NODE_CURVE_VEC, SH_NODE_SCRIPT, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, SH_NODE_TEX_POINTDENSITY, NodeInputString::string, tex, TEX_NODE_CURVE_RGB, TEX_NODE_CURVE_TIME, TEX_NODE_IMAGE, and bNodeTree::typeinfo.

Referenced by direct_link_id_embedded_id(), and ntree_blend_read_data().

◆ 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 
)

◆ ntreeCopyTree()

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

◆ ntreeCopyTree_ex()

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

◆ ntreeFindSocketInterface()

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

Definition at line 3336 of file node.cc.

References bNodeTree::inputs, LISTBASE_FOREACH, ntree, bNodeTree::outputs, SOCK_IN, and STREQ.

◆ 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)

Free (or release) any data used by this node-tree. Does not free the node-tree itself and does no ID user counting.

Definition at line 3106 of file node.cc.

References BKE_animdata_free(), bNodeTree::id, ntree, and ntree_free_data().

Referenced by default_paint_slot_color_get(), free_localized_node_groups(), blender::ed::space_node::node_group_make_test_selected(), ntree_shader_groups_flatten(), ntreeFreeEmbeddedTree(), ntreeFreeLocalTree(), and ntreeLocalMerge().

◆ ntreeFromID()

struct bNodeTree* ntreeFromID ( struct ID id)

◆ ntreeGetDependencyList()

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

◆ ntreeHasTree()

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

Referenced by ED_node_set_active().

◆ 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 3529 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 3537 of file node.cc.

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

◆ ntreeIsRegistered()

bool ntreeIsRegistered ( struct bNodeTree ntree)

◆ ntreeLocalize()

struct bNodeTree* ntreeLocalize ( struct bNodeTree ntree)

◆ ntreeLocalMerge()

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

Merge local tree results back, and free local tree.

We have to assume the editor already changed completely.

Definition at line 3286 of file node.cc.

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

Referenced by blender::ed::space_node::compo_freejob().

◆ ntreeNodeFlagSet()

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

◆ ntreeRemoveSocketInterface()

void ntreeRemoveSocketInterface ( struct bNodeTree ntree,
struct bNodeSocket sock 
)

◆ ntreeSetOutput()

void ntreeSetOutput ( struct bNodeTree ntree)

XXX: old trees handle output flags automatically based on special output node types and last active selection. New tree types have a per-output socket flag to indicate the final output to use explicitly.

Definition at line 3141 of file node.cc.

References CMP_NODE_OUTPUT_FILE, CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, ELEM, GEO_NODE_VIEWER, LISTBASE_FOREACH, node, NODE_CLASS_OUTPUT, NODE_DO_OUTPUT, NODE_GROUP_OUTPUT, bNodeTree::nodes, ntree, NTREE_COMPOSIT, output, and bNodeTree::type.

Referenced by geometry_node_tree_update(), ntreeLocalize(), ntreeShaderBeginExecTree_internal(), ntreeShaderOutputNode(), and update().

◆ ntreeSetTypes()

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

Try to initialize all type-info in a node tree.

Note
In general undefined type-info is a perfectly valid case, the type may just be registered later. In that case the update_typeinfo function will set type-info on registration and do necessary updates.

Definition at line 1253 of file node.cc.

References C, bNodeTree::idname, bNodeTree::inputs, LISTBASE_FOREACH, node, node_set_typeinfo(), node_socket_set_typeinfo(), bNodeTree::nodes, nodeSocketTypeFind(), nodeTypeFind(), ntree, ntree_set_typeinfo(), ntreeTypeFind(), and bNodeTree::outputs.

Referenced by blo_do_versions_270(), do_versions_after_linking_270(), and ntreeBlendReadLib().

◆ 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 1322 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 
)

◆ ntreeUpdateNodeLevels()

void ntreeUpdateNodeLevels ( struct bNodeTree ntree)

Definition at line 4122 of file node.cc.

References LISTBASE_FOREACH, node, node_get_deplist_recurs(), bNodeTree::nodes, and ntree.

Variable Documentation

◆ NODE_INSTANCE_KEY_BASE

const bNodeInstanceKey NODE_INSTANCE_KEY_BASE
extern

◆ NODE_INSTANCE_KEY_NONE

const bNodeInstanceKey NODE_INSTANCE_KEY_NONE
extern

◆ NodeSocketTypeUndefined

struct bNodeSocketType NodeSocketTypeUndefined
extern

◆ NodeTypeUndefined

struct bNodeType NodeTypeUndefined
extern