[Bf-blender-cvs] [3d2314fa49f] 2d: Initial Commit
Johnny Matthews
noreply at git.blender.org
Wed Feb 2 19:04:56 CET 2022
Commit: 3d2314fa49f131b5b8e185ca37cd27385d9071ce
Author: Johnny Matthews
Date: Tue Feb 1 14:20:23 2022 -0600
Branches: 2d
https://developer.blender.org/rB3d2314fa49f131b5b8e185ca37cd27385d9071ce
Initial Commit
===================================================================
M source/blender/blenkernel/intern/node.cc
M source/blender/editors/space_node/drawnode.cc
M source/blender/editors/space_node/node_relationships.cc
M source/blender/makesdna/DNA_node_types.h
M source/blender/makesrna/intern/rna_nodetree.c
M source/blender/nodes/NOD_socket_declarations.hh
M source/blender/nodes/geometry/nodes/node_geo_switch.cc
M source/blender/nodes/intern/node_socket.cc
M source/blender/nodes/intern/node_socket_declarations.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 40d0c24c9af..4de07a20bdf 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -322,6 +322,7 @@ static void library_foreach_node_socket(LibraryForeachIDData *data, bNodeSocket
}
case SOCK_FLOAT:
case SOCK_VECTOR:
+ case SOCK_VECTOR2D:
case SOCK_RGBA:
case SOCK_BOOLEAN:
case SOCK_INT:
@@ -457,6 +458,9 @@ static void write_node_socket_default_value(BlendWriter *writer, bNodeSocket *so
case SOCK_VECTOR:
BLO_write_struct(writer, bNodeSocketValueVector, sock->default_value);
break;
+ case SOCK_VECTOR2D:
+ BLO_write_struct(writer, bNodeSocketValueVector2d, sock->default_value);
+ break;
case SOCK_RGBA:
BLO_write_struct(writer, bNodeSocketValueRGBA, sock->default_value);
break;
@@ -881,6 +885,7 @@ static void lib_link_node_socket(BlendLibReader *reader, Library *lib, bNodeSock
}
case SOCK_FLOAT:
case SOCK_VECTOR:
+ case SOCK_VECTOR2D:
case SOCK_RGBA:
case SOCK_BOOLEAN:
case SOCK_INT:
@@ -976,6 +981,7 @@ static void expand_node_socket(BlendExpander *expander, bNodeSocket *sock)
}
case SOCK_FLOAT:
case SOCK_VECTOR:
+ case SOCK_VECTOR2D:
case SOCK_RGBA:
case SOCK_BOOLEAN:
case SOCK_INT:
@@ -1578,6 +1584,7 @@ static void socket_id_user_increment(bNodeSocket *sock)
}
case SOCK_FLOAT:
case SOCK_VECTOR:
+ case SOCK_VECTOR2D:
case SOCK_RGBA:
case SOCK_BOOLEAN:
case SOCK_INT:
@@ -1631,6 +1638,7 @@ static void socket_id_user_decrement(bNodeSocket *sock)
}
case SOCK_FLOAT:
case SOCK_VECTOR:
+ case SOCK_VECTOR2D:
case SOCK_RGBA:
case SOCK_BOOLEAN:
case SOCK_INT:
@@ -1764,6 +1772,24 @@ const char *nodeStaticSocketType(int type, int subtype)
default:
return "NodeSocketVector";
}
+ case SOCK_VECTOR2D:
+ switch (subtype) {
+ // case PROP_TRANSLATION:
+ // return "NodeSocketVectorTranslation";
+ // case PROP_DIRECTION:
+ // return "NodeSocketVectorDirection";
+ // case PROP_VELOCITY:
+ // return "NodeSocketVectorVelocity";
+ // case PROP_ACCELERATION:
+ // return "NodeSocketVectorAcceleration";
+ // case PROP_EULER:
+ // return "NodeSocketVectorEuler";
+ // case PROP_XYZ:
+ // return "NodeSocketVectorXYZ";
+ // case PROP_NONE:
+ default:
+ return "NodeSocketVector2d";
+ }
case SOCK_RGBA:
return "NodeSocketColor";
case SOCK_STRING:
@@ -1841,6 +1867,8 @@ const char *nodeStaticSocketInterfaceType(int type, int subtype)
default:
return "NodeSocketInterfaceVector";
}
+ case SOCK_VECTOR2D:
+ return "NodeSocketInterfaceVector2d";
case SOCK_RGBA:
return "NodeSocketInterfaceColor";
case SOCK_STRING:
@@ -1874,6 +1902,8 @@ const char *nodeStaticSocketLabel(int type, int UNUSED(subtype))
return "Boolean";
case SOCK_VECTOR:
return "Vector";
+ case SOCK_VECTOR2D:
+ return "Vector2d";
case SOCK_RGBA:
return "Color";
case SOCK_STRING:
diff --git a/source/blender/editors/space_node/drawnode.cc b/source/blender/editors/space_node/drawnode.cc
index 94da7d55e5d..5dd285a6099 100644
--- a/source/blender/editors/space_node/drawnode.cc
+++ b/source/blender/editors/space_node/drawnode.cc
@@ -1166,6 +1166,7 @@ static const float std_node_socket_colors[][4] = {
{0.96, 0.96, 0.96, 1.0}, /* SOCK_COLLECTION */
{0.62, 0.31, 0.64, 1.0}, /* SOCK_TEXTURE */
{0.92, 0.46, 0.51, 1.0}, /* SOCK_MATERIAL */
+ {0.49, 0.49, 0.88, 1.0}, /* SOCK_VECTOR2D */
};
/* common color callbacks for standard types */
@@ -1288,6 +1289,20 @@ static void std_node_socket_draw(
}
}
break;
+ case SOCK_VECTOR2D:
+ if (sock->flag & SOCK_COMPACT) {
+ uiTemplateComponentMenu(layout, ptr, "default_value", text);
+ }
+ else {
+ if (sock->typeinfo->subtype == PROP_DIRECTION) {
+ uiItemR(layout, ptr, "default_value", DEFAULT_FLAGS, "", ICON_NONE);
+ }
+ else {
+ uiLayout *column = uiLayoutColumn(layout, true);
+ uiItemR(column, ptr, "default_value", DEFAULT_FLAGS, text, ICON_NONE);
+ }
+ }
+ break;
case SOCK_RGBA: {
if (text[0] == '\0') {
uiItemR(layout, ptr, "default_value", DEFAULT_FLAGS, "", 0);
diff --git a/source/blender/editors/space_node/node_relationships.cc b/source/blender/editors/space_node/node_relationships.cc
index fd9420b173d..740d872bfc5 100644
--- a/source/blender/editors/space_node/node_relationships.cc
+++ b/source/blender/editors/space_node/node_relationships.cc
@@ -2043,6 +2043,7 @@ static int get_main_socket_priority(const bNodeSocket *socket)
case SOCK_COLLECTION:
case SOCK_TEXTURE:
case SOCK_MATERIAL:
+ case SOCK_VECTOR2D:
return 6;
}
return -1;
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 2bfd2e71eb7..7b65db18c5a 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -205,6 +205,7 @@ typedef enum eNodeSocketDatatype {
SOCK_COLLECTION = 11,
SOCK_TEXTURE = 12,
SOCK_MATERIAL = 13,
+ SOCK_VECTOR2D = 14,
} eNodeSocketDatatype;
/** Socket shape. */
@@ -415,7 +416,7 @@ typedef struct bNode {
#define __NODE_ACTIVE_PREVIEW (1 << 18) /* deprecated */
/* node->update */
-#define NODE_UPDATE_ID 1 /* associated id data block has changed */
+#define NODE_UPDATE_ID 1 /* associated id data block has changed */
#define NODE_UPDATE_OPERATOR 2 /* node update triggered from update operator */
/* Unique hash key for identifying node instances
@@ -461,10 +462,10 @@ typedef struct bNodeLink {
/* link->flag */
#define NODE_LINKFLAG_HILITE (1 << 0) /* link has been successfully validated */
#define NODE_LINK_VALID (1 << 1)
-#define NODE_LINK_TEST (1 << 2) /* free test flag, undefined */
+#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. */
-#define NODE_LINK_DRAGGED (1 << 5) /* Node link is being dragged by the user. */
+#define NODE_LINK_MUTED (1 << 4) /* Link is muted. */
+#define NODE_LINK_DRAGGED (1 << 5) /* Node link is being dragged by the user. */
/* tree->edit_quality/tree->render_quality */
#define NTREE_QUALITY_HIGH 0
@@ -593,7 +594,7 @@ typedef struct bNodeTree {
/** #NodeTree.type, index */
#define NTREE_UNDEFINED -2 /* Represents #NodeTreeTypeUndefined type. */
-#define NTREE_CUSTOM -1 /* for dynamically registered custom types */
+#define NTREE_CUSTOM -1 /* for dynamically registered custom types */
#define NTREE_SHADER 0
#define NTREE_COMPOSIT 1
#define NTREE_TEXTURE 2
@@ -603,11 +604,11 @@ typedef struct bNodeTree {
#define NTREE_TYPE_INIT 1
/** #NodeTree.flag */
-#define NTREE_DS_EXPAND (1 << 0) /* for animation editors */
-#define NTREE_COM_OPENCL (1 << 1) /* use opencl */
-#define NTREE_TWO_PASS (1 << 2) /* two pass */
+#define NTREE_DS_EXPAND (1 << 0) /* for animation editors */
+#define NTREE_COM_OPENCL (1 << 1) /* use opencl */
+#define NTREE_TWO_PASS (1 << 2) /* two pass */
#define NTREE_COM_GROUPNODE_BUFFER (1 << 3) /* use groupnode buffers */
-#define NTREE_VIEWER_BORDER (1 << 4) /* use a border for viewer nodes */
+#define NTREE_VIEWER_BORDER (1 << 4) /* use a border for viewer nodes */
/* NOTE: DEPRECATED, use (id->tag & LIB_TAG_LOCALIZED) instead. */
/* tree is localized copy, free when deleting node groups */
@@ -648,6 +649,13 @@ typedef struct bNodeSocketValueVector {
float min, max;
} bNodeSocketValueVector;
+typedef struct bNodeSocketValueVector2d {
+ /** RNA subtype. */
+ int subtype;
+ float value[2];
+ float min, max;
+} bNodeSocketValueVector2d;
+
typedef struct bNodeSocketValueRGBA {
float value[4];
} bNodeSocketValueRGBA;
@@ -1343,6 +1351,10 @@ typedef struct NodeInputVector {
float vector[3];
} NodeInputVector;
+typedef struct NodeInputVector2d {
+ float vector[2];
+} NodeInputVector2d;
+
typedef struct NodeInputColor {
float color[4];
} NodeInputColor;
@@ -1665,7 +1677,7 @@ typedef struct NodeFunctionCompare {
/* Frame node flags. */
-#define NODE_FRAME_SHRINK 1 /* keep the bounding box minimal */
+#define NODE_FRAME_SHRINK 1 /* keep the bounding box minimal */
#define NODE_FRAME_RESIZEABLE 2 /* test flag, if frame can be resized by user */
/* Proxy node flags. */
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 38a447a9657..27a3d5eb483 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -73,6 +73,7 @@ static const EnumPropertyItem node_socket_data_type_items[] = {
{SOCK_INT, "INT", 0, "Integer", ""},
{SOCK_BOOLEAN, "BOOLEAN", 0, "Boolean", ""},
{SOCK_VECTOR, "VECTOR", 0, "Vector", ""},
+ {SOCK_VECTOR2D, "VECTOR2D", 0, "Vector2d", ""},
{SOCK_STRING, "STRING", 0, "String", ""},
{SOCK_RGBA, "RGBA", 0, "Color", ""},
{SOCK_OBJECT, "OBJECT", 0, "Object", ""},
@@ -100,6 +101,7 @@ static const EnumPropertyItem node_socket_type_items[] = {
{SOCK_INT, "INT", 0, "Integer", ""},
{SOCK_BOOLEAN, "BOOLEAN", 0, "Boolean", ""},
{SOCK_VECTOR, "VECTOR", 0, "Vector", ""},
+ {SOCK_VECTOR2D, "VECTOR2D", 0, "Vector2d", ""},
{SOCK_STRING, "STRING", 0, "String", ""},
{SOCK_RGBA, "RGBA", 0, "RGBA", ""},
{SOCK_SHADER, "SHADER", 0, "Shader", ""},
@@ -2099,6 +2101,7 @@ static bool switch_type_supported(const EnumPropertyItem *item)
SOCK_INT,
SOCK_BOOLEAN,
SOCK_VECTOR,
+ SOCK_VECTOR2D,
SOCK_STRING,
SOCK_RGBA,
SOCK_GEOMETRY,
@@ -12120,6 +12123,69 @@ static void rna_def_node_socket_vector(BlenderRNA *brn
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list