[Bf-blender-cvs] [b91b06b76ef] builtin-simulation-nodes: add a couple more node uis

Jacques Lucke noreply at git.blender.org
Mon Mar 30 13:39:04 CEST 2020


Commit: b91b06b76ef8dfba970474a9c10f0686d5d0a50a
Author: Jacques Lucke
Date:   Mon Mar 30 13:37:37 2020 +0200
Branches: builtin-simulation-nodes
https://developer.blender.org/rBb91b06b76ef8dfba970474a9c10f0686d5d0a50a

add a couple more node uis

===================================================================

M	release/scripts/startup/nodeitems_builtins.py
M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/intern/node.c
M	source/blender/nodes/CMakeLists.txt
M	source/blender/nodes/NOD_function.h
M	source/blender/nodes/NOD_static_types.h
A	source/blender/nodes/function/nodes/node_fn_instance_identifier.cc
A	source/blender/nodes/function/nodes/node_fn_object_transforms.cc
A	source/blender/nodes/function/nodes/node_fn_string_concatenation.cc

===================================================================

diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 29ee1d8322f..ca624cd3e87 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -527,6 +527,9 @@ simulation_node_categories = [
         NodeItem("FunctionNodeVectorMath"),
         NodeItem("FunctionNodeBooleanMath"),
         NodeItem("FunctionNodeFloatCompare"),
+        NodeItem("FunctionNodeInstanceIdentifier"),
+        NodeItem("FunctionNodeStringConcatenation"),
+        NodeItem("FunctionNodeObjectTransforms"),
     ]),
     FunctionNodeCategory("SURFACE", "Surface", items=[
         NodeItem("FunctionNodeClosestSurface"),
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 62605b7abc9..b24ce862d69 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1028,6 +1028,9 @@ void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree,
 #define FN_NODE_CLOSEST_SURFACE 1112
 #define FN_NODE_BOOLEAN_MATH 1113
 #define FN_NODE_FLOAT_COMPARE 1114
+#define FN_NODE_INSTANCE_IDENTIFIER 1115
+#define FN_NODE_STRING_CONCATENATION 1116
+#define FN_NODE_OBJECT_TRANSFORMS 1117
 
 /* custom defines options for Material node */
 // #define SH_NODE_MAT_DIFF 1
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 715b3c0493d..1a853cfa0b1 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -4240,6 +4240,9 @@ static void registerFunctionNodes(void)
   register_node_type_fn_surface_weight();
   register_node_type_fn_boolean_math();
   register_node_type_fn_float_compare();
+  register_node_type_fn_instance_identifier();
+  register_node_type_fn_string_concatenation();
+  register_node_type_fn_object_transforms();
 }
 
 void init_nodesystem(void)
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index e9613fd93cc..3501ba2563e 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -140,6 +140,9 @@ set(SRC
   function/nodes/node_fn_separate_rgb.cc
   function/nodes/node_fn_separate_xyz.cc
   function/nodes/node_fn_surface_color.cc
+  function/nodes/node_fn_instance_identifier.cc
+  function/nodes/node_fn_string_concatenation.cc
+  function/nodes/node_fn_object_transforms.cc
   function/nodes/node_fn_surface_normal.cc
   function/nodes/node_fn_surface_position.cc
   function/nodes/node_fn_surface_weight.cc
diff --git a/source/blender/nodes/NOD_function.h b/source/blender/nodes/NOD_function.h
index d29c9f73612..ea2226eb10a 100644
--- a/source/blender/nodes/NOD_function.h
+++ b/source/blender/nodes/NOD_function.h
@@ -20,6 +20,9 @@ void register_node_type_fn_surface_position(void);
 void register_node_type_fn_surface_weight(void);
 void register_node_type_fn_boolean_math(void);
 void register_node_type_fn_float_compare(void);
+void register_node_type_fn_instance_identifier(void);
+void register_node_type_fn_string_concatenation(void);
+void register_node_type_fn_object_transforms(void);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h
index 8052b1ee12d..ccb0cf7dc08 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -286,6 +286,9 @@ DefNode(FunctionNode, FN_NODE_SURFACE_POSITION, 0, "SURFACE_POSITION", SurfacePo
 DefNode(FunctionNode, FN_NODE_SURFACE_WEIGHT, 0, "SURFACE_WEIGHT", SurfaceWeight, "Surface Weight", "")
 DefNode(FunctionNode, FN_NODE_BOOLEAN_MATH, def_boolean_math, "BOOLEAN_MATH", BooleanMath, "Boolean Math", "");
 DefNode(FunctionNode, FN_NODE_FLOAT_COMPARE, def_float_compare, "FLOAT_COMPARE", FloatCompare, "Float Compare", "");
+DefNode(FunctionNode, FN_NODE_INSTANCE_IDENTIFIER, 0, "INSTANCE_IDENTIFIER", InstanceIdentifier, "Instance Identifier", "");
+DefNode(FunctionNode, FN_NODE_STRING_CONCATENATION, 0, "STRING_CONCATENATION", StringConcatenation, "String Concatenation", "");
+DefNode(FunctionNode, FN_NODE_OBJECT_TRANSFORMS, 0, "OBJECT_TRANSFORMS", ObjectTransforms, "Object Transforms", "");
 
 /* undefine macros */
 #undef DefNode
diff --git a/source/blender/nodes/function/nodes/node_fn_instance_identifier.cc b/source/blender/nodes/function/nodes/node_fn_instance_identifier.cc
new file mode 100644
index 00000000000..07ce92a748b
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_instance_identifier.cc
@@ -0,0 +1,15 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_instance_identifier_out[] = {
+    {SOCK_STRING, N_("Identifier")},
+    {-1, ""},
+};
+
+void register_node_type_fn_instance_identifier()
+{
+  static bNodeType ntype;
+
+  fn_node_type_base(&ntype, FN_NODE_INSTANCE_IDENTIFIER, "Instance Identifier", 0, 0);
+  node_type_socket_templates(&ntype, nullptr, fn_node_instance_identifier_out);
+  nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_object_transforms.cc b/source/blender/nodes/function/nodes/node_fn_object_transforms.cc
new file mode 100644
index 00000000000..14dc636f9e8
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_object_transforms.cc
@@ -0,0 +1,20 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_object_transforms_in[] = {
+    {SOCK_OBJECT, N_("Object")},
+    {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_object_transforms_out[] = {
+    {SOCK_VECTOR, N_("Location")},
+    {-1, ""},
+};
+
+void register_node_type_fn_object_transforms()
+{
+  static bNodeType ntype;
+
+  fn_node_type_base(&ntype, FN_NODE_OBJECT_TRANSFORMS, "Object Transforms", 0, 0);
+  node_type_socket_templates(&ntype, fn_node_object_transforms_in, fn_node_object_transforms_out);
+  nodeRegisterType(&ntype);
+}
diff --git a/source/blender/nodes/function/nodes/node_fn_string_concatenation.cc b/source/blender/nodes/function/nodes/node_fn_string_concatenation.cc
new file mode 100644
index 00000000000..9325e897b59
--- /dev/null
+++ b/source/blender/nodes/function/nodes/node_fn_string_concatenation.cc
@@ -0,0 +1,22 @@
+#include "node_fn_util.h"
+
+static bNodeSocketTemplate fn_node_string_concatenation_in[] = {
+    {SOCK_STRING, N_("A")},
+    {SOCK_STRING, N_("B")},
+    {-1, ""},
+};
+
+static bNodeSocketTemplate fn_node_string_concatenation_out[] = {
+    {SOCK_STRING, N_("Result")},
+    {-1, ""},
+};
+
+void register_node_type_fn_string_concatenation()
+{
+  static bNodeType ntype;
+
+  fn_node_type_base(&ntype, FN_NODE_STRING_CONCATENATION, "String Concatenation", 0, 0);
+  node_type_socket_templates(
+      &ntype, fn_node_string_concatenation_in, fn_node_string_concatenation_out);
+  nodeRegisterType(&ntype);
+}



More information about the Bf-blender-cvs mailing list