30 #define MAX_SOCKET 512
104 class NodeMultiFunctionBuilder;
105 class GeoNodeExecParams;
106 class NodeDeclarationBuilder;
107 class GatherLinkSearchOpParams;
168 const char *data_path);
173 const char *data_path);
275 struct bNode *dest_node,
276 const struct bNode *src_node);
298 const char **r_disabled_hint);
345 #define NODE_CLASS_INPUT 0
346 #define NODE_CLASS_OUTPUT 1
347 #define NODE_CLASS_OP_COLOR 3
348 #define NODE_CLASS_OP_VECTOR 4
349 #define NODE_CLASS_OP_FILTER 5
350 #define NODE_CLASS_GROUP 6
351 #define NODE_CLASS_CONVERTER 8
352 #define NODE_CLASS_MATTE 9
353 #define NODE_CLASS_DISTORT 10
354 #define NODE_CLASS_PATTERN 12
355 #define NODE_CLASS_TEXTURE 13
356 #define NODE_CLASS_SCRIPT 32
357 #define NODE_CLASS_INTERFACE 33
358 #define NODE_CLASS_SHADER 40
359 #define NODE_CLASS_GEOMETRY 41
360 #define NODE_CLASS_ATTRIBUTE 42
361 #define NODE_CLASS_LAYOUT 100
426 #define NODE_TREE_TYPES_BEGIN(ntype) \
428 GHashIterator *__node_tree_type_iter__ = ntreeTypeGetIterator(); \
429 for (; !BLI_ghashIterator_done(__node_tree_type_iter__); \
430 BLI_ghashIterator_step(__node_tree_type_iter__)) { \
431 bNodeTreeType *ntype = (bNodeTreeType *)BLI_ghashIterator_getValue(__node_tree_type_iter__);
433 #define NODE_TREE_TYPES_END \
435 BLI_ghashIterator_free(__node_tree_type_iter__); \
487 struct bNode ***r_deplist,
542 struct bNode *from_node,
546 struct bNode *from_node,
567 #define NODE_TYPES_BEGIN(ntype) \
569 GHashIterator *__node_type_iter__ = nodeTypeGetIterator(); \
570 for (; !BLI_ghashIterator_done(__node_type_iter__); \
571 BLI_ghashIterator_step(__node_type_iter__)) { \
572 bNodeType *ntype = (bNodeType *)BLI_ghashIterator_getValue(__node_type_iter__);
574 #define NODE_TYPES_END \
576 BLI_ghashIterator_free(__node_type_iter__); \
593 #define NODE_SOCKET_TYPES_BEGIN(stype) \
595 GHashIterator *__node_socket_type_iter__ = nodeSocketTypeGetIterator(); \
596 for (; !BLI_ghashIterator_done(__node_socket_type_iter__); \
597 BLI_ghashIterator_step(__node_socket_type_iter__)) { \
598 bNodeSocketType *stype = (bNodeSocketType *)BLI_ghashIterator_getValue( \
599 __node_socket_type_iter__);
601 #define NODE_SOCKET_TYPES_END \
603 BLI_ghashIterator_free(__node_socket_type_iter__); \
665 const bNode &node_src,
668 Map<const bNodeSocket *, bNodeSocket *> &new_socket_map);
698 struct bNode *to_node,
712 struct bNode **r_node,
733 const bNode *node_start,
749 const bNode *node_start,
896 #define NODE_INSTANCE_HASH_ITER(iter_, hash_) \
897 for (BKE_node_instance_hash_iterator_init(&iter_, hash_); \
898 BKE_node_instance_hash_iterator_done(&iter_) == false; \
899 BKE_node_instance_hash_iterator_step(&iter_))
931 const char **r_disabled_hint);
953 const char *storagename,
955 void (*copyfunc)(
struct bNodeTree *dest_ntree,
956 struct bNode *dest_node,
957 const struct bNode *src_node));
980 #define NODE_UNDEFINED -2
981 #define NODE_CUSTOM -1
986 #define NODE_REROUTE 6
987 #define NODE_GROUP_INPUT 7
988 #define NODE_GROUP_OUTPUT 8
989 #define NODE_CUSTOM_GROUP 9
1048 #define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id) \
1050 struct NodeTreeIterStore _nstore; \
1051 bNodeTree *_nodetree; \
1054 BKE_node_tree_iter_init(&_nstore, bmain); \
1055 while (BKE_node_tree_iter_step(&_nstore, &_nodetree, &_id) == true) { \
1058 #define FOREACH_NODETREE_END \
1079 #define SH_NODE_RGB 101
1080 #define SH_NODE_VALUE 102
1081 #define SH_NODE_MIX_RGB 103
1082 #define SH_NODE_VALTORGB 104
1083 #define SH_NODE_RGBTOBW 105
1084 #define SH_NODE_SHADERTORGB 106
1086 #define SH_NODE_NORMAL 107
1088 #define SH_NODE_MAPPING 109
1089 #define SH_NODE_CURVE_VEC 110
1090 #define SH_NODE_CURVE_RGB 111
1091 #define SH_NODE_CAMERA 114
1092 #define SH_NODE_MATH 115
1093 #define SH_NODE_VECTOR_MATH 116
1094 #define SH_NODE_SQUEEZE 117
1096 #define SH_NODE_INVERT 119
1097 #define SH_NODE_SEPRGB_LEGACY 120
1098 #define SH_NODE_COMBRGB_LEGACY 121
1099 #define SH_NODE_HUE_SAT 122
1101 #define SH_NODE_OUTPUT_MATERIAL 124
1102 #define SH_NODE_OUTPUT_WORLD 125
1103 #define SH_NODE_OUTPUT_LIGHT 126
1104 #define SH_NODE_FRESNEL 127
1105 #define SH_NODE_MIX_SHADER 128
1106 #define SH_NODE_ATTRIBUTE 129
1107 #define SH_NODE_BACKGROUND 130
1108 #define SH_NODE_BSDF_ANISOTROPIC 131
1109 #define SH_NODE_BSDF_DIFFUSE 132
1110 #define SH_NODE_BSDF_GLOSSY 133
1111 #define SH_NODE_BSDF_GLASS 134
1112 #define SH_NODE_BSDF_TRANSLUCENT 137
1113 #define SH_NODE_BSDF_TRANSPARENT 138
1114 #define SH_NODE_BSDF_VELVET 139
1115 #define SH_NODE_EMISSION 140
1116 #define SH_NODE_NEW_GEOMETRY 141
1117 #define SH_NODE_LIGHT_PATH 142
1118 #define SH_NODE_TEX_IMAGE 143
1119 #define SH_NODE_TEX_SKY 145
1120 #define SH_NODE_TEX_GRADIENT 146
1121 #define SH_NODE_TEX_VORONOI 147
1122 #define SH_NODE_TEX_MAGIC 148
1123 #define SH_NODE_TEX_WAVE 149
1124 #define SH_NODE_TEX_NOISE 150
1125 #define SH_NODE_TEX_MUSGRAVE 152
1126 #define SH_NODE_TEX_COORD 155
1127 #define SH_NODE_ADD_SHADER 156
1128 #define SH_NODE_TEX_ENVIRONMENT 157
1130 #define SH_NODE_HOLDOUT 159
1131 #define SH_NODE_LAYER_WEIGHT 160
1132 #define SH_NODE_VOLUME_ABSORPTION 161
1133 #define SH_NODE_VOLUME_SCATTER 162
1134 #define SH_NODE_GAMMA 163
1135 #define SH_NODE_TEX_CHECKER 164
1136 #define SH_NODE_BRIGHTCONTRAST 165
1137 #define SH_NODE_LIGHT_FALLOFF 166
1138 #define SH_NODE_OBJECT_INFO 167
1139 #define SH_NODE_PARTICLE_INFO 168
1140 #define SH_NODE_TEX_BRICK 169
1141 #define SH_NODE_BUMP 170
1142 #define SH_NODE_SCRIPT 171
1143 #define SH_NODE_AMBIENT_OCCLUSION 172
1144 #define SH_NODE_BSDF_REFRACTION 173
1145 #define SH_NODE_TANGENT 174
1146 #define SH_NODE_NORMAL_MAP 175
1147 #define SH_NODE_HAIR_INFO 176
1148 #define SH_NODE_SUBSURFACE_SCATTERING 177
1149 #define SH_NODE_WIREFRAME 178
1150 #define SH_NODE_BSDF_TOON 179
1151 #define SH_NODE_WAVELENGTH 180
1152 #define SH_NODE_BLACKBODY 181
1153 #define SH_NODE_VECT_TRANSFORM 182
1154 #define SH_NODE_SEPHSV_LEGACY 183
1155 #define SH_NODE_COMBHSV_LEGACY 184
1156 #define SH_NODE_BSDF_HAIR 185
1158 #define SH_NODE_UVMAP 187
1159 #define SH_NODE_SEPXYZ 188
1160 #define SH_NODE_COMBXYZ 189
1161 #define SH_NODE_OUTPUT_LINESTYLE 190
1162 #define SH_NODE_UVALONGSTROKE 191
1163 #define SH_NODE_TEX_POINTDENSITY 192
1164 #define SH_NODE_BSDF_PRINCIPLED 193
1165 #define SH_NODE_TEX_IES 194
1166 #define SH_NODE_EEVEE_SPECULAR 195
1167 #define SH_NODE_BEVEL 197
1168 #define SH_NODE_DISPLACEMENT 198
1169 #define SH_NODE_VECTOR_DISPLACEMENT 199
1170 #define SH_NODE_VOLUME_PRINCIPLED 200
1172 #define SH_NODE_BSDF_HAIR_PRINCIPLED 701
1173 #define SH_NODE_MAP_RANGE 702
1174 #define SH_NODE_CLAMP 703
1175 #define SH_NODE_TEX_WHITE_NOISE 704
1176 #define SH_NODE_VOLUME_INFO 705
1177 #define SH_NODE_VERTEX_COLOR 706
1178 #define SH_NODE_OUTPUT_AOV 707
1179 #define SH_NODE_VECTOR_ROTATE 708
1180 #define SH_NODE_CURVE_FLOAT 709
1181 #define SH_NODE_POINT_INFO 710
1182 #define SH_NODE_COMBINE_COLOR 711
1183 #define SH_NODE_SEPARATE_COLOR 712
1192 #define RRES_OUT_IMAGE 0
1193 #define RRES_OUT_ALPHA 1
1196 #define CMP_NODE_VIEWER 201
1197 #define CMP_NODE_RGB 202
1198 #define CMP_NODE_VALUE 203
1199 #define CMP_NODE_MIX_RGB 204
1200 #define CMP_NODE_VALTORGB 205
1201 #define CMP_NODE_RGBTOBW 206
1202 #define CMP_NODE_NORMAL 207
1203 #define CMP_NODE_CURVE_VEC 208
1204 #define CMP_NODE_CURVE_RGB 209
1205 #define CMP_NODE_ALPHAOVER 210
1206 #define CMP_NODE_BLUR 211
1207 #define CMP_NODE_FILTER 212
1208 #define CMP_NODE_MAP_VALUE 213
1209 #define CMP_NODE_TIME 214
1210 #define CMP_NODE_VECBLUR 215
1211 #define CMP_NODE_SEPRGBA_LEGACY 216
1212 #define CMP_NODE_SEPHSVA_LEGACY 217
1213 #define CMP_NODE_SETALPHA 218
1214 #define CMP_NODE_HUE_SAT 219
1215 #define CMP_NODE_IMAGE 220
1216 #define CMP_NODE_R_LAYERS 221
1217 #define CMP_NODE_COMPOSITE 222
1218 #define CMP_NODE_OUTPUT_FILE 223
1219 #define CMP_NODE_TEXTURE 224
1220 #define CMP_NODE_TRANSLATE 225
1221 #define CMP_NODE_ZCOMBINE 226
1222 #define CMP_NODE_COMBRGBA_LEGACY 227
1223 #define CMP_NODE_DILATEERODE 228
1224 #define CMP_NODE_ROTATE 229
1225 #define CMP_NODE_SCALE 230
1226 #define CMP_NODE_SEPYCCA_LEGACY 231
1227 #define CMP_NODE_COMBYCCA_LEGACY 232
1228 #define CMP_NODE_SEPYUVA_LEGACY 233
1229 #define CMP_NODE_COMBYUVA_LEGACY 234
1230 #define CMP_NODE_DIFF_MATTE 235
1231 #define CMP_NODE_COLOR_SPILL 236
1232 #define CMP_NODE_CHROMA_MATTE 237
1233 #define CMP_NODE_CHANNEL_MATTE 238
1234 #define CMP_NODE_FLIP 239
1235 #define CMP_NODE_SPLITVIEWER 240
1237 #define CMP_NODE_MAP_UV 242
1238 #define CMP_NODE_ID_MASK 243
1239 #define CMP_NODE_DEFOCUS 244
1240 #define CMP_NODE_DISPLACE 245
1241 #define CMP_NODE_COMBHSVA_LEGACY 246
1242 #define CMP_NODE_MATH 247
1243 #define CMP_NODE_LUMA_MATTE 248
1244 #define CMP_NODE_BRIGHTCONTRAST 249
1245 #define CMP_NODE_GAMMA 250
1246 #define CMP_NODE_INVERT 251
1247 #define CMP_NODE_NORMALIZE 252
1248 #define CMP_NODE_CROP 253
1249 #define CMP_NODE_DBLUR 254
1250 #define CMP_NODE_BILATERALBLUR 255
1251 #define CMP_NODE_PREMULKEY 256
1252 #define CMP_NODE_DIST_MATTE 257
1253 #define CMP_NODE_VIEW_LEVELS 258
1254 #define CMP_NODE_COLOR_MATTE 259
1255 #define CMP_NODE_COLORBALANCE 260
1256 #define CMP_NODE_HUECORRECT 261
1257 #define CMP_NODE_MOVIECLIP 262
1258 #define CMP_NODE_STABILIZE2D 263
1259 #define CMP_NODE_TRANSFORM 264
1260 #define CMP_NODE_MOVIEDISTORTION 265
1261 #define CMP_NODE_DOUBLEEDGEMASK 266
1262 #define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED \
1264 #define CMP_NODE_MASK 268
1265 #define CMP_NODE_KEYINGSCREEN 269
1266 #define CMP_NODE_KEYING 270
1267 #define CMP_NODE_TRACKPOS 271
1268 #define CMP_NODE_INPAINT 272
1269 #define CMP_NODE_DESPECKLE 273
1270 #define CMP_NODE_ANTIALIASING 274
1272 #define CMP_NODE_GLARE 301
1273 #define CMP_NODE_TONEMAP 302
1274 #define CMP_NODE_LENSDIST 303
1275 #define CMP_NODE_SUNBEAMS 304
1277 #define CMP_NODE_COLORCORRECTION 312
1278 #define CMP_NODE_MASK_BOX 313
1279 #define CMP_NODE_MASK_ELLIPSE 314
1280 #define CMP_NODE_BOKEHIMAGE 315
1281 #define CMP_NODE_BOKEHBLUR 316
1282 #define CMP_NODE_SWITCH 317
1283 #define CMP_NODE_PIXELATE 318
1285 #define CMP_NODE_MAP_RANGE 319
1286 #define CMP_NODE_PLANETRACKDEFORM 320
1287 #define CMP_NODE_CORNERPIN 321
1288 #define CMP_NODE_SWITCH_VIEW 322
1289 #define CMP_NODE_CRYPTOMATTE_LEGACY 323
1290 #define CMP_NODE_DENOISE 324
1291 #define CMP_NODE_EXPOSURE 325
1292 #define CMP_NODE_CRYPTOMATTE 326
1293 #define CMP_NODE_POSTERIZE 327
1294 #define CMP_NODE_CONVERT_COLOR_SPACE 328
1295 #define CMP_NODE_SCENE_TIME 329
1296 #define CMP_NODE_SEPARATE_XYZ 330
1297 #define CMP_NODE_COMBINE_XYZ 331
1298 #define CMP_NODE_COMBINE_COLOR 332
1299 #define CMP_NODE_SEPARATE_COLOR 333
1302 #define CMP_CHAN_RGB 1
1303 #define CMP_CHAN_A 2
1306 #define CMP_FILT_SOFT 0
1307 #define CMP_FILT_SHARP_BOX 1
1308 #define CMP_FILT_LAPLACE 2
1309 #define CMP_FILT_SOBEL 3
1310 #define CMP_FILT_PREWITT 4
1311 #define CMP_FILT_KIRSCH 5
1312 #define CMP_FILT_SHADOW 6
1313 #define CMP_FILT_SHARP_DIAMOND 7
1316 #define CMP_SCALE_RELATIVE 0
1317 #define CMP_SCALE_ABSOLUTE 1
1318 #define CMP_SCALE_SCENEPERCENT 2
1319 #define CMP_SCALE_RENDERPERCENT 3
1321 #define CMP_SCALE_RENDERSIZE_FRAME_ASPECT (1 << 0)
1322 #define CMP_SCALE_RENDERSIZE_FRAME_CROP (1 << 1)
1325 #define CMP_TRACKPOS_ABSOLUTE 0
1326 #define CMP_TRACKPOS_RELATIVE_START 1
1327 #define CMP_TRACKPOS_RELATIVE_FRAME 2
1328 #define CMP_TRACKPOS_ABSOLUTE_FRAME 3
1331 #define CMP_CRYPTOMATTE_SRC_RENDER 0
1332 #define CMP_CRYPTOMATTE_SRC_IMAGE 1
1335 #define CMP_DEFAULT_SMAA_THRESHOLD 1.0f
1336 #define CMP_DEFAULT_SMAA_CONTRAST_LIMIT 0.2f
1337 #define CMP_DEFAULT_SMAA_CORNER_ROUNDING 0.25f
1347 #define TEX_NODE_OUTPUT 401
1348 #define TEX_NODE_CHECKER 402
1349 #define TEX_NODE_TEXTURE 403
1350 #define TEX_NODE_BRICKS 404
1351 #define TEX_NODE_MATH 405
1352 #define TEX_NODE_MIX_RGB 406
1353 #define TEX_NODE_RGBTOBW 407
1354 #define TEX_NODE_VALTORGB 408
1355 #define TEX_NODE_IMAGE 409
1356 #define TEX_NODE_CURVE_RGB 410
1357 #define TEX_NODE_INVERT 411
1358 #define TEX_NODE_HUE_SAT 412
1359 #define TEX_NODE_CURVE_TIME 413
1360 #define TEX_NODE_ROTATE 414
1361 #define TEX_NODE_VIEWER 415
1362 #define TEX_NODE_TRANSLATE 416
1363 #define TEX_NODE_COORD 417
1364 #define TEX_NODE_DISTANCE 418
1365 #define TEX_NODE_COMPOSE_LEGACY 419
1366 #define TEX_NODE_DECOMPOSE_LEGACY 420
1367 #define TEX_NODE_VALTONOR 421
1368 #define TEX_NODE_SCALE 422
1369 #define TEX_NODE_AT 423
1370 #define TEX_NODE_COMBINE_COLOR 424
1371 #define TEX_NODE_SEPARATE_COLOR 425
1374 #define TEX_NODE_PROC 500
1375 #define TEX_NODE_PROC_MAX 600
1383 #define GEO_NODE_TRIANGULATE 1000
1384 #define GEO_NODE_TRANSFORM 1002
1385 #define GEO_NODE_MESH_BOOLEAN 1003
1386 #define GEO_NODE_OBJECT_INFO 1007
1387 #define GEO_NODE_JOIN_GEOMETRY 1010
1388 #define GEO_NODE_COLLECTION_INFO 1023
1389 #define GEO_NODE_IS_VIEWPORT 1024
1390 #define GEO_NODE_SUBDIVIDE_MESH 1029
1391 #define GEO_NODE_MESH_PRIMITIVE_CUBE 1032
1392 #define GEO_NODE_MESH_PRIMITIVE_CIRCLE 1033
1393 #define GEO_NODE_MESH_PRIMITIVE_UV_SPHERE 1034
1394 #define GEO_NODE_MESH_PRIMITIVE_CYLINDER 1035
1395 #define GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE 1036
1396 #define GEO_NODE_MESH_PRIMITIVE_CONE 1037
1397 #define GEO_NODE_MESH_PRIMITIVE_LINE 1038
1398 #define GEO_NODE_MESH_PRIMITIVE_GRID 1039
1399 #define GEO_NODE_BOUNDING_BOX 1042
1400 #define GEO_NODE_SWITCH 1043
1401 #define GEO_NODE_CURVE_TO_MESH 1045
1402 #define GEO_NODE_RESAMPLE_CURVE 1047
1403 #define GEO_NODE_INPUT_MATERIAL 1050
1404 #define GEO_NODE_REPLACE_MATERIAL 1051
1405 #define GEO_NODE_CURVE_LENGTH 1054
1406 #define GEO_NODE_CONVEX_HULL 1056
1407 #define GEO_NODE_SEPARATE_COMPONENTS 1059
1408 #define GEO_NODE_CURVE_PRIMITIVE_STAR 1062
1409 #define GEO_NODE_CURVE_PRIMITIVE_SPIRAL 1063
1410 #define GEO_NODE_CURVE_PRIMITIVE_QUADRATIC_BEZIER 1064
1411 #define GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT 1065
1412 #define GEO_NODE_CURVE_PRIMITIVE_CIRCLE 1066
1413 #define GEO_NODE_VIEWER 1067
1414 #define GEO_NODE_CURVE_PRIMITIVE_LINE 1068
1415 #define GEO_NODE_CURVE_PRIMITIVE_QUADRILATERAL 1070
1416 #define GEO_NODE_TRIM_CURVE 1071
1417 #define GEO_NODE_FILL_CURVE 1075
1418 #define GEO_NODE_INPUT_POSITION 1076
1419 #define GEO_NODE_SET_POSITION 1077
1420 #define GEO_NODE_INPUT_INDEX 1078
1421 #define GEO_NODE_INPUT_NORMAL 1079
1422 #define GEO_NODE_CAPTURE_ATTRIBUTE 1080
1423 #define GEO_NODE_MATERIAL_SELECTION 1081
1424 #define GEO_NODE_SET_MATERIAL 1082
1425 #define GEO_NODE_REALIZE_INSTANCES 1083
1426 #define GEO_NODE_ATTRIBUTE_STATISTIC 1084
1427 #define GEO_NODE_SAMPLE_CURVE 1085
1428 #define GEO_NODE_INPUT_TANGENT 1086
1429 #define GEO_NODE_STRING_JOIN 1087
1430 #define GEO_NODE_CURVE_SPLINE_PARAMETER 1088
1431 #define GEO_NODE_FILLET_CURVE 1089
1432 #define GEO_NODE_DISTRIBUTE_POINTS_ON_FACES 1090
1433 #define GEO_NODE_STRING_TO_CURVES 1091
1434 #define GEO_NODE_INSTANCE_ON_POINTS 1092
1435 #define GEO_NODE_MESH_TO_POINTS 1093
1436 #define GEO_NODE_POINTS_TO_VERTICES 1094
1437 #define GEO_NODE_REVERSE_CURVE 1095
1438 #define GEO_NODE_PROXIMITY 1096
1439 #define GEO_NODE_SUBDIVIDE_CURVE 1097
1440 #define GEO_NODE_INPUT_SPLINE_LENGTH 1098
1441 #define GEO_NODE_CURVE_SPLINE_TYPE 1099
1442 #define GEO_NODE_CURVE_SET_HANDLE_TYPE 1100
1443 #define GEO_NODE_POINTS_TO_VOLUME 1101
1444 #define GEO_NODE_CURVE_HANDLE_TYPE_SELECTION 1102
1445 #define GEO_NODE_DELETE_GEOMETRY 1103
1446 #define GEO_NODE_SEPARATE_GEOMETRY 1104
1447 #define GEO_NODE_INPUT_RADIUS 1105
1448 #define GEO_NODE_INPUT_CURVE_TILT 1106
1449 #define GEO_NODE_INPUT_CURVE_HANDLES 1107
1450 #define GEO_NODE_INPUT_SHADE_SMOOTH 1108
1451 #define GEO_NODE_INPUT_SPLINE_RESOLUTION 1109
1452 #define GEO_NODE_INPUT_SPLINE_CYCLIC 1110
1453 #define GEO_NODE_SET_CURVE_RADIUS 1111
1454 #define GEO_NODE_SET_CURVE_TILT 1112
1455 #define GEO_NODE_SET_CURVE_HANDLES 1113
1456 #define GEO_NODE_SET_SHADE_SMOOTH 1114
1457 #define GEO_NODE_SET_SPLINE_RESOLUTION 1115
1458 #define GEO_NODE_SET_SPLINE_CYCLIC 1116
1459 #define GEO_NODE_SET_POINT_RADIUS 1117
1460 #define GEO_NODE_INPUT_MATERIAL_INDEX 1118
1461 #define GEO_NODE_SET_MATERIAL_INDEX 1119
1462 #define GEO_NODE_TRANSLATE_INSTANCES 1120
1463 #define GEO_NODE_SCALE_INSTANCES 1121
1464 #define GEO_NODE_ROTATE_INSTANCES 1122
1465 #define GEO_NODE_SPLIT_EDGES 1123
1466 #define GEO_NODE_MESH_TO_CURVE 1124
1467 #define GEO_NODE_TRANSFER_ATTRIBUTE 1125
1468 #define GEO_NODE_SUBDIVISION_SURFACE 1126
1469 #define GEO_NODE_CURVE_ENDPOINT_SELECTION 1127
1470 #define GEO_NODE_RAYCAST 1128
1471 #define GEO_NODE_CURVE_TO_POINTS 1130
1472 #define GEO_NODE_INSTANCES_TO_POINTS 1131
1473 #define GEO_NODE_IMAGE_TEXTURE 1132
1474 #define GEO_NODE_VOLUME_TO_MESH 1133
1475 #define GEO_NODE_INPUT_ID 1134
1476 #define GEO_NODE_SET_ID 1135
1477 #define GEO_NODE_ATTRIBUTE_DOMAIN_SIZE 1136
1478 #define GEO_NODE_DUAL_MESH 1137
1479 #define GEO_NODE_INPUT_MESH_EDGE_VERTICES 1138
1480 #define GEO_NODE_INPUT_MESH_FACE_AREA 1139
1481 #define GEO_NODE_INPUT_MESH_FACE_NEIGHBORS 1140
1482 #define GEO_NODE_INPUT_MESH_VERTEX_NEIGHBORS 1141
1483 #define GEO_NODE_GEOMETRY_TO_INSTANCE 1142
1484 #define GEO_NODE_INPUT_MESH_EDGE_NEIGHBORS 1143
1485 #define GEO_NODE_INPUT_MESH_ISLAND 1144
1486 #define GEO_NODE_INPUT_SCENE_TIME 1145
1487 #define GEO_NODE_ACCUMULATE_FIELD 1146
1488 #define GEO_NODE_INPUT_MESH_EDGE_ANGLE 1147
1489 #define GEO_NODE_FIELD_AT_INDEX 1148
1490 #define GEO_NODE_CURVE_PRIMITIVE_ARC 1149
1491 #define GEO_NODE_FLIP_FACES 1150
1492 #define GEO_NODE_SCALE_ELEMENTS 1151
1493 #define GEO_NODE_EXTRUDE_MESH 1152
1494 #define GEO_NODE_MERGE_BY_DISTANCE 1153
1495 #define GEO_NODE_DUPLICATE_ELEMENTS 1154
1496 #define GEO_NODE_INPUT_MESH_FACE_IS_PLANAR 1155
1497 #define GEO_NODE_STORE_NAMED_ATTRIBUTE 1156
1498 #define GEO_NODE_INPUT_NAMED_ATTRIBUTE 1157
1499 #define GEO_NODE_REMOVE_ATTRIBUTE 1158
1500 #define GEO_NODE_INPUT_INSTANCE_ROTATION 1159
1501 #define GEO_NODE_INPUT_INSTANCE_SCALE 1160
1502 #define GEO_NODE_VOLUME_CUBE 1161
1503 #define GEO_NODE_POINTS 1162
1504 #define GEO_NODE_INTERPOLATE_DOMAIN 1163
1505 #define GEO_NODE_MESH_TO_VOLUME 1164
1506 #define GEO_NODE_UV_UNWRAP 1165
1507 #define GEO_NODE_UV_PACK_ISLANDS 1166
1508 #define GEO_NODE_DEFORM_CURVES_ON_SURFACE 1167
1509 #define GEO_NODE_INPUT_SHORTEST_EDGE_PATHS 1168
1510 #define GEO_NODE_EDGE_PATHS_TO_CURVES 1169
1511 #define GEO_NODE_EDGE_PATHS_TO_SELECTION 1170
1519 #define FN_NODE_BOOLEAN_MATH 1200
1520 #define FN_NODE_COMPARE 1202
1521 #define FN_NODE_LEGACY_RANDOM_FLOAT 1206
1522 #define FN_NODE_INPUT_VECTOR 1207
1523 #define FN_NODE_INPUT_STRING 1208
1524 #define FN_NODE_FLOAT_TO_INT 1209
1525 #define FN_NODE_VALUE_TO_STRING 1210
1526 #define FN_NODE_STRING_LENGTH 1211
1527 #define FN_NODE_SLICE_STRING 1212
1528 #define FN_NODE_INPUT_SPECIAL_CHARACTERS 1213
1529 #define FN_NODE_RANDOM_VALUE 1214
1530 #define FN_NODE_ROTATE_EULER 1215
1531 #define FN_NODE_ALIGN_EULER_TO_VECTOR 1216
1532 #define FN_NODE_INPUT_COLOR 1217
1533 #define FN_NODE_REPLACE_STRING 1218
1534 #define FN_NODE_INPUT_BOOL 1219
1535 #define FN_NODE_INPUT_INT 1220
1536 #define FN_NODE_SEPARATE_COLOR 1221
1537 #define FN_NODE_COMBINE_COLOR 1222
1563 #define NODE_STORAGE_FUNCS(StorageT) \
1564 [[maybe_unused]] static StorageT &node_storage(bNode &node) \
1566 return *static_cast<StorageT *>(node.storage); \
1568 [[maybe_unused]] static const StorageT &node_storage(const bNode &node) \
1570 return *static_cast<const StorageT *>(node.storage); \
void node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
void nodeFromView(const struct bNode *node, float x, float y, float *rx, float *ry)
void ntreeTypeAdd(struct bNodeTreeType *nt)
void BKE_node_clipboard_init(const struct bNodeTree *ntree)
void *(* NodeInitExecFunction)(struct bNodeExecContext *context, struct bNode *node, bNodeInstanceKey key)
void nodeUniqueName(struct bNodeTree *ntree, struct bNode *node)
void nodeRemoveSocketEx(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, bool do_id_user)
void * SocketGetGeometryNodesCPPTypeFunction
struct bNodeLink * nodeFindLink(struct bNodeTree *ntree, const struct bNodeSocket *from, const struct bNodeSocket *to)
struct bNodeTree * ntreeLocalize(struct bNodeTree *ntree)
const char * nodeSocketTypeLabel(const bNodeSocketType *stype)
BLI_INLINE void BKE_node_instance_hash_iterator_free(bNodeInstanceHashIterator *iter)
const struct ListBase * BKE_node_clipboard_get_links(void)
void * NodeDeclareFunction
struct bNodeTree * ntreeFromID(struct ID *id)
bNodePreview * BKE_node_preview_verify(struct bNodeInstanceHash *previews, bNodeInstanceKey key, int xsize, int ysize, bool create)
void BKE_node_preview_free(struct bNodePreview *preview)
struct GHashIterator * nodeSocketTypeGetIterator(void)
void BKE_node_clipboard_add_node(struct bNode *node)
void nodeRegisterSocketType(struct bNodeSocketType *stype)
void node_type_base_custom(struct bNodeType *ntype, const char *idname, const char *name, short nclass)
void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth)
bool nodeLinkIsHidden(const struct bNodeLink *link)
void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree, struct Scene *scene, int layer_index)
struct bNodeSocket * ntreeInsertSocketInterfaceFromSocket(struct bNodeTree *ntree, struct bNodeSocket *next_sock, struct bNode *from_node, struct bNodeSocket *from_sock)
bool nodeAttachNodeCheck(const struct bNode *node, const struct bNode *parent)
bNodeInstanceHash * BKE_node_instance_hash_new(const char *info)
struct bNodeSocket * nodeAddSocket(struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, const char *idname, const char *identifier, const char *name)
void BKE_node_tree_unlink_id(ID *id, struct bNodeTree *ntree)
void nodeInternalRelink(struct bNodeTree *ntree, struct bNode *node)
void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
struct bNode * ntreeFindType(const struct bNodeTree *ntree, int type)
bool nodeGroupPoll(struct bNodeTree *nodetree, struct bNodeTree *grouptree, const char **r_disabled_hint)
void BKE_node_preview_init_tree(struct bNodeTree *ntree, int xsize, int ysize)
void ntreeBlendWrite(struct BlendWriter *writer, struct bNodeTree *ntree)
void node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass)
const bNodeInstanceKey NODE_INSTANCE_KEY_BASE
void nodeRemSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock)
void ntreeBlendReadData(struct BlendDataReader *reader, struct bNodeTree *ntree)
struct CPPTypeHandle CPPTypeHandle
BLI_INLINE bNodeInstanceKey BKE_node_instance_hash_iterator_get_key(bNodeInstanceHashIterator *iter)
void node_type_update(struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node))
struct bNodeTreeType * ntreeTypeFind(const char *idname)
void * NodeGeometryExecFunction
void BKE_node_preview_clear_tree(struct bNodeTree *ntree)
struct bNodeType NodeTypeUndefined
void nodeModifySocketType(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, const char *idname)
bool ntreeHasTree(const struct bNodeTree *ntree, const struct bNodeTree *lookup)
void ntreeBlendReadLib(struct BlendLibReader *reader, struct bNodeTree *ntree)
bool nodeIsChildOf(const bNode *parent, const bNode *child)
void ntreeFreeLocalNode(struct bNodeTree *ntree, struct bNode *node)
void BKE_node_instance_hash_insert(bNodeInstanceHash *hash, bNodeInstanceKey key, void *value)
void BKE_node_tree_iter_init(struct NodeTreeIterStore *ntreeiter, struct Main *bmain)
struct StructRNA * ntreeInterfaceTypeGet(struct bNodeTree *ntree, bool create)
void BKE_node_preview_remove_unused(struct bNodeTree *ntree)
bNodePreview * BKE_node_preview_copy(struct bNodePreview *preview)
void(* bNodeInstanceValueFP)(void *value)
void(* bNodeClassCallback)(void *calldata, int nclass, const char *name)
const struct ListBase * BKE_node_clipboard_get_nodes(void)
void ntreeUpdateNodeLevels(struct bNodeTree *ntree)
BLI_INLINE void * BKE_node_instance_hash_iterator_get_value(bNodeInstanceHashIterator *iter)
void(* NodeExecFunction)(void *data, int thread, struct bNode *, struct bNodeExecData *execdata, struct bNodeStack **in, struct bNodeStack **out)
bool nodeTypeUndefined(const struct bNode *node)
void ntreeFreeCache(struct bNodeTree *ntree)
struct bNodeSocketType bNodeSocketType
Defines a socket type.
BLI_INLINE void BKE_node_instance_hash_iterator_init(bNodeInstanceHashIterator *iter, bNodeInstanceHash *hash)
void nodeSetSocketAvailability(struct bNodeTree *ntree, struct bNodeSocket *sock, bool is_available)
struct GHashIterator * ntreeTypeGetIterator(void)
void ntreeRemoveSocketInterface(struct bNodeTree *ntree, struct bNodeSocket *sock)
void(* NodeFreeExecFunction)(void *nodedata)
void nodePositionPropagate(struct bNode *node)
void ntreeFreeTree(struct bNodeTree *ntree)
void nodeAttachNode(struct bNode *node, struct bNode *parent)
struct bNode * nodeFindNodebyName(struct bNodeTree *ntree, const char *name)
void ntreeInterfaceTypeFree(struct bNodeTree *ntree)
void node_type_init(struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node))
int BKE_node_instance_hash_remove(bNodeInstanceHash *hash, bNodeInstanceKey key, bNodeInstanceValueFP valfreefp)
void * SocketGetCPPValueFunction
void nodeRemoveAllSockets(struct bNodeTree *ntree, struct bNode *node)
struct bNode * nodeGetActive(struct bNodeTree *ntree)
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link)
void * SocketGetGeometryNodesCPPValueFunction
int nodeSocketIsHidden(const struct bNodeSocket *sock)
BLI_INLINE bool BKE_node_instance_hash_iterator_done(bNodeInstanceHashIterator *iter)
void BKE_node_system_exit(void)
void nodeSocketDeclarationsUpdate(struct bNode *node)
struct bNodeSocket * nodeAddStaticSocket(struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name)
bool nodeSupportsActiveFlag(const struct bNode *node, int sub_active)
Does the given node supports the sub active flag.
void node_type_size_preset(struct bNodeType *ntype, eNodeSizePreset size)
struct bNodeSocket * ntreeAddSocketInterfaceFromSocket(struct bNodeTree *ntree, struct bNode *from_node, struct bNodeSocket *from_sock)
void nodeRemoveNode(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node, bool do_id_user)
int BKE_node_clipboard_get_type(void)
void nodeMuteLinkToggle(struct bNodeTree *ntree, struct bNodeLink *link)
void * BKE_node_instance_hash_pop(bNodeInstanceHash *hash, bNodeInstanceKey key)
int BKE_node_instance_hash_haskey(bNodeInstanceHash *hash, bNodeInstanceKey key)
void BKE_node_clipboard_add_link(struct bNodeLink *link)
struct bNodeType bNodeType
Defines a node type.
void ntreeInterfaceTypeUpdate(struct bNodeTree *ntree)
struct bNodeTree * ntreeCopyTree_ex(const struct bNodeTree *ntree, struct Main *bmain, bool do_id_user)
bool BKE_node_preview_used(const struct bNode *node)
struct bNodeTreeType bNodeTreeType
void nodeModifySocketTypeStatic(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, int type, int subtype)
bool BKE_node_is_connected_to_output(struct bNodeTree *ntree, struct bNode *node)
bool BKE_node_tree_iter_step(struct NodeTreeIterStore *ntreeiter, struct bNodeTree **r_nodetree, struct ID **r_id)
int nodeSocketLinkLimit(const struct bNodeSocket *sock)
bool BKE_node_instance_hash_tag_key(bNodeInstanceHash *hash, bNodeInstanceKey key)
void BKE_node_preview_merge_tree(struct bNodeTree *to_ntree, struct bNodeTree *from_ntree, bool remove_old)
struct bNode * nodeGetActivePaintCanvas(struct bNodeTree *ntree)
void BKE_node_instance_hash_clear(bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
const char * nodeStaticSocketLabel(int type, int subtype)
void nodePositionRelative(struct bNode *from_node, struct bNode *to_node, struct bNodeSocket *from_sock, struct bNodeSocket *to_sock)
BLI_INLINE void BKE_node_instance_hash_iterator_step(bNodeInstanceHashIterator *iter)
void node_type_group_update(struct bNodeType *ntype, void(*group_update_func)(struct bNodeTree *ntree, struct bNode *node))
void ntreeFreeEmbeddedTree(struct bNodeTree *ntree)
const char * nodeStaticSocketType(int type, int subtype)
struct bNodeSocketTemplate bNodeSocketTemplate
Compact definition of a node socket.
struct bNodeType * nodeTypeFind(const char *idname)
void ntreeNodeFlagSet(const bNodeTree *ntree, int flag, bool enable)
bool nodeIsStaticSocketType(const struct bNodeSocketType *stype)
bool nodeSocketIsRegistered(struct bNodeSocket *sock)
void ntreeSetOutput(struct bNodeTree *ntree)
void BKE_node_system_init(void)
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))
const char * nodeStaticSocketInterfaceType(int type, int subtype)
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
int(* NodeGPUExecFunction)(struct GPUMaterial *mat, struct bNode *node, struct bNodeExecData *execdata, struct GPUNodeStack *in, struct GPUNodeStack *out)
void nodeClearActive(struct bNodeTree *ntree)
void nodeParentsIter(bNode *node, bool(*callback)(bNode *, void *), void *userdata)
void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
int BKE_node_instance_hash_size(bNodeInstanceHash *hash)
void BKE_node_preview_clear(struct bNodePreview *preview)
struct bNodeSocket * nodeFindSocket(const struct bNode *node, eNodeSocketInOut in_out, const char *identifier)
void nodeLabel(const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
struct bNodeTree * ntreeCopyTree(struct Main *bmain, const struct bNodeTree *ntree)
void BKE_node_instance_hash_remove_untagged(bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
struct bNode * nodeAddNode(const struct bContext *C, struct bNodeTree *ntree, const char *idname)
struct bNode * nodeFindRootParent(bNode *node)
void * NodeGatherSocketLinkOperationsFunction
void ntreeLocalMerge(struct Main *bmain, struct bNodeTree *localtree, struct bNodeTree *ntree)
void ntreeTypeFreeLink(const struct bNodeTreeType *nt)
void BKE_node_instance_hash_tag(bNodeInstanceHash *hash, void *value)
bool ntreeIsRegistered(struct bNodeTree *ntree)
void ntreeUpdateAllUsers(struct Main *main, struct ID *id)
void nodeSetSelected(struct bNode *node, bool select)
bool nodeLinkIsSelected(const struct bNodeLink *link)
struct bNodeTree ** BKE_ntree_ptr_from_id(struct ID *id)
void nodeChainIter(const bNodeTree *ntree, const bNode *node_start, bool(*callback)(bNode *, bNode *, void *, const bool), void *userdata, bool reversed)
struct GHashIterator * nodeTypeGetIterator(void)
struct bNode * nodeGetActiveTexture(struct bNodeTree *ntree)
struct bNodeSocket * ntreeFindSocketInterface(struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *identifier)
struct bNodeSocketType NodeSocketTypeUndefined
void ntreeBlendReadExpand(struct BlendExpander *expander, struct bNodeTree *ntree)
bool nodeDeclarationEnsure(struct bNodeTree *ntree, struct bNode *node)
void nodeChainIterBackwards(const bNodeTree *ntree, const bNode *node_start, bool(*callback)(bNode *, bNode *, void *), void *userdata, int recursion_lvl)
void ntreeFreeLocalTree(struct bNodeTree *ntree)
const bNodeInstanceKey NODE_INSTANCE_KEY_NONE
struct bNodeInstanceHash bNodeInstanceHash
bool nodeFindNode(struct bNodeTree *ntree, struct bNodeSocket *sock, struct bNode **r_node, int *r_sockindex)
bool nodeDeclarationEnsureOnOutdatedNode(struct bNodeTree *ntree, struct bNode *node)
struct bNodeTree * ntreeAddTree(struct Main *bmain, const char *name, const char *idname)
void nodeUnregisterSocketType(struct bNodeSocketType *stype)
struct bNodeSocket * ntreeAddSocketInterface(struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *idname, const char *name)
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
void * SocketGetCPPTypeFunction
void BKE_node_instance_hash_clear_tags(bNodeInstanceHash *hash)
bool BKE_node_clipboard_validate(void)
int nodeCountSocketLinks(const struct bNodeTree *ntree, const struct bNodeSocket *sock)
void ntreeUpdateAllNew(struct Main *main)
void BKE_node_clipboard_clear(void)
void nodeToView(const struct bNode *node, float x, float y, float *rx, float *ry)
void node_type_exec(struct bNodeType *ntype, NodeInitExecFunction init_exec_fn, NodeFreeExecFunction free_exec_fn, NodeExecFunction exec_fn)
struct bNodeSocket * ntreeInsertSocketInterface(struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *idname, struct bNodeSocket *next_sock, const char *name)
void nodeDetachNode(struct bNode *node)
void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***r_deplist, int *r_deplist_len)
void * BKE_node_instance_hash_lookup(bNodeInstanceHash *hash, bNodeInstanceKey key)
struct bNodeSocketType * nodeSocketTypeFind(const char *idname)
void ntreeSetTypes(const struct bContext *C, struct bNodeTree *ntree)
void nodeUnregisterType(struct bNodeType *ntype)
void BKE_node_instance_hash_free(bNodeInstanceHash *hash, bNodeInstanceValueFP valfreefp)
void nodeRegisterType(struct bNodeType *ntype)
void nodeUnlinkNode(struct bNodeTree *ntree, struct bNode *node)
void nodeSetActive(struct bNodeTree *ntree, struct bNode *node)
GHashIterator bNodeInstanceHashIterator
void BKE_node_clipboard_free(void)
BLI_INLINE bNodeInstanceHashIterator * BKE_node_instance_hash_iterator_new(bNodeInstanceHash *hash)
const char * nodeSocketLabel(const struct bNodeSocket *sock)
bNodeInstanceKey BKE_node_instance_key(bNodeInstanceKey parent_key, const struct bNodeTree *ntree, const struct bNode *node)
void * NodeMultiFunctionBuildFunction
BLI_INLINE void * BLI_ghashIterator_getKey(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
void BLI_ghashIterator_step(GHashIterator *ghi)
void BLI_ghashIterator_free(GHashIterator *ghi)
BLI_INLINE void * BLI_ghashIterator_getValue(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
GHashIterator * BLI_ghashIterator_new(GHash *gh) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_ghashIterator_init(GHashIterator *ghi, GHash *gh)
BLI_INLINE bool BLI_ghashIterator_done(const GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
These structs are the foundation for all linked lists in the library system.
struct NodeDeclarationHandle NodeDeclarationHandle
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
int main(int argc, char *argv[])
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
DEGForeachIDComponentCallback callback
SyclQueue void void size_t num_bytes void
GAttributeReader lookup(const void *owner, const AttributeIDRef &attribute_id)
std::unique_ptr< IDProperty, IDPropertyDeleter > create(StringRefNull prop_name, int32_t value)
Allocate a new IDProperty of type IDP_INT, set its name and value.
bNodeSocket * node_find_enabled_socket(bNode &node, const eNodeSocketInOut in_out, const StringRef name)
bNode * node_copy_with_mapping(bNodeTree *dst_tree, const bNode &node_src, const int flag, const bool unique_name, Map< const bNodeSocket *, bNodeSocket * > &socket_map)
bNodeSocket * node_find_enabled_output_socket(bNode &node, StringRef name)
bNodeSocket * node_find_enabled_input_socket(bNode &node, StringRef name)
bNode * node_copy(bNodeTree *dst_tree, const bNode &src_node, const int flag, const bool unique_name)
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
static const pxr::TfToken preview("preview", pxr::TfToken::Immortal)
static bNodeSocketTemplate outputs[]
static bNodeSocketTemplate inputs[]
static void unique_name(bNode *node)
struct Simulation * simulation
struct FreestyleLineStyle * linestyle
Compact definition of a node socket.
struct bNodeSocket * sock
SocketGetGeometryNodesCPPValueFunction get_geometry_nodes_cpp_value
void(* interface_from_socket)(struct bNodeTree *ntree, struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock)
void(* draw_color)(struct bContext *C, struct PointerRNA *ptr, struct PointerRNA *node_ptr, float *r_color)
void(* interface_init_socket)(struct bNodeTree *ntree, const struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock, const char *data_path)
const CPPTypeHandle * geometry_nodes_cpp_type
SocketGetCPPValueFunction get_base_cpp_value
ExtensionRNA ext_interface
void(* interface_draw_color)(struct bContext *C, struct PointerRNA *ptr, float *r_color)
void(* draw)(struct bContext *C, struct uiLayout *layout, struct PointerRNA *ptr, struct PointerRNA *node_ptr, const char *text)
const CPPTypeHandle * base_cpp_type
bool use_link_limits_of_type
void(* free_self)(struct bNodeSocketType *stype)
void(* interface_register_properties)(struct bNodeTree *ntree, struct bNodeSocket *interface_socket, struct StructRNA *data_srna)
void(* interface_verify_socket)(struct bNodeTree *ntree, const struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock, const char *data_path)
void(* interface_draw)(struct bContext *C, struct uiLayout *layout, struct PointerRNA *ptr)
bool(* validate_link)(eNodeSocketDatatype from, eNodeSocketDatatype to)
bool(* poll)(const struct bContext *C, struct bNodeTreeType *ntreetype)
void(* free_node_cache)(struct bNodeTree *ntree, struct bNode *node)
void(* update)(struct bNodeTree *ntree)
void(* local_merge)(struct Main *bmain, struct bNodeTree *localtree, struct bNodeTree *ntree)
void(* get_from_context)(const struct bContext *C, struct bNodeTreeType *ntreetype, struct bNodeTree **r_ntree, struct ID **r_id, struct ID **r_from)
void(* free_cache)(struct bNodeTree *ntree)
void(* localize)(struct bNodeTree *localtree, struct bNodeTree *ntree)
bool(* valid_socket_type)(struct bNodeTreeType *ntreetype, struct bNodeSocketType *socket_type)
void(* foreach_nodeclass)(struct Scene *scene, void *calldata, bNodeClassCallback func)
void(* node_add_init)(struct bNodeTree *ntree, struct bNode *bnode)
void(* copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)
NodeGeometryExecFunction geometry_node_execute
void(* group_update_func)(struct bNodeTree *ntree, struct bNode *node)
bool(* poll)(struct bNodeType *ntype, struct bNodeTree *nodetree, const char **r_disabled_hint)
NodeGatherSocketLinkOperationsFunction gather_link_search_ops
NodeInitExecFunction init_exec_fn
void(* updatefunc)(struct bNodeTree *ntree, struct bNode *node)
bNodeSocketTemplate * outputs
void(* initfunc_api)(const struct bContext *C, struct PointerRNA *ptr)
void(* free_self)(struct bNodeType *ntype)
bool declaration_is_dynamic
void(* insert_link)(struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link)
bool geometry_node_execute_supports_laziness
void(* freefunc)(struct bNode *node)
NodeGPUExecFunction gpu_fn
void(* labelfunc)(const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
void(* draw_buttons_ex)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
void(* draw_buttons)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
NodeMultiFunctionBuildFunction build_multi_function
NodeDeclareFunction declare
void(* freefunc_api)(struct PointerRNA *ptr)
int(* ui_class)(const struct bNode *node)
bNodeSocketTemplate * inputs
bool(* poll_instance)(struct bNode *node, struct bNodeTree *nodetree, const char **r_disabled_hint)
void(* initfunc)(struct bNodeTree *ntree, struct bNode *node)
void(* draw_backdrop)(struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y)
void(* copyfunc_api)(struct PointerRNA *ptr, const struct bNode *src_node)
NodeFreeExecFunction free_exec_fn
NodeDeclarationHandle * fixed_declaration