[Bf-blender-cvs] [4a3720740dd] functions: use the socket name directly, instead of a getter function

Jacques Lucke noreply at git.blender.org
Fri Apr 5 12:29:22 CEST 2019


Commit: 4a3720740dd2f52dfd20bfa505b888576fd0a5af
Author: Jacques Lucke
Date:   Fri Apr 5 12:29:07 2019 +0200
Branches: functions
https://developer.blender.org/rB4a3720740dd2f52dfd20bfa505b888576fd0a5af

use the socket name directly, instead of a getter function

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

M	release/scripts/startup/function_nodes/base.py
M	release/scripts/startup/function_nodes/declaration/base.py
M	release/scripts/startup/function_nodes/declaration/pack_list.py
M	release/scripts/startup/function_nodes/declaration/variadic.py
M	release/scripts/startup/function_nodes/function_tree.py
M	source/blender/functions/frontends/data_flow_nodes/builder.cpp

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

diff --git a/release/scripts/startup/function_nodes/base.py b/release/scripts/startup/function_nodes/base.py
index 2b547584ab4..7e717db081b 100644
--- a/release/scripts/startup/function_nodes/base.py
+++ b/release/scripts/startup/function_nodes/base.py
@@ -193,10 +193,6 @@ class BaseSocket:
         else:
             return tuple(node.inputs).index(self)
 
-    def get_name(self, node):
-        decl, index = self.get_decl_with_index(node)
-        return decl.get_socket_name(self, index)
-
     def to_id(self, node):
         return (node, self.is_output, self.identifier)
 
diff --git a/release/scripts/startup/function_nodes/declaration/base.py b/release/scripts/startup/function_nodes/declaration/base.py
index 75b15f99903..310e5009164 100644
--- a/release/scripts/startup/function_nodes/declaration/base.py
+++ b/release/scripts/startup/function_nodes/declaration/base.py
@@ -20,9 +20,6 @@ class SocketDeclBase:
     def operator_socket_call(self, own_socket, other_socket):
         pass
 
-    def get_socket_name(self, socket, index):
-        return socket.name
-
     def _data_socket_test(self, socket, name, data_type, identifier):
         from .. base import DataSocket
         if not isinstance(socket, DataSocket):
diff --git a/release/scripts/startup/function_nodes/declaration/pack_list.py b/release/scripts/startup/function_nodes/declaration/pack_list.py
index fad91e2ea4b..8109d097e6b 100644
--- a/release/scripts/startup/function_nodes/declaration/pack_list.py
+++ b/release/scripts/startup/function_nodes/declaration/pack_list.py
@@ -104,9 +104,6 @@ class PackListDecl(SocketDeclBase):
     def get_collection(self):
         return getattr(self.node, self.prop_name)
 
-    def get_socket_name(self, socket, index):
-        return "Pack Input " + str(index)
-
     @classmethod
     def Property(cls):
         return CollectionProperty(type=PackListPropertyGroup)
diff --git a/release/scripts/startup/function_nodes/declaration/variadic.py b/release/scripts/startup/function_nodes/declaration/variadic.py
index 12ba8840f4d..fa8533c044a 100644
--- a/release/scripts/startup/function_nodes/declaration/variadic.py
+++ b/release/scripts/startup/function_nodes/declaration/variadic.py
@@ -21,7 +21,7 @@ class AnyVariadicDecl(SocketDeclBase):
             yield type_infos.build(
                 item.data_type,
                 node_sockets,
-                item.name,
+                item.display_name,
                 item.identifier_prefix + self.identifier_suffix)
         yield node_sockets.new("fn_OperatorSocket", "Operator")
 
@@ -34,7 +34,7 @@ class AnyVariadicDecl(SocketDeclBase):
 
         for item, socket in zip(self.get_collection(), sockets[:-1]):
             identifier = item.identifier_prefix + self.identifier_suffix
