[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