Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r--source/blender/makesdna/DNA_node_types.h77
1 files changed, 74 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 8b0bc235861..acbe9da45fd 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -394,7 +394,6 @@ typedef struct bNodeLink {
bNodeSocket *fromsock, *tosock;
int flag;
- /* A runtime storage for automatically sorted links to multi-input sockets. */
int multi_input_socket_index;
} bNodeLink;
@@ -403,6 +402,7 @@ typedef struct bNodeLink {
#define NODE_LINK_VALID (1 << 1)
#define NODE_LINK_TEST (1 << 2) /* free test flag, undefined */
#define NODE_LINK_TEMP_HIGHLIGHT (1 << 3) /* Link is highlighted for picking. */
+#define NODE_LINK_MUTED (1 << 4) /* Link is muted. */
/* tree->edit_quality/tree->render_quality */
#define NTREE_QUALITY_HIGH 0
@@ -1067,14 +1067,39 @@ typedef struct CryptomatteEntry {
char _pad[4];
} CryptomatteEntry;
-typedef struct NodeCryptomatte {
+typedef struct CryptomatteLayer {
+ struct CryptomatteEntry *next, *prev;
+ char name[64];
+} CryptomatteLayer;
+
+typedef struct NodeCryptomatte_Runtime {
+ /* Contains `CryptomatteLayer`. */
+ ListBase layers;
+ /* Temp storage for the cryptomatte picker. */
float add[3];
float remove[3];
- char *matte_id DNA_DEPRECATED;
+} NodeCryptomatte_Runtime;
+
+typedef struct NodeCryptomatte {
+ /* iuser needs to be first element due to RNA limitations.
+ * When we define the ImageData properties, we can't define them from
+ * storage->iuser, so storage needs to be casted to ImageUser directly. */
+ ImageUser iuser;
+
/* Contains `CryptomatteEntry`. */
ListBase entries;
+
+ /* MAX_NAME */
+ char layer_name[64];
+ /* Stores `entries` as a string for opening in 2.80-2.91. */
+ char *matte_id;
+
+ /** Legacy attributes */
+ /* Number of input sockets. */
int num_inputs;
+
char _pad[4];
+ NodeCryptomatte_Runtime runtime;
} NodeCryptomatte;
typedef struct NodeDenoise {
@@ -1226,6 +1251,36 @@ typedef struct NodeAttributeSeparateXYZ {
uint8_t input_type;
} NodeAttributeSeparateXYZ;
+typedef struct NodeAttributeConvert {
+ /* CustomDataType. */
+ uint8_t data_type;
+ char _pad[1];
+ /* AttributeDomain. */
+ int16_t domain;
+} NodeAttributeConvert;
+
+typedef struct NodeGeometryMeshCircle {
+ /* GeometryNodeMeshCircleFillType. */
+ uint8_t fill_type;
+} NodeGeometryMeshCircle;
+
+typedef struct NodeGeometryMeshCylinder {
+ /* GeometryNodeMeshCircleFillType. */
+ uint8_t fill_type;
+} NodeGeometryMeshCylinder;
+
+typedef struct NodeGeometryMeshCone {
+ /* GeometryNodeMeshCircleFillType. */
+ uint8_t fill_type;
+} NodeGeometryMeshCone;
+
+typedef struct NodeGeometryMeshLine {
+ /* GeometryNodeMeshLineMode. */
+ uint8_t mode;
+ /* GeometryNodeMeshLineCountMode. */
+ uint8_t count_mode;
+} NodeGeometryMeshLine;
+
/* script node mode */
#define NODE_SCRIPT_INTERNAL 0
#define NODE_SCRIPT_EXTERNAL 1
@@ -1702,6 +1757,22 @@ typedef enum GeometryNodePointsToVolumeResolutionMode {
GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_SIZE = 1,
} GeometryNodePointsToVolumeResolutionMode;
+typedef enum GeometryNodeMeshCircleFillType {
+ GEO_NODE_MESH_CIRCLE_FILL_NONE = 0,
+ GEO_NODE_MESH_CIRCLE_FILL_NGON = 1,
+ GEO_NODE_MESH_CIRCLE_FILL_TRIANGLE_FAN = 2,
+} GeometryNodeMeshCircleFillType;
+
+typedef enum GeometryNodeMeshLineMode {
+ GEO_NODE_MESH_LINE_MODE_END_POINTS = 0,
+ GEO_NODE_MESH_LINE_MODE_OFFSET = 1,
+} GeometryNodeMeshLineMode;
+
+typedef enum GeometryNodeMeshLineCountMode {
+ GEO_NODE_MESH_LINE_COUNT_TOTAL = 0,
+ GEO_NODE_MESH_LINE_COUNT_RESOLUTION = 1,
+} GeometryNodeMeshLineCountMode;
+
#ifdef __cplusplus
}
#endif