-            if not self._data_socket_test(socket, item.name, item.data_type, identifier):
+            if not self._data_socket_test(socket, item.display_name, item.data_type, identifier):
                 return False
 
         if not isinstance(sockets[-1], OperatorSocket):
@@ -71,7 +71,7 @@ class AnyVariadicDecl(SocketDeclBase):
 
         is_output = own_socket.is_output
 
-        item = self.add_item(connected_type, connected_socket.get_name(connected_node))
+        item = self.add_item(connected_type, connected_socket.name)
         self.node.rebuild()
 
         identifier = item.identifier_prefix + self.identifier_suffix
@@ -87,13 +87,6 @@ class AnyVariadicDecl(SocketDeclBase):
         self.node.refresh()
         return item
 
-    def get_socket_name(self, socket, index):
-        collection = self.get_collection()
-        if index < len(collection):
-            return collection[index].display_name
-        else:
-            return socket.name
-
     @classmethod
     def Property(cls):
         return CollectionProperty(type=DataTypeGroup)
diff --git a/release/scripts/startup/function_nodes/function_tree.py b/release/scripts/startup/function_nodes/function_tree.py
index 8dd655c1184..d4d3552e79d 100644
--- a/release/scripts/startup/function_nodes/function_tree.py
+++ b/release/scripts/startup/function_nodes/function_tree.py
@@ -22,7 +22,7 @@ class FunctionTree(bpy.types.NodeTree, BaseTree):
         for socket in node.outputs[:-1]:
             yield FunctionInput(
                 socket.data_type,
-                socket.get_name(node),
+                socket.name,
                 socket.identifier)
 
     def iter_function_outputs(self):
@@ -33,7 +33,7 @@ class FunctionTree(bpy.types.NodeTree, BaseTree):
         for socket in node.inputs[:-1]:
             yield FunctionOutput(
                 socket.data_type,
-                socket.get_name(node),
+                socket.name,
                 socket.identifier)
 
     def get_input_node(self):
diff --git a/source/blender/functions/frontends/data_flow_nodes/builder.cpp b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
index f9034f32169..86a2fc57c91 100644
--- a/source/blender/functions/frontends/data_flow_nodes/builder.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
@@ -25,14 +25,6 @@ static PyObject *get_py_bnode(bNodeTree *btree, bNode *bnode)
 		bnode, &ptr);
 	return pyrna_struct_CreatePyObject(&ptr);
 }
-static PyObject *get_py_bsocket(bNodeTree *btree, bNodeSocket *bsocket)
-{
-	PointerRNA ptr;
-	RNA_pointer_create(
-		&btree->id, &RNA_NodeSocket,
-		bsocket, &ptr);
-	return pyrna_struct_CreatePyObject(&ptr);
-}
 #endif
 
 namespace FN { namespace DataFlowNodes {
@@ -266,28 +258,8 @@ namespace FN { namespace DataFlowNodes {
 		return this->type_by_name(data_type.c_str());
 	}
 
-	std::string BuilderContext::name_of_socket(bNode *bnode, bNodeSocket *bsocket) const
+	std::string BuilderContext::name_of_socket(bNode *UNUSED(bnode), bNodeSocket *bsocket) const
 	{
-#ifdef WITH_PYTHON
-		PyGILState_STATE gilstate;
-		gilstate = PyGILState_Ensure();
-
-		PyObject *py_bnode = get_py_bnode(m_btree, bnode);
-		PyObject *py_bsocket = get_py_bsocket(m_btree, bsocket);
-		PyObject *ret = PyObject_CallMethod(py_bsocket, "get_name", "O", py_bnode);
-		if (ret == NULL || PyErr_Occurred()) {
-			PyErr_Print();
-			assert(false);
-		}
-
-		BLI_assert(PyUnicode_Check(ret));
-		const char *name_ = PyUnicode_AsUTF8(ret);
-		std::string name(name_);
-		Py_DECREF(ret);
-
-		PyGILState_Release(gilstate);
-		return name;
-#endif
 		return bsocket->name;
 	}



More information about the Bf-blender-cvs mailing list