Blender V4.5
DNA_node_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2005 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "DNA_ID.h"
12#include "DNA_listBase.h"
14#include "DNA_scene_types.h" /* for #ImageFormatData */
15#include "DNA_texture_types.h"
16#include "DNA_vec_types.h" /* for #rctf */
17
19#ifdef __cplusplus
20# include <string>
21
22# include "BLI_vector.hh"
23
24namespace blender {
25template<typename T> class Span;
26template<typename T> class MutableSpan;
27class IndexRange;
28class StringRef;
29class StringRefNull;
30} // namespace blender
31namespace blender::nodes {
32class NodeDeclaration;
34} // namespace blender::nodes
35namespace blender::bke {
37class bNodeRuntime;
39} // namespace blender::bke
40namespace blender::bke {
41class bNodeTreeZones;
42class bNodeTreeZone;
43struct bNodeTreeType;
44struct bNodeType;
45struct bNodeSocketType;
46} // namespace blender::bke
47namespace blender::bke {
49} // namespace blender::bke
57#else
66#endif
67
68struct AnimData;
69struct Collection;
71struct ID;
72struct Image;
73struct ImBuf;
74struct ListBase;
75struct Material;
76struct PreviewImage;
77struct Tex;
78struct bGPdata;
79struct bNodeLink;
80struct bNode;
82
83#define NODE_MAXSTR 64
84
85typedef struct bNodeStack {
86 float vec[4];
87 float min, max;
88 void *data;
90 short hasinput;
92 short hasoutput;
94 short datatype;
98 short is_copy;
100 short external;
101 char _pad[4];
103
105enum {
108};
109
110/* node socket/node socket type -b conversion rules */
111enum {
118};
119
120typedef struct bNodeSocket {
122
125
127 char identifier[64];
128
129 char name[/*MAX_NAME*/ 64];
130
132 void *storage;
133
137 short type;
139 short flag;
146 short limit;
148 short in_out;
152 char idname[64];
153
156
160
161 /* #AttrDomain used when the geometry nodes modifier creates an attribute for a group
162 * output. */
164
165 char _pad[4];
166
168 char label[/*MAX_NAME*/ 64];
169 char short_label[/*MAX_NAME*/ 64];
170 char description[/*MAX_NAME*/ 64];
171
179
180 /* internal data to retrieve relations and groups
181 * DEPRECATED, now uses the generic identifier string instead
182 */
184 int own_index DNA_DEPRECATED;
185 /* XXX deprecated, only used for restoring old group node links */
186 int to_index DNA_DEPRECATED;
187
190
191 /* XXX deprecated, socket input values are stored in default_value now.
192 * kept for forward compatibility */
195
197
198#ifdef __cplusplus
204 bool is_user_hidden() const;
213 bool is_visible() const;
218 bool is_icon_visible() const;
223 bool is_available() const;
227 bool is_panel_collapsed() const;
232 bool is_inactive() const;
236 bool affects_node_output() const;
242 bool inferred_input_socket_visibility() const;
243
244 bool is_multi_input() const;
245 bool is_input() const;
246 bool is_output() const;
247
249 template<typename T> T *default_value_typed();
250 template<typename T> const T *default_value_typed() const;
251
252 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
253 * called. */
254
256 int index() const;
258 int index_in_tree() const;
260 int index_in_all_inputs() const;
262 int index_in_all_outputs() const;
264 bNode &owner_node();
265 const bNode &owner_node() const;
267 bNodeTree &owner_tree();
268 const bNodeTree &owner_tree() const;
269
271 blender::Span<bNodeLink *> directly_linked_links();
272 blender::Span<const bNodeLink *> directly_linked_links() const;
274 blender::Span<bNodeSocket *> directly_linked_sockets();
275 blender::Span<const bNodeSocket *> directly_linked_sockets() const;
276 bool is_directly_linked() const;
281 blender::Span<const bNodeSocket *> logically_linked_sockets() const;
282 bool is_logically_linked() const;
283
288 const bNodeSocket *internal_link_input() const;
289
290#endif
292
315
327
334
336typedef enum eNodeSocketFlag {
338 SOCK_HIDDEN = (1 << 1),
340 SOCK_IS_LINKED = (1 << 2),
342 SOCK_UNAVAIL = (1 << 3),
343 SOCK_GIZMO_PIN = (1 << 4),
344 // /** DEPRECATED group socket should not be exposed */
345 // SOCK_INTERNAL = (1 << 5),
347 SOCK_COLLAPSED = (1 << 6),
349 SOCK_HIDE_VALUE = (1 << 7),
354 SOCK_COMPACT = (1 << 10),
356 SOCK_MULTI_INPUT = (1 << 11),
361 SOCK_HIDE_LABEL = (1 << 12),
369
370typedef enum eNodePanelFlag {
371 /* Panel is collapsed (user setting). */
373 /* The parent panel is collapsed. */
375 /* The panel has visible content. */
378
379typedef struct bNodePanelState {
380 /* Unique identifier for validating state against panels in node declaration. */
382 /* eNodePanelFlag */
383 char flag;
384 char _pad[3];
385
386#ifdef __cplusplus
387 bool is_collapsed() const;
388 bool is_parent_collapsed() const;
389 bool has_visible_content() const;
390#endif
392
407
414
415typedef struct bNode {
416 struct bNode *next, *prev;
417
418 /* Input and output #bNodeSocket. */
420
422 char name[/*MAX_NAME*/ 64];
423
432
433 int flag;
434
439 char idname[64];
440
443
463 int16_t type_legacy;
464
469 int16_t ui_order;
470
472 int16_t custom1, custom2;
474
479 char _pad[7];
480
486 struct ID *id;
487
489 void *storage;
490
496
498 struct bNode *parent;
499
501 float location[2];
506 float width, height;
509
511 char label[/*MAX_NAME*/ 64];
512
514 float color[3];
515
519
521
522#ifdef __cplusplus
524 int index() const;
525 blender::StringRefNull label_or_name() const;
526 bool is_muted() const;
527 bool is_reroute() const;
528 bool is_frame() const;
529 bool is_group() const;
530 bool is_custom_group() const;
531 bool is_group_input() const;
532 bool is_group_output() const;
533 bool is_undefined() const;
534
542 bool is_type(blender::StringRef query_idname) const;
543
544 const blender::nodes::NodeDeclaration *declaration() const;
546 blender::Span<bNodeLink> internal_links() const;
547
548 /* This node is reroute which is not logically connected to any source of value. */
549 bool is_dangling_reroute() const;
550
551 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
552 * called. */
553
555 blender::Span<bNodeSocket *> input_sockets();
556 blender::Span<const bNodeSocket *> input_sockets() const;
557 blender::IndexRange input_socket_indices_in_tree() const;
558 blender::IndexRange input_socket_indices_in_all_inputs() const;
560 blender::Span<bNodeSocket *> output_sockets();
561 blender::Span<const bNodeSocket *> output_sockets() const;
562 blender::IndexRange output_socket_indices_in_tree() const;
563 blender::IndexRange output_socket_indices_in_all_outputs() const;
565 bNodeSocket &input_socket(int index);
566 const bNodeSocket &input_socket(int index) const;
568 bNodeSocket &output_socket(int index);
569 const bNodeSocket &output_socket(int index) const;
571 const bNodeSocket &input_by_identifier(blender::StringRef identifier) const;
572 const bNodeSocket &output_by_identifier(blender::StringRef identifier) const;
573 bNodeSocket &input_by_identifier(blender::StringRef identifier);
574 bNodeSocket &output_by_identifier(blender::StringRef identifier);
576 const bNodeSocket &socket_by_decl(const blender::nodes::SocketDeclaration &decl) const;
577 bNodeSocket &socket_by_decl(const blender::nodes::SocketDeclaration &decl);
579 blender::Span<bNode *> direct_children_in_frame() const;
580 blender::Span<bNodePanelState> panel_states() const;
583 const bNodeTree &owner_tree() const;
584 bNodeTree &owner_tree();
585#endif
587
589enum {
590 NODE_SELECT = 1 << 0,
591 NODE_OPTIONS = 1 << 1,
592 NODE_PREVIEW = 1 << 2,
593 NODE_HIDDEN = 1 << 3,
594 NODE_ACTIVE = 1 << 4,
595 // NODE_ACTIVE_ID = 1 << 5, /* Deprecated. */
598 // NODE_GROUP_EDIT = 1 << 7, /* Deprecated, dirty. */
599 NODE_TEST = 1 << 8,
601 NODE_MUTED = 1 << 9,
602 // NODE_CUSTOM_NAME = 1 << 10, /* Deprecated, dirty. */
603 // NODE_CONST_OUTPUT = 1 << 11, /* Deprecated, dirty. */
607 // NODE_TRANSFORM = 1 << 13, /* Deprecated, dirty. */
608
625 NODE_INIT = 1 << 16,
632 // NODE_ACTIVE_PREVIEW = 1 << 18, /* deprecated */
635};
636
638enum {
641};
642
647typedef struct bNodeInstanceKey {
648 unsigned int value;
649
650#ifdef __cplusplus
651 inline bool operator==(const bNodeInstanceKey &other) const
652 {
653 return value == other.value;
654 }
655 inline bool operator!=(const bNodeInstanceKey &other) const
656 {
657 return !(*this == other);
658 }
659
660 inline uint64_t hash() const
661 {
662 return value;
663 }
664#endif
666
673#
674#
681
682typedef struct bNodeLink {
683 struct bNodeLink *next, *prev;
684
687
688 int flag;
696
697#ifdef __cplusplus
698 bool is_muted() const;
699 bool is_available() const;
701 bool is_used() const;
702#endif
703
705
707enum {
723};
724
725typedef struct bNestedNodePath {
730
731#ifdef __cplusplus
732 uint64_t hash() const;
733 friend bool operator==(const bNestedNodePath &a, const bNestedNodePath &b);
734#endif
736
745
752typedef struct bNodeTree {
753#ifdef __cplusplus
755 static constexpr ID_Type id_type = ID_NT;
756#endif
757
760 struct AnimData *adt;
761
764
768 char idname[64];
771
773 struct bGPdata *gpd;
775 float view_center[2];
776
778
779 int type;
780
786 int flag;
787
789 int chunksize DNA_DEPRECATED;
791 int execution_mode DNA_DEPRECATED;
793 int precision DNA_DEPRECATED;
794
797
803
805
811 ListBase inputs_legacy DNA_DEPRECATED, outputs_legacy DNA_DEPRECATED;
812
814
820
827
829
832
834
835#ifdef __cplusplus
836
838 blender::Span<bNode *> all_nodes();
839 blender::Span<const bNode *> all_nodes() const;
840
842 struct bNode *node_by_id(int32_t identifier);
843 const struct bNode *node_by_id(int32_t identifier) const;
844
845 blender::MutableSpan<bNestedNodeRef> nested_node_refs_span();
846 blender::Span<bNestedNodeRef> nested_node_refs_span() const;
847
848 const bNestedNodeRef *find_nested_node_ref(int32_t nested_node_id) const;
850 const bNestedNodeRef *nested_node_ref_from_node_id_path(blender::Span<int> node_ids) const;
851 [[nodiscard]] bool node_id_path_from_nested_node_ref(const int32_t nested_node_id,
852 blender::Vector<int32_t> &r_node_ids) const;
853 const bNode *find_nested_node(int32_t nested_node_id, const bNodeTree **r_tree = nullptr) const;
854
859 void ensure_topology_cache() const;
860
861 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
862 * called. */
863
865 blender::Span<bNode *> group_nodes();
866 blender::Span<const bNode *> group_nodes() const;
868 blender::Span<bNodeSocket *> all_input_sockets();
869 blender::Span<const bNodeSocket *> all_input_sockets() const;
871 blender::Span<bNodeSocket *> all_output_sockets();
872 blender::Span<const bNodeSocket *> all_output_sockets() const;
874 blender::Span<bNodeSocket *> all_sockets();
875 blender::Span<const bNodeSocket *> all_sockets() const;
877 blender::Span<bNode *> nodes_by_type(blender::StringRefNull type_idname);
878 blender::Span<const bNode *> nodes_by_type(blender::StringRefNull type_idname) const;
880 blender::Span<bNode *> root_frames() const;
882 blender::Span<bNodeLink *> all_links();
883 blender::Span<const bNodeLink *> all_links() const;
889 blender::Span<bNode *> toposort_left_to_right();
890 blender::Span<const bNode *> toposort_left_to_right() const;
891 blender::Span<bNode *> toposort_right_to_left();
892 blender::Span<const bNode *> toposort_right_to_left() const;
894 bool has_available_link_cycle() const;
900 bool has_undefined_nodes_or_sockets() const;
902 bNode *group_output_node();
903 const bNode *group_output_node() const;
905 blender::Span<bNode *> group_input_nodes();
906 blender::Span<const bNode *> group_input_nodes() const;
907
909 const blender::bke::bNodeTreeZones *zones() const;
910
915 void ensure_interface_cache() const;
916
917 /* Cached interface item lists. */
921 blender::Span<const bNodeTreeInterfaceSocket *> interface_outputs() const;
923 blender::Span<const bNodeTreeInterfaceItem *> interface_items() const;
924
925 int interface_input_index(const bNodeTreeInterfaceSocket &io_socket) const;
926 int interface_output_index(const bNodeTreeInterfaceSocket &io_socket) const;
927 int interface_item_index(const bNodeTreeInterfaceItem &io_item) const;
928#endif
930
932
933enum {
942};
943
945enum {
949 NTREE_UNUSED_2 = 1 << 2, /* cleared */
956 // NTREE_IS_LOCALIZED = 1 << 5,
957};
958
967
968/* socket value structs for input buttons
969 * DEPRECATED now using ID properties
970 */
971
978
985
989
993 /* Only some of the values might be used depending on the dimensions. */
994 float value[4];
995 float min, max;
996 /* The number of dimensions of the vector. Can be 2, 3, or 4. */
999
1003
1007
1010 char _pad[4];
1011 char value[/*FILE_MAX*/ 1024];
1013
1017
1021
1025
1029
1033
1034typedef struct bNodeSocketValueMenu {
1035 /* Default input enum identifier. */
1037 /* #NodeSocketValueMenuRuntimeFlag */
1039 /* Immutable runtime enum definition. */
1041
1042#ifdef __cplusplus
1043 bool has_conflict() const;
1044#endif
1046
1050
1066
1067/* Data structs, for `node->storage`. */
1068
1075
1082
1083enum {
1085};
1086
1087typedef enum CMPNodeMaskFlags {
1088 /* CMP_NODEFLAG_MASK_AA = (1 << 0), */ /* DEPRECATED */
1091
1096
1097typedef struct NodeFrame {
1098 short flag;
1101
1102typedef struct NodeReroute {
1104 char type_idname[64];
1105
1107
1117
1118typedef struct ColorCorrectionData {
1119 float saturation DNA_DEPRECATED;
1120 float contrast DNA_DEPRECATED;
1121 float gamma DNA_DEPRECATED;
1122 float gain DNA_DEPRECATED;
1123 float lift DNA_DEPRECATED;
1124 char _pad[4];
1126
1135
1136typedef struct NodeBokehImage {
1139 float rounding DNA_DEPRECATED;
1140 float catadioptric DNA_DEPRECATED;
1141 float lensshift DNA_DEPRECATED;
1143
1144typedef struct NodeBoxMask {
1147 float rotation DNA_DEPRECATED;
1148 float height DNA_DEPRECATED;
1149 float width DNA_DEPRECATED;
1150 char _pad[4];
1152
1161
1163typedef struct NodeImageLayer {
1165 int pass_index DNA_DEPRECATED;
1166 /* render pass name */
1168 char pass_name[64];
1170
1181
1192
1194 float sigma_color DNA_DEPRECATED;
1195 float sigma_space DNA_DEPRECATED;
1196 short iter DNA_DEPRECATED;
1197 char _pad[2];
1199
1200typedef struct NodeKuwaharaData {
1203 int uniformity DNA_DEPRECATED;
1204 float sharpness DNA_DEPRECATED;
1205 float eccentricity DNA_DEPRECATED;
1206 char high_precision DNA_DEPRECATED;
1207 char _pad[3];
1209
1210typedef struct NodeAntiAliasingData {
1211 float threshold DNA_DEPRECATED;
1212 float contrast_limit DNA_DEPRECATED;
1213 float corner_rounding DNA_DEPRECATED;
1215
1217typedef struct NodeHueSat {
1218 float hue, sat, val;
1220
1221typedef struct NodeImageFile {
1222 char name[/*FILE_MAX*/ 1024];
1226
1241 /* single layer file output */
1242 short use_render_format DNA_DEPRECATED;
1246 char _pad1[3];
1247 char path[/*FILE_MAX*/ 1024];
1249
1250 /* Multi-layer output. */
1252 char layer[/*EXR_TOT_MAXNAME - 2*/ 62];
1253 char _pad2[2];
1255
1256typedef struct NodeChroma {
1260 float fsize DNA_DEPRECATED;
1261 float fstrength DNA_DEPRECATED;
1262 float falpha DNA_DEPRECATED;
1263 float key[4] DNA_DEPRECATED;
1265 short channel;
1267
1268typedef struct NodeTwoXYs {
1269 short x1;
1270 short x2;
1271 short y1;
1272 short y2;
1273 float fac_x1;
1274 float fac_x2;
1275 float fac_y1;
1276 float fac_y2;
1278
1279typedef struct NodeTwoFloats {
1280 float x, y;
1282
1283typedef struct NodeVertexCol {
1284 char name[64];
1286
1287typedef struct NodeCMPCombSepColor {
1288 /* CMPNodeCombSepColorMode */
1289 uint8_t mode;
1290 uint8_t ycc_mode;
1292
1301
1308
1326
1338
1339/* Lens Distortion node. */
1347
1348typedef struct NodeColorBalance {
1349 /* ASC CDL parameters. */
1350 float slope[3] DNA_DEPRECATED;
1351 float offset[3] DNA_DEPRECATED;
1353 float offset_basis DNA_DEPRECATED;
1354 char _pad[4];
1355
1356 /* LGG parameters. */
1357 float lift[3] DNA_DEPRECATED;
1358 float gamma[3] DNA_DEPRECATED;
1359 float gain[3] DNA_DEPRECATED;
1360
1361 /* White-point parameters. */
1362 float input_temperature DNA_DEPRECATED;
1363 float input_tint DNA_DEPRECATED;
1364 float output_temperature DNA_DEPRECATED;
1365 float output_tint DNA_DEPRECATED;
1367
1368typedef struct NodeColorspill {
1369 short limchan;
1370 short unspill DNA_DEPRECATED;
1371 float limscale DNA_DEPRECATED;
1372 float uspillr DNA_DEPRECATED;
1373 float uspillg DNA_DEPRECATED;
1374 float uspillb DNA_DEPRECATED;
1376
1381
1385
1386typedef struct NodeMask {
1387 int size_x DNA_DEPRECATED;
1388 int size_y DNA_DEPRECATED;
1390
1394
1399
1417
1428
1432
1438
1447
1448typedef struct NodeTexGabor {
1450 /* Stores NodeGaborType. */
1451 char type;
1452 char _pad[7];
1454
1460
1468
1478
1484
1492
1498
1504
1510
1528
1533
1539
1541typedef struct TexNodeOutput {
1542 char name[64];
1544
1545typedef struct NodeKeyingScreenData {
1546 char tracking_object[/*MAX_NAME*/ 64];
1547 float smoothness DNA_DEPRECATED;
1549
1550typedef struct NodeKeyingData {
1551 float screen_balance DNA_DEPRECATED;
1552 float despill_factor DNA_DEPRECATED;
1553 float despill_balance DNA_DEPRECATED;
1554 int edge_kernel_radius DNA_DEPRECATED;
1555 float edge_kernel_tolerance DNA_DEPRECATED;
1556 float clip_black DNA_DEPRECATED;
1557 float clip_white DNA_DEPRECATED;
1558 int dilate_distance DNA_DEPRECATED;
1559 int feather_distance DNA_DEPRECATED;
1561 int blur_pre DNA_DEPRECATED;
1562 int blur_post DNA_DEPRECATED;
1564
1565typedef struct NodeTrackPosData {
1566 char tracking_object[/*MAX_NAME*/ 64];
1567 char track_name[64];
1569
1575
1579
1584 char motion_blur_samples DNA_DEPRECATED;
1585 char _pad[2];
1586 float motion_blur_shutter DNA_DEPRECATED;
1588
1589typedef struct NodeShaderScript {
1590 int mode;
1591 int flag;
1592
1593 char filepath[/*FILE_MAX*/ 1024];
1594
1598
1599typedef struct NodeShaderTangent {
1601 int axis;
1602 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1604
1605typedef struct NodeShaderNormalMap {
1607 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1609
1610typedef struct NodeShaderUVMap {
1611 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1613
1615 char layer_name[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1617
1618typedef struct NodeShaderTexIES {
1619 int mode;
1620
1621 char filepath[/*FILE_MAX*/ 1024];
1623
1624typedef struct NodeShaderOutputAOV {
1625 char name[/*MAX_NAME*/ 64];
1627
1628typedef struct NodeSunBeams {
1629 float source[2] DNA_DEPRECATED;
1630 float ray_length DNA_DEPRECATED;
1632
1633typedef struct CryptomatteEntry {
1636 char name[/*MAX_NAME*/ 64];
1637 char _pad[4];
1639
1644
1652
1653typedef struct NodeCryptomatte {
1660
1663
1664 char layer_name[/*MAX_NAME*/ 64];
1667
1668 /* Legacy attributes. */
1671
1672 char _pad[4];
1675
1682
1683typedef struct NodeMapRange {
1685 uint8_t data_type;
1686
1689 uint8_t clamp;
1690 char _pad[5];
1692
1697
1704
1708
1712
1716
1720
1721typedef struct NodeInputColor {
1722 float color[4];
1724
1728
1733
1738
1745
1750
1755
1760
1765
1772
1777
1782
1787
1792
1799
1800typedef struct NodeSwitch {
1802 uint8_t input_type;
1804
1805typedef struct NodeEnumItem {
1806 char *name;
1808 /* Immutable unique identifier. */
1810 char _pad[4];
1812
1813typedef struct NodeEnumDefinition {
1814 /* User-defined enum items owned and managed by this node. */
1819 char _pad[4];
1820
1821#ifdef __cplusplus
1822 blender::Span<NodeEnumItem> items() const;
1824#endif
1826
1834
1839
1844
1851
1858
1863
1868
1873
1878
1883
1893
1898
1903
1908
1917
1927
1936
1944
1948
1953
1965
1977
1984
1989
2000
2007
2012
2017
2022
2027
2034
2039
2052
2057
2071
2083
2088
2102
2107
2116
2125
2136
2144
2152
2160
2176
2181
2189
2197
2205
2213
2218
2226
2234
2242
2250
2255
2260
2261typedef struct NodeIndexSwitch {
2264
2265 /* #eNodeSocketDataType. */
2269
2270 char _pad[4];
2271#ifdef __cplusplus
2272 blender::Span<IndexSwitchItem> items_span() const;
2274#endif
2276
2281
2291
2296
2307
2314
2319
2324
2336
2337#define GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_ALL \
2338 (GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Y | \
2339 GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Z)
2340
2341#define GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_ALL \
2342 (GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Y | \
2343 GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Z)
2344
2345#define GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_ALL \
2346 (GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_X | GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Y | \
2347 GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Z)
2348
2357
2361
2369
2376
2384
2391
2399
2406
2414
2415/* script node mode */
2416enum {
2419};
2420
2421/* script node flag */
2422enum {
2424};
2425
2426/* IES node mode. */
2427enum {
2430};
2431
2432/* Frame node flags. */
2433
2434enum {
2439};
2440
2441/* Proxy node flags. */
2442
2443enum {
2446};
2447
2448/* Conductive fresnel types */
2449enum {
2452};
2453
2454/* glossy distributions */
2455enum {
2457 SHD_GLOSSY_SHARP_DEPRECATED = 1, /* deprecated */
2461};
2462
2463/* sheen distributions */
2464#define SHD_SHEEN_ASHIKHMIN 0
2465#define SHD_SHEEN_MICROFIBER 1
2466
2467/* vector transform */
2468enum {
2472};
2473
2474enum {
2478};
2479
2481enum {
2486};
2487
2488/* toon modes */
2489enum {
2492};
2493
2494/* hair components */
2495enum {
2498};
2499
2500/* principled hair models */
2501enum {
2504};
2505
2506/* principled hair color parametrization */
2507enum {
2511};
2512
2513/* blend texture */
2514enum {
2522};
2523
2524/* noise basis for textures */
2525enum {
2534};
2535
2536enum {
2539};
2540
2541/* Voronoi Texture */
2542
2543enum {
2548};
2549
2550enum {
2556};
2557
2558/* Deprecated Musgrave Texture. Keep for Versioning */
2559enum {
2565};
2566
2567/* Noise Texture */
2568enum {
2574};
2575
2576/* wave texture */
2577enum {
2580};
2581
2582enum {
2587};
2588
2589enum {
2594};
2595
2596enum {
2600};
2601
2602/* sky texture */
2603enum {
2607};
2608
2609/* environment texture */
2610enum {
2613};
2614
2619
2620enum {
2625};
2626
2627/* image texture */
2628enum {
2633};
2634
2635/* image texture interpolation */
2636enum {
2641};
2642
2643/* tangent */
2644enum {
2647};
2648
2649/* tangent */
2650enum {
2654};
2655
2656/* normal map, displacement space */
2657enum {
2663};
2664
2665enum {
2668};
2669
2671enum {
2676};
2677
2679enum {
2685};
2686
2687/* math node clamp */
2688enum {
2690};
2691
2735
2770
2784
2789
2797
2808
2829
2836
2838enum {
2841};
2842
2844enum {
2849};
2850
2851/* mix rgb node flags */
2852enum {
2855};
2856
2857/* Subsurface. */
2858
2859enum {
2860#ifdef DNA_DEPRECATED_ALLOW
2861 SHD_SUBSURFACE_COMPATIBLE = 0, /* Deprecated */
2862 SHD_SUBSURFACE_CUBIC = 1,
2863 SHD_SUBSURFACE_GAUSSIAN = 2,
2864#endif
2868};
2869
2870/* blur node */
2871enum {
2875};
2876
2883
2884#define CMP_NODE_MASK_MBLUR_SAMPLES_MAX 64
2885
2886/* image */
2887enum {
2889};
2890
2891/* viewer and composite output. */
2892enum {
2894};
2895
2901
2908
2914
2920
2926
2932
2933/* Flip Node. Stored in custom1. */
2939
2940/* Scale Node. Stored in custom1. */
2947
2948/* Scale Node. Stored in custom2. */
2954
2955/* Filter Node. Stored in custom1. */
2966
2967/* Levels Node. Stored in custom1. */
2975
2976/* Tone Map Node. Stored in NodeTonemap.type. */
2981
2982/* Track Position Node. Stored in custom1. */
2989
2990/* Glare Node. Stored in NodeGlare.type. */
2998
2999/* Kuwahara Node. Stored in variation */
3004
3005/* Shared between nodes with interpolation option. */
3011
3012/* CornerPin node interpolation option. */
3019
3020/* Set Alpha Node. */
3021
3027
3028/* Denoise Node. */
3029
3036
3044
3045/* Color combine/separate modes */
3046
3054
3055/* Filtering modes Compositor MapUV node, stored in custom2. */
3062
3063/* Cryptomatte node source. */
3068
3069/* Channel Matte node, stored in custom1. */
3076
3077/* NodeLensDist.distortion_type. */
3082
3083/* Relative To Pixel node. Stored in custom1. */
3088
3089/* Relative To Pixel node. Stored in custom2. */
3098
3099/* Point Density shader node */
3100
3101enum {
3104};
3105
3106enum {
3109};
3110
3111enum {
3115};
3116
3117enum {
3121};
3122
3123/* Scattering phase functions */
3124enum {
3130};
3131
3132/* Output shader node */
3133
3139
3140/* Geometry Nodes */
3141
3147
3152
3159
3164
3169
3174
3180
3185
3190
3196
3203
3208
3213
3219
3224
3229
3234
3239
3244
3249
3257
3262
3268
3273
3278
3284
3289
3294
3301
3307
3315
3323
3333
3339
3344
3350
3358
3364
#define ENUM_OPERATORS(_type, _max)
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_NT
These structs are the foundation for all linked lists in the library system.
struct bNodeSocketTypeHandle bNodeSocketTypeHandle
NodeVectorMathOperation
@ NODE_VECTOR_MATH_NORMALIZE
@ NODE_VECTOR_MATH_LENGTH
@ NODE_VECTOR_MATH_SIGN
@ NODE_VECTOR_MATH_CROSS_PRODUCT
@ NODE_VECTOR_MATH_CEIL
@ NODE_VECTOR_MATH_MODULO
@ NODE_VECTOR_MATH_ADD
@ NODE_VECTOR_MATH_COSINE
@ NODE_VECTOR_MATH_REFLECT
@ NODE_VECTOR_MATH_WRAP
@ NODE_VECTOR_MATH_REFRACT
@ NODE_VECTOR_MATH_POWER
@ NODE_VECTOR_MATH_DOT_PRODUCT
@ NODE_VECTOR_MATH_ABSOLUTE
@ NODE_VECTOR_MATH_DIVIDE
@ NODE_VECTOR_MATH_TANGENT
@ NODE_VECTOR_MATH_DISTANCE
@ NODE_VECTOR_MATH_FLOOR
@ NODE_VECTOR_MATH_SNAP
@ NODE_VECTOR_MATH_SINE
@ NODE_VECTOR_MATH_FRACTION
@ NODE_VECTOR_MATH_PROJECT
@ NODE_VECTOR_MATH_MULTIPLY
@ NODE_VECTOR_MATH_SCALE
@ NODE_VECTOR_MATH_MAXIMUM
@ NODE_VECTOR_MATH_FACEFORWARD
@ NODE_VECTOR_MATH_SUBTRACT
@ NODE_VECTOR_MATH_MULTIPLY_ADD
@ NODE_VECTOR_MATH_MINIMUM
@ CMP_NODE_OUTPUT_IGNORE_ALPHA
CMPNodeInterpolation
@ CMP_NODE_INTERPOLATION_NEAREST
@ CMP_NODE_INTERPOLATION_BILINEAR
@ CMP_NODE_INTERPOLATION_BICUBIC
GeometryNodeMeshCircleFillType
@ GEO_NODE_MESH_CIRCLE_FILL_NGON
@ GEO_NODE_MESH_CIRCLE_FILL_TRIANGLE_FAN
@ GEO_NODE_MESH_CIRCLE_FILL_NONE
GeometryNodeProximityTargetType
@ GEO_NODE_PROX_TARGET_EDGES
@ GEO_NODE_PROX_TARGET_POINTS
@ GEO_NODE_PROX_TARGET_FACES
CMPNodeColorSpillLimitAlgorithm
@ CMP_NODE_COLOR_SPILL_LIMIT_ALGORITHM_AVERAGE
@ CMP_NODE_COLOR_SPILL_LIMIT_ALGORITHM_SINGLE
@ SHD_VECT_TRANSFORM_SPACE_WORLD
@ SHD_VECT_TRANSFORM_SPACE_OBJECT
@ SHD_VECT_TRANSFORM_SPACE_CAMERA
GeometryNodeCurvePrimitiveLineMode
@ GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_DIRECTION
CMPNodeCombSepColorMode
@ CMP_NODE_COMBSEP_COLOR_YCC
@ CMP_NODE_COMBSEP_COLOR_YUV
@ CMP_NODE_COMBSEP_COLOR_RGB
@ CMP_NODE_COMBSEP_COLOR_HSV
@ CMP_NODE_COMBSEP_COLOR_HSL
@ SHD_ATTRIBUTE_VIEW_LAYER
@ SHD_ATTRIBUTE_OBJECT
@ SHD_ATTRIBUTE_GEOMETRY
@ SHD_ATTRIBUTE_INSTANCER
@ SHD_INTERP_LINEAR
@ SHD_INTERP_SMART
@ SHD_INTERP_CUBIC
@ SHD_INTERP_CLOSEST
@ SHD_PRINCIPLED_HAIR_REFLECTANCE
@ SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION
@ SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION
@ SHD_WAVE_BANDS_DIRECTION_Y
@ SHD_WAVE_BANDS_DIRECTION_X
@ SHD_WAVE_BANDS_DIRECTION_Z
@ SHD_WAVE_BANDS_DIRECTION_DIAGONAL
@ SHD_BLEND_DIAGONAL
@ SHD_BLEND_EASING
@ SHD_BLEND_LINEAR
@ SHD_BLEND_RADIAL
@ SHD_BLEND_QUADRATIC_SPHERE
@ SHD_BLEND_SPHERICAL
@ SHD_BLEND_QUADRATIC
@ NS_OSA_VECTORS
@ NS_OSA_VALUES
@ SHD_SPACE_BLENDER_OBJECT
@ SHD_SPACE_OBJECT
@ SHD_SPACE_TANGENT
@ SHD_SPACE_WORLD
@ SHD_SPACE_BLENDER_WORLD
@ SHD_HAIR_REFLECTION
@ SHD_HAIR_TRANSMISSION
NodeGeometryTransformMode
@ GEO_NODE_TRANSFORM_MODE_MATRIX
@ GEO_NODE_TRANSFORM_MODE_COMPONENTS
GeometryNodeUVUnwrapMethod
@ GEO_NODE_UV_UNWRAP_METHOD_CONFORMAL
@ GEO_NODE_UV_UNWRAP_METHOD_ANGLE_BASED
GeometryNodeStringToCurvesAlignXMode
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_CENTER
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_JUSTIFY
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_FLUSH
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_LEFT
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_RIGHT
NodeMathOperation
@ NODE_MATH_SINH
@ NODE_MATH_SMOOTH_MIN
@ NODE_MATH_TRUNC
@ NODE_MATH_COSH
@ NODE_MATH_SIGN
@ NODE_MATH_DEGREES
@ NODE_MATH_MODULO
@ NODE_MATH_ABSOLUTE
@ NODE_MATH_DIVIDE
@ NODE_MATH_SINE
@ NODE_MATH_FLOORED_MODULO
@ NODE_MATH_ARCTAN2
@ NODE_MATH_ARCCOSINE
@ NODE_MATH_MULTIPLY_ADD
@ NODE_MATH_POWER
@ NODE_MATH_WRAP
@ NODE_MATH_ARCTANGENT
@ NODE_MATH_MINIMUM
@ NODE_MATH_SQRT
@ NODE_MATH_CEIL
@ NODE_MATH_TANH
@ NODE_MATH_GREATER_THAN
@ NODE_MATH_ADD
@ NODE_MATH_FRACTION
@ NODE_MATH_EXPONENT
@ NODE_MATH_LESS_THAN
@ NODE_MATH_ARCSINE
@ NODE_MATH_MAXIMUM
@ NODE_MATH_LOGARITHM
@ NODE_MATH_COMPARE
@ NODE_MATH_INV_SQRT
@ NODE_MATH_MULTIPLY
@ NODE_MATH_PINGPONG
@ NODE_MATH_ROUND
@ NODE_MATH_FLOOR
@ NODE_MATH_SUBTRACT
@ NODE_MATH_COSINE
@ NODE_MATH_SNAP
@ NODE_MATH_TANGENT
@ NODE_MATH_SMOOTH_MAX
@ NODE_MATH_RADIANS
GeometryNodeScaleElementsMode
@ GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS
@ GEO_NODE_SCALE_ELEMENTS_UNIFORM
struct bNodeSocketRuntimeHandle bNodeSocketRuntimeHandle
GeometryNodeAssetTraitFlag
@ GEO_NODE_ASSET_MESH
@ GEO_NODE_ASSET_SCULPT
@ GEO_NODE_ASSET_WAIT_FOR_CURSOR
@ GEO_NODE_ASSET_PAINT
@ GEO_NODE_ASSET_GREASE_PENCIL
@ GEO_NODE_ASSET_CURVE
@ GEO_NODE_ASSET_POINTCLOUD
@ GEO_NODE_ASSET_EDIT
@ GEO_NODE_ASSET_MODIFIER
@ GEO_NODE_ASSET_TOOL
@ GEO_NODE_ASSET_OBJECT
@ SHD_POINTDENSITY_SPACE_WORLD
@ SHD_POINTDENSITY_SPACE_OBJECT
@ SHD_WAVE_RINGS
@ SHD_WAVE_BANDS
@ SHD_AO_INSIDE
@ SHD_AO_LOCAL
@ SHD_SUBSURFACE_BURLEY
@ SHD_SUBSURFACE_RANDOM_WALK_SKIN
@ SHD_SUBSURFACE_RANDOM_WALK
NodeShaderOutputTarget
@ SHD_OUTPUT_CYCLES
@ SHD_OUTPUT_ALL
@ SHD_OUTPUT_EEVEE
NodeGaborType
@ SHD_GABOR_TYPE_3D
@ SHD_GABOR_TYPE_2D
@ SHD_PHASE_DRAINE
@ SHD_PHASE_RAYLEIGH
@ SHD_PHASE_HENYEY_GREENSTEIN
@ SHD_PHASE_MIE
@ SHD_PHASE_FOURNIER_FORAND
@ SHD_VECT_TRANSFORM_TYPE_VECTOR
@ SHD_VECT_TRANSFORM_TYPE_NORMAL
@ SHD_VECT_TRANSFORM_TYPE_POINT
GeometryNodeCurvePrimitiveArcMode
@ GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_RADIUS
GeometryNodeCurveHandleMode
@ GEO_NODE_CURVE_HANDLE_RIGHT
@ GEO_NODE_CURVE_HANDLE_LEFT
@ SHD_MUSGRAVE_HYBRID_MULTIFRACTAL
@ SHD_MUSGRAVE_RIDGED_MULTIFRACTAL
@ SHD_MUSGRAVE_HETERO_TERRAIN
@ SHD_MUSGRAVE_MULTIFRACTAL
@ SHD_MUSGRAVE_FBM
CMPNodeSplitAxis
@ CMP_NODE_SPLIT_VERTICAL
@ CMP_NODE_SPLIT_HORIZONTAL
CMPNodeRelativeToPixelDataType
@ CMP_NODE_RELATIVE_TO_PIXEL_DATA_TYPE_VECTOR
@ CMP_NODE_RELATIVE_TO_PIXEL_DATA_TYPE_FLOAT
CMPNodeCryptomatteSource
@ CMP_NODE_CRYPTOMATTE_SOURCE_IMAGE
@ CMP_NODE_CRYPTOMATTE_SOURCE_RENDER
@ CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT
CMPNodeToneMapType
@ CMP_NODE_TONE_MAP_PHOTORECEPTOR
@ CMP_NODE_TONE_MAP_SIMPLE
NodeAlignEulerToVectorAxis
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_Z
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_Y
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_X
CMPNodeDilateErodeMethod
@ CMP_NODE_DILATE_ERODE_STEP
@ CMP_NODE_DILATE_ERODE_DISTANCE_FEATHER
@ CMP_NODE_DILATE_ERODE_DISTANCE_THRESHOLD
@ CMP_NODE_DILATE_ERODE_DISTANCE
@ SHD_TANGENT_UVMAP
@ SHD_TANGENT_RADIAL
CMPNodeScaleRenderSizeMethod
@ CMP_NODE_SCALE_RENDER_SIZE_STRETCH
@ CMP_NODE_SCALE_RENDER_SIZE_FIT
@ CMP_NODE_SCALE_RENDER_SIZE_CROP
struct bNodeRuntimeHandle bNodeRuntimeHandle
GeometryNodeStringToCurvesPivotMode
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_MIDPOINT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_RIGHT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_CENTER
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_LEFT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_CENTER
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_RIGHT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_LEFT
@ SHD_PROJ_TUBE
@ SHD_PROJ_SPHERE
@ SHD_PROJ_BOX
@ SHD_PROJ_FLAT
@ SHD_PRINCIPLED_HAIR_HUANG
@ SHD_PRINCIPLED_HAIR_CHIANG
@ NODE_PROXY_AUTOTYPE
GeometryNodeMeshLineCountMode
@ GEO_NODE_MESH_LINE_COUNT_RESOLUTION
@ GEO_NODE_MESH_LINE_COUNT_TOTAL
NodeAlignEulerToVectorPivotAxis
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_Y
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_AUTO
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_X
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_Z
CMPNodeDistanceMatteColorSpace
@ CMP_NODE_DISTANCE_MATTE_COLOR_SPACE_YCCA
@ CMP_NODE_DISTANCE_MATTE_COLOR_SPACE_RGBA
CMPNodeCornerPinInterpolation
@ CMP_NODE_CORNER_PIN_INTERPOLATION_BILINEAR
@ CMP_NODE_CORNER_PIN_INTERPOLATION_BICUBIC
@ CMP_NODE_CORNER_PIN_INTERPOLATION_ANISOTROPIC
@ CMP_NODE_CORNER_PIN_INTERPOLATION_NEAREST
@ SHD_PROJ_MIRROR_BALL
@ SHD_PROJ_EQUIRECTANGULAR
CMPNodeFlipMode
@ CMP_NODE_FLIP_X
@ CMP_NODE_FLIP_X_Y
@ CMP_NODE_FLIP_Y
@ SHD_SKY_PREETHAM
@ SHD_SKY_NISHITA
@ SHD_SKY_HOSEK
@ NS_CR_NONE
@ NS_CR_FIT
@ NS_CR_STRETCH
@ NS_CR_CENTER
@ NS_CR_FIT_WIDTH
@ NS_CR_FIT_HEIGHT
FunctionNodeRotateEulerType
@ FN_NODE_ROTATE_EULER_TYPE_EULER
@ FN_NODE_ROTATE_EULER_TYPE_AXIS_ANGLE
@ SHD_WAVE_PROFILE_SIN
@ SHD_WAVE_PROFILE_TRI
@ SHD_WAVE_PROFILE_SAW
@ SHD_NOISE_VORONOI_F3
@ SHD_NOISE_VORONOI_CRACKLE
@ SHD_NOISE_VORONOI_F4
@ SHD_NOISE_CELL_NOISE
@ SHD_NOISE_VORONOI_F1
@ SHD_NOISE_VORONOI_F2
@ SHD_NOISE_PERLIN
@ SHD_NOISE_VORONOI_F2_F1
GeometryNodeExtrudeMeshMode
@ GEO_NODE_EXTRUDE_MESH_FACES
@ GEO_NODE_EXTRUDE_MESH_VERTICES
@ GEO_NODE_EXTRUDE_MESH_EDGES
GeometryNodeCurveResampleMode
@ GEO_NODE_CURVE_RESAMPLE_LENGTH
@ GEO_NODE_CURVE_RESAMPLE_EVALUATED
@ GEO_NODE_CURVE_RESAMPLE_COUNT
@ CMP_NODE_INPAINT_SIMPLE
CMPNodeChannelMatteLimitAlgorithm
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_MAX
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_SINGLE
CMPNodeAlphaConvertMode
@ CMP_NODE_ALPHA_CONVERT_UNPREMULTIPLY
@ CMP_NODE_ALPHA_CONVERT_PREMULTIPLY
CMPNodeDenoiseQuality
@ CMP_NODE_DENOISE_QUALITY_BALANCED
@ CMP_NODE_DENOISE_QUALITY_FAST
@ CMP_NODE_DENOISE_QUALITY_SCENE
@ CMP_NODE_DENOISE_QUALITY_HIGH
@ SHD_POINTDENSITY_COLOR_PARTSPEED
@ SHD_POINTDENSITY_COLOR_PARTVEL
@ SHD_POINTDENSITY_COLOR_PARTAGE
@ NODE_MAPPING_TYPE_POINT
@ NODE_MAPPING_TYPE_VECTOR
@ NODE_MAPPING_TYPE_TEXTURE
@ NODE_MAPPING_TYPE_NORMAL
CMPNodeMaskType
@ NTREE_TEXTURE
@ NTREE_CUSTOM
@ NTREE_SHADER
@ NTREE_GEOMETRY
@ NTREE_COMPOSIT
@ NTREE_UNDEFINED
CMPNodeMapUVFiltering
@ CMP_NODE_MAP_UV_FILTERING_BILINEAR
@ CMP_NODE_MAP_UV_FILTERING_BICUBIC
@ CMP_NODE_MAP_UV_FILTERING_NEAREST
@ CMP_NODE_MAP_UV_FILTERING_ANISOTROPIC
@ NODE_MAP_RANGE_STEPPED
@ NODE_MAP_RANGE_SMOOTHERSTEP
@ NODE_MAP_RANGE_SMOOTHSTEP
@ NODE_MAP_RANGE_LINEAR
GeometryNodeCurveSampleMode
@ GEO_NODE_CURVE_SAMPLE_FACTOR
@ GEO_NODE_CURVE_SAMPLE_LENGTH
@ SHD_MATH_CLAMP
GeometryNodeMeshToPointsMode
@ GEO_NODE_MESH_TO_POINTS_FACES
@ GEO_NODE_MESH_TO_POINTS_VERTICES
@ GEO_NODE_MESH_TO_POINTS_CORNERS
@ GEO_NODE_MESH_TO_POINTS_EDGES
CMPNodeKuwahara
@ CMP_NODE_KUWAHARA_CLASSIC
@ CMP_NODE_KUWAHARA_ANISOTROPIC
CMPNodeTranslateRepeatAxis
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_XY
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_Y
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_NONE
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_X
GeometryNodeCurveFillMode
@ GEO_NODE_CURVE_FILL_MODE_TRIANGULATED
@ GEO_NODE_CURVE_FILL_MODE_NGONS
NodeGeometryBakeItemFlag
@ GEO_NODE_BAKE_ITEM_IS_ATTRIBUTE
@ CMP_NODE_BLUR_ASPECT_NONE
@ CMP_NODE_BLUR_ASPECT_X
@ CMP_NODE_BLUR_ASPECT_Y
CMPNodeMaskFlags
@ CMP_NODE_MASK_FLAG_SIZE_FIXED
@ CMP_NODE_MASK_FLAG_NO_FEATHER
@ CMP_NODE_MASK_FLAG_SIZE_FIXED_SCENE
@ CMP_NODE_MASK_FLAG_MOTION_BLUR
GeometryNodeDistributePointsOnFacesMode
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_RANDOM
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_POISSON
eNodeSocketInOut
@ SOCK_OUT
@ SOCK_IN
@ NODE_TEST
@ NODE_OPTIONS
@ NODE_DO_OUTPUT
@ NODE_HIDDEN
@ NODE_ACTIVE
@ NODE_ACTIVE_TEXTURE
@ NODE_DO_OUTPUT_RECALC
@ NODE_CUSTOM_COLOR
@ NODE_INIT
@ NODE_BACKGROUND
@ NODE_MUTED
@ NODE_ACTIVE_PAINT_CANVAS
@ NODE_SELECT
@ NODE_PREVIEW
eViewerNodeShortcut
@ NODE_VIEWER_SHORCTUT_SLOT_9
@ NODE_VIEWER_SHORCTUT_SLOT_5
@ NODE_VIEWER_SHORCTUT_SLOT_4
@ NODE_VIEWER_SHORCTUT_SLOT_2
@ NODE_VIEWER_SHORCTUT_SLOT_7
@ NODE_VIEWER_SHORCTUT_SLOT_1
@ NODE_VIEWER_SHORCTUT_SLOT_3
@ NODE_VIEWER_SHORTCUT_NONE
@ NODE_VIEWER_SHORCTUT_SLOT_8
@ NODE_VIEWER_SHORCTUT_SLOT_6
@ SHD_VORONOI_F2
@ SHD_VORONOI_SMOOTH_F1
@ SHD_VORONOI_DISTANCE_TO_EDGE
@ SHD_VORONOI_F1
@ SHD_VORONOI_N_SPHERE_RADIUS
@ SHD_POINTDENSITY_COLOR_VERTNOR
@ SHD_POINTDENSITY_COLOR_VERTWEIGHT
@ SHD_POINTDENSITY_COLOR_VERTCOL
@ SHD_VORONOI_EUCLIDEAN
@ SHD_VORONOI_CHEBYCHEV
@ SHD_VORONOI_MANHATTAN
@ SHD_VORONOI_MINKOWSKI
@ SHD_TANGENT_AXIS_Y
@ SHD_TANGENT_AXIS_X
@ SHD_TANGENT_AXIS_Z
@ NODE_UPDATE_ID
CMPNodeSetAlphaMode
@ CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA
@ CMP_NODE_SETALPHA_MODE_APPLY
NodeShaderMixMode
@ NODE_MIX_MODE_UNIFORM
@ NODE_MIX_MODE_NON_UNIFORM
eNodeTreeRuntimeFlag
@ NTREE_RUNTIME_FLAG_HAS_SIMULATION_ZONE
@ NTREE_RUNTIME_FLAG_HAS_MATERIAL_OUTPUT
@ NTREE_RUNTIME_FLAG_HAS_IMAGE_ANIMATION
GeometryNodeMergeByDistanceMode
@ GEO_NODE_MERGE_BY_DISTANCE_MODE_ALL
@ GEO_NODE_MERGE_BY_DISTANCE_MODE_CONNECTED
GeometryNodeGizmoColor
@ GEO_NODE_GIZMO_COLOR_Z
@ GEO_NODE_GIZMO_COLOR_Y
@ GEO_NODE_GIZMO_COLOR_X
@ GEO_NODE_GIZMO_COLOR_PRIMARY
@ GEO_NODE_GIZMO_COLOR_SECONDARY
@ SHD_CONDUCTOR_F82
@ SHD_PHYSICAL_CONDUCTOR
GeometryNodeMeshLineMode
@ GEO_NODE_MESH_LINE_MODE_END_POINTS
@ GEO_NODE_MESH_LINE_MODE_OFFSET
eNodeSocketFlag
@ SOCK_HIDE_LABEL
@ SOCK_HIDE_VALUE
@ SOCK_HIDE_IN_MODIFIER
@ SOCK_IS_LINKED
@ SOCK_MULTI_INPUT
@ SOCK_PANEL_COLLAPSED
@ SOCK_COLLAPSED
@ SOCK_GIZMO_PIN
@ SOCK_HIDDEN
@ SOCK_COMPACT
@ SOCK_UNAVAIL
@ SOCK_NO_INTERNAL_LINK
@ SOCK_AUTO_HIDDEN__DEPRECATED
GeometryNodeStringToCurvesAlignYMode
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_BOTTOM_BASELINE
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_TOP_BASELINE
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_TOP
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_BOTTOM
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_MIDDLE
@ NODE_LINK_TEST
@ NODE_LINK_TEMP_HIGHLIGHT
@ NODE_LINK_MUTED
@ NODE_LINK_INSERT_TARGET
@ NODE_LINK_INSERT_TARGET_INVALID
@ NODE_LINK_VALID
eNodeSocketDisplayShape
@ SOCK_DISPLAY_SHAPE_CIRCLE_DOT
@ SOCK_DISPLAY_SHAPE_LINE
@ SOCK_DISPLAY_SHAPE_CIRCLE
@ SOCK_DISPLAY_SHAPE_SQUARE_DOT
@ SOCK_DISPLAY_SHAPE_SQUARE
@ SOCK_DISPLAY_SHAPE_DIAMOND
@ SOCK_DISPLAY_SHAPE_VOLUME_GRID
@ SOCK_DISPLAY_SHAPE_DIAMOND_DOT
eNodeSocketDatatype
@ SOCK_INT
@ SOCK_TEXTURE
@ SOCK_VECTOR
@ SOCK_CLOSURE
@ SOCK_BOOLEAN
@ SOCK_MATERIAL
@ SOCK_SHADER
@ SOCK_MATRIX
@ SOCK_FLOAT
@ SOCK_IMAGE
@ SOCK_COLLECTION
@ SOCK_CUSTOM
@ SOCK_BUNDLE
@ SOCK_GEOMETRY
@ SOCK_ROTATION
@ SOCK_OBJECT
@ SOCK_STRING
@ SOCK_RGBA
@ SOCK_MENU
@ NODE_IES_EXTERNAL
@ NODE_IES_INTERNAL
@ NODE_VECTOR_ROTATE_TYPE_AXIS
@ NODE_VECTOR_ROTATE_TYPE_AXIS_Z
@ NODE_VECTOR_ROTATE_TYPE_AXIS_X
@ NODE_VECTOR_ROTATE_TYPE_EULER_XYZ
@ NODE_VECTOR_ROTATE_TYPE_AXIS_Y
GeometryNodePointsToVolumeResolutionMode
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_AMOUNT
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_SIZE
CMPNodeChannelMatteColorSpace
@ CMP_NODE_CHANNEL_MATTE_CS_YUV
@ CMP_NODE_CHANNEL_MATTE_CS_RGB
@ CMP_NODE_CHANNEL_MATTE_CS_HSV
@ CMP_NODE_CHANNEL_MATTE_CS_YCC
NodeCombSepColorMode
@ NODE_COMBSEP_COLOR_RGB
@ NODE_COMBSEP_COLOR_HSV
@ NODE_COMBSEP_COLOR_HSL
GeometryNodeCurvePrimitiveQuadMode
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_KITE
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_TRAPEZOID
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_RECTANGLE
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_PARALLELOGRAM
NodeWarningPropagation
@ NODE_WARNING_PROPAGATION_NONE
@ NODE_WARNING_PROPAGATION_ONLY_ERRORS_AND_WARNINGS
@ NODE_WARNING_PROPAGATION_ONLY_ERRORS
@ NODE_WARNING_PROPAGATION_ALL
GeometryNodeDistributePointsInVolumeMode
@ GEO_NODE_DISTRIBUTE_POINTS_IN_VOLUME_DENSITY_GRID
@ GEO_NODE_DISTRIBUTE_POINTS_IN_VOLUME_DENSITY_RANDOM
@ SHD_POINTDENSITY_SOURCE_PSYS
@ SHD_POINTDENSITY_SOURCE_OBJECT
GeometryNodeLinearGizmoDrawStyle
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_CROSS
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_BOX
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_ARROW
@ NODE_CLAMP_RANGE
@ NODE_CLAMP_MINMAX
CMPNodeColorBalanceMethod
@ CMP_NODE_COLOR_BALANCE_LGG
@ CMP_NODE_COLOR_BALANCE_ASC_CDL
@ CMP_NODE_COLOR_BALANCE_WHITEPOINT
@ NTREE_DS_EXPAND
@ NTREE_UNUSED_2
@ NTREE_VIEWER_BORDER
@ SHD_GLOSSY_BECKMANN
@ SHD_GLOSSY_SHARP_DEPRECATED
@ SHD_GLOSSY_GGX
@ SHD_GLOSSY_ASHIKHMIN_SHIRLEY
@ SHD_GLOSSY_MULTI_GGX
FunctionNodeRotateEulerSpace
@ FN_NODE_ROTATE_EULER_SPACE_OBJECT
@ FN_NODE_ROTATE_EULER_SPACE_LOCAL
@ NODE_FRAME_RESIZEABLE
@ NODE_FRAME_SHRINK
CMPNodeScaleMethod
@ CMP_NODE_SCALE_RENDER_SIZE
@ CMP_NODE_SCALE_RELATIVE
@ CMP_NODE_SCALE_ABSOLUTE
@ CMP_NODE_SCALE_RENDER_PERCENT
struct bNodeTreeTypeHandle bNodeTreeTypeHandle
struct NodeInstanceHashHandle NodeInstanceHashHandle
@ NODE_SCRIPT_AUTO_UPDATE
CMPNodeTrackPositionMode
@ CMP_NODE_TRACK_POSITION_RELATIVE_START
@ CMP_NODE_TRACK_POSITION_ABSOLUTE_FRAME
@ CMP_NODE_TRACK_POSITION_RELATIVE_FRAME
@ CMP_NODE_TRACK_POSITION_ABSOLUTE
@ SHD_IMAGE_EXTENSION_MIRROR
@ SHD_IMAGE_EXTENSION_CLIP
@ SHD_IMAGE_EXTENSION_REPEAT
@ SHD_IMAGE_EXTENSION_EXTEND
GeometryNodeRaycastMapMode
@ GEO_NODE_RAYCAST_NEAREST
@ GEO_NODE_RAYCAST_INTERPOLATED
GeometryNodeStringToCurvesOverflowMode
@ GEO_NODE_STRING_TO_CURVES_MODE_TRUNCATE
@ GEO_NODE_STRING_TO_CURVES_MODE_SCALE_TO_FIT
@ GEO_NODE_STRING_TO_CURVES_MODE_OVERFLOW
CMPNodeLevelsChannel
@ CMP_NODE_LEVLES_LUMINANCE
@ CMP_NODE_LEVLES_GREEN
@ CMP_NODE_LEVLES_LUMINANCE_BT709
@ CMP_NODE_LEVLES_RED
@ CMP_NODE_LEVLES_BLUE
NodeGeometryTransformGizmoFlag
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_X
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_X
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_X
GeometryNodeCurveHandleType
@ GEO_NODE_CURVE_HANDLE_ALIGN
@ GEO_NODE_CURVE_HANDLE_AUTO
@ GEO_NODE_CURVE_HANDLE_FREE
@ GEO_NODE_CURVE_HANDLE_VECTOR
NodeBooleanMathOperation
@ NODE_BOOLEAN_MATH_IMPLY
@ NODE_BOOLEAN_MATH_AND
@ NODE_BOOLEAN_MATH_NAND
@ NODE_BOOLEAN_MATH_XOR
@ NODE_BOOLEAN_MATH_NOT
@ NODE_BOOLEAN_MATH_OR
@ NODE_BOOLEAN_MATH_NIMPLY
@ NODE_BOOLEAN_MATH_XNOR
@ NODE_BOOLEAN_MATH_NOR
GeometryNodeTransformSpace
@ GEO_NODE_TRANSFORM_SPACE_RELATIVE
@ GEO_NODE_TRANSFORM_SPACE_ORIGINAL
FloatToIntRoundingMode
@ FN_NODE_FLOAT_TO_INT_TRUNCATE
@ FN_NODE_FLOAT_TO_INT_CEIL
@ FN_NODE_FLOAT_TO_INT_ROUND
@ FN_NODE_FLOAT_TO_INT_FLOOR
CMPNodeRelativeToPixelReferenceDimension
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_DIAGONAL
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_PER_DIMENSION
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_Y
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_X
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_GREATER
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_SMALLER
GeometryNodeDeleteGeometryMode
@ GEO_NODE_DELETE_GEOMETRY_MODE_EDGE_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ONLY_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ALL
NodeIntegerMathOperation
@ NODE_INTEGER_MATH_SIGN
@ NODE_INTEGER_MATH_ABSOLUTE
@ NODE_INTEGER_MATH_MODULO
@ NODE_INTEGER_MATH_POWER
@ NODE_INTEGER_MATH_MINIMUM
@ NODE_INTEGER_MATH_ADD
@ NODE_INTEGER_MATH_MULTIPLY_ADD
@ NODE_INTEGER_MATH_SUBTRACT
@ NODE_INTEGER_MATH_MULTIPLY
@ NODE_INTEGER_MATH_DIVIDE_FLOOR
@ NODE_INTEGER_MATH_DIVIDE_CEIL
@ NODE_INTEGER_MATH_NEGATE
@ NODE_INTEGER_MATH_MAXIMUM
@ NODE_INTEGER_MATH_GCD
@ NODE_INTEGER_MATH_LCM
@ NODE_INTEGER_MATH_FLOORED_MODULO
@ NODE_INTEGER_MATH_DIVIDE_ROUND
@ NODE_INTEGER_MATH_DIVIDE
@ SHD_NOISE_SOFT
@ SHD_NOISE_HARD
GeometryNodeCurvePrimitiveBezierSegmentMode
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_POSITION
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_OFFSET
@ SHD_NOISE_HYBRID_MULTIFRACTAL
@ SHD_NOISE_FBM
@ SHD_NOISE_MULTIFRACTAL
@ SHD_NOISE_RIDGED_MULTIFRACTAL
@ SHD_NOISE_HETERO_TERRAIN
struct bNodeTreeRuntimeHandle bNodeTreeRuntimeHandle
@ SHD_WAVE_RINGS_DIRECTION_Z
@ SHD_WAVE_RINGS_DIRECTION_Y
@ SHD_WAVE_RINGS_DIRECTION_X
@ SHD_WAVE_RINGS_DIRECTION_SPHERICAL
struct bNodeTypeHandle bNodeTypeHandle
CMPNodeLensDistortionType
@ CMP_NODE_LENS_DISTORTION_RADIAL
@ CMP_NODE_LENS_DISTORTION_HORIZONTAL
@ SHD_TOON_GLOSSY
@ SHD_TOON_DIFFUSE
NodeCompareMode
@ NODE_COMPARE_MODE_ELEMENT
@ NODE_COMPARE_MODE_LENGTH
@ NODE_COMPARE_MODE_DOT_PRODUCT
@ NODE_COMPARE_MODE_AVERAGE
@ NODE_COMPARE_MODE_DIRECTION
@ SHD_MIXRGB_USE_ALPHA
@ SHD_MIXRGB_CLAMP
@ NODE_SCRIPT_INTERNAL
@ NODE_SCRIPT_EXTERNAL
GeometryNodeAttributeTransferMode
@ GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST_FACE_INTERPOLATED
@ GEO_NODE_ATTRIBUTE_TRANSFER_INDEX
@ GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST
eNodePanelFlag
@ NODE_PANEL_COLLAPSED
@ NODE_PANEL_PARENT_COLLAPSED
@ NODE_PANEL_CONTENT_VISIBLE
GeometryNodeCurvePrimitiveCircleMode
@ GEO_NODE_CURVE_PRIMITIVE_CIRCLE_TYPE_RADIUS
@ GEO_NODE_CURVE_PRIMITIVE_CIRCLE_TYPE_POINTS
struct RuntimeNodeEnumItemsHandle RuntimeNodeEnumItemsHandle
NodeCompareOperation
@ NODE_COMPARE_NOT_EQUAL
@ NODE_COMPARE_LESS_EQUAL
@ NODE_COMPARE_COLOR_BRIGHTER
@ NODE_COMPARE_EQUAL
@ NODE_COMPARE_GREATER_EQUAL
@ NODE_COMPARE_GREATER_THAN
@ NODE_COMPARE_COLOR_DARKER
@ NODE_COMPARE_LESS_THAN
CMPNodeGlareType
@ CMP_NODE_GLARE_STREAKS
@ CMP_NODE_GLARE_BLOOM
@ CMP_NODE_GLARE_GHOST
@ CMP_NODE_GLARE_SIMPLE_STAR
@ CMP_NODE_GLARE_FOG_GLOW
CMPNodeFilterMethod
@ CMP_NODE_FILTER_PREWITT
@ CMP_NODE_FILTER_SHARP_BOX
@ CMP_NODE_FILTER_KIRSCH
@ CMP_NODE_FILTER_LAPLACE
@ CMP_NODE_FILTER_SHARP_DIAMOND
@ CMP_NODE_FILTER_SOFT
@ CMP_NODE_FILTER_SOBEL
@ CMP_NODE_FILTER_SHADOW
CMPNodeDenoisePrefilter
@ CMP_NODE_DENOISE_PREFILTER_FAST
@ CMP_NODE_DENOISE_PREFILTER_NONE
@ CMP_NODE_DENOISE_PREFILTER_ACCURATE
GeometryNodeCurveFilletMode
@ GEO_NODE_CURVE_FILLET_BEZIER
@ GEO_NODE_CURVE_FILLET_POLY
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
Definition IK_Math.h:117
bool operator==(const AssetWeakReference &a, const AssetWeakReference &b)
unsigned long long int uint64_t
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
#define CMP_NODE_MASKTYPE_MULTIPLY
#define CMP_NODE_MASKTYPE_ADD
#define CMP_NODE_MASKTYPE_NOT
#define CMP_NODE_MASKTYPE_SUBTRACT
float distance(VecOp< float, D >, VecOp< float, D >) RET
#define mix(a, b, c)
Definition hash.h:35
#define jit
ccl_device_inline float2 power(const float2 v, const float e)
#define T
CCL_NAMESPACE_BEGIN ccl_device float fade(const float t)
Definition noise.h:18
#define hash
Definition noise_c.cc:154
bool operator!=(const SpreadsheetInstanceID &a, const SpreadsheetInstanceID &b)
float saturation DNA_DEPRECATED
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
Definition DNA_ID.h:404
float threshold DNA_DEPRECATED
float sigma_color DNA_DEPRECATED
float angle DNA_DEPRECATED
float x DNA_DEPRECATED
float t1 DNA_DEPRECATED
float slope[3] DNA_DEPRECATED
ColorCorrectionData master DNA_DEPRECATED
short unspill DNA_DEPRECATED
NodeCryptomatte_Runtime runtime
float center_x DNA_DEPRECATED
char hdr DNA_DEPRECATED
NodeEnumItem * items_array
NodeForeachGeometryElementGenerationItem * items
NodeForeachGeometryElementInputItem * items
NodeForeachGeometryElementMainItem * items
NodeFunctionFormatStringItem * items
NodeGeometryAttributeCaptureItem * capture_items
NodeGeometryBakeItem * items
NodeGeometryClosureInputItem * items
NodeGeometryClosureOutputItem * items
NodeGeometryClosureOutputItems output_items
NodeGeometryClosureInputItems input_items
NodeGeometryCombineBundleItem * items
NodeGeometryEvaluateClosureInputItem * items
NodeGeometryEvaluateClosureOutputItem * items
NodeGeometryEvaluateClosureInputItems input_items
NodeGeometryEvaluateClosureOutputItems output_items
NodeForeachGeometryElementInputItems input_items
NodeForeachGeometryElementMainItems main_items
NodeForeachGeometryElementGenerationItems generation_items
NodeGeometrySeparateBundleItem * items
char iter DNA_DEPRECATED
int frames DNA_DEPRECATED
struct ImageFormatData im_format
int pass_index DNA_DEPRECATED
short use_render_format DNA_DEPRECATED
ImageFormatData format
IndexSwitchItem * items
float screen_balance DNA_DEPRECATED
float smoothness DNA_DEPRECATED
short size DNA_DEPRECATED
short jit DNA_DEPRECATED
uint8_t interpolation_type
int size_x DNA_DEPRECATED
NodeEnumDefinition enum_definition
char type_idname[64]
float source[2] DNA_DEPRECATED
uint8_t input_type
TexMapping tex_mapping
ColorMapping color_mapping
NodeTexBase base
int color_space DNA_DEPRECATED
NodeTexBase base
NodeTexBase base
int color_space DNA_DEPRECATED
NodeTexBase base
NodeTexBase base DNA_DEPRECATED
NodeTexBase base
NodeTexBase base
float sun_direction[3]
int coloring DNA_DEPRECATED
NodeTexBase base
float key DNA_DEPRECATED
bNestedNodePath path
unsigned int value
struct Collection * value
const RuntimeNodeEnumItemsHandle * enum_items
IDProperty * prop
bNodeSocketRuntimeHandle * runtime
struct bNodeLink * link
char description[64]
char short_label[64]
int own_index DNA_DEPRECATED
bNodeSocketTypeHandle * typeinfo
char * default_attribute_name
struct bNodeSocket * next
struct bNodeSocket * prev
void * default_value
char identifier[64]
char idname[64]
float vec[4]
int chunksize DNA_DEPRECATED
float view_center[2]
bNodeTreeRuntimeHandle * runtime
char idname[64]
struct GeometryNodeAssetTraits * geometry_node_asset_traits
int nested_node_refs_num
struct PreviewImage * preview
bNestedNodeRef * nested_node_refs
struct bGPdata * gpd
int default_group_node_width
bNodeTreeTypeHandle * typeinfo
char * description
bNodeTreeInterface tree_interface
ListBase nodes
ListBase links
bNodeInstanceKey active_viewer_key
struct AnimData * adt
float location[2]
float offsety_legacy
bNodeTypeHandle * typeinfo
int16_t custom1
float width
IDProperty * prop
ListBase inputs
int8_t warning_propagation
int num_panel_states
float height
float locx_legacy
struct ID * id
float color[3]
struct bNode * parent
char name[64]
bNodePanelState * panel_states_array
float offsetx_legacy
int16_t type_legacy
struct bNode * prev
struct bNode * next
bNodeRuntimeHandle * runtime
float locy_legacy
float custom4
void * storage
char idname[64]
char _pad[7]
int16_t ui_order
char label[64]
ListBase outputs
int32_t identifier
float custom3
int16_t custom2
Defines a socket type.
Definition BKE_node.hh:152
Defines a node type.
Definition BKE_node.hh:226
uint8_t flag
Definition wm_window.cc:139