[Bf-blender-cvs] [56e541dba6f] functions: identify types with idname

Jacques Lucke noreply at git.blender.org
Wed Jul 31 18:45:24 CEST 2019


Commit: 56e541dba6f2a1f8930c2fd384bd8ef4b471f6d3
Author: Jacques Lucke
Date:   Wed Jul 31 18:35:24 2019 +0200
Branches: functions
https://developer.blender.org/rB56e541dba6f2a1f8930c2fd384bd8ef4b471f6d3

identify types with idname

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

M	source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
M	source/blender/functions/frontends/data_flow_nodes/inserters/conversions.cpp

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

diff --git a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
index e049703fecd..c55db506f7e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
@@ -75,9 +75,7 @@ static bool insert_links(VTreeDataGraphBuilder &builder)
       continue;
     }
 
-    StringRef from_data_type = builder.query_socket_data_type(from_vsocket);
-    StringRef to_data_type = builder.query_socket_data_type(to_vsocket);
-    StringPair key(from_data_type.to_std_string(), to_data_type.to_std_string());
+    StringPair key(from_vsocket->idname(), to_vsocket->idname());
     ConversionInserter *inserter = map.lookup_ptr(key);
     if (inserter != nullptr) {
       (*inserter)(builder, from_socket, to_socket);
diff --git a/source/blender/functions/frontends/data_flow_nodes/inserters/conversions.cpp b/source/blender/functions/frontends/data_flow_nodes/inserters/conversions.cpp
index 8464bd89b43..d1ae41a296a 100644
--- a/source/blender/functions/frontends/data_flow_nodes/inserters/conversions.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/inserters/conversions.cpp
@@ -16,26 +16,32 @@ static void INSERT_base_to_list(VTreeDataGraphBuilder &builder, DFGB_Socket from
 
 void register_conversion_inserters(ConversionInserterRegistry &registry)
 {
-  registry.function("Boolean", "Integer", Functions::GET_FN_bool_to_int32);
-  registry.function("Boolean", "Float", Functions::GET_FN_bool_to_float);
-  registry.function("Integer", "Boolean", Functions::GET_FN_int32_to_bool);
-  registry.function("Integer", "Float", Functions::GET_FN_int32_to_float);
-  registry.function("Float", "Boolean", Functions::GET_FN_float_to_bool);
-  registry.function("Float", "Integer", Functions::GET_FN_float_to_int32);
+  registry.function("fn_BooleanSocket", "fn_IntegerSocket", Functions::GET_FN_bool_to_int32);
+  registry.function("fn_BooleanSocket", "fn_FloatSocket", Functions::GET_FN_bool_to_float);
+  registry.function("fn_IntegerSocket", "fn_BooleanSocket", Functions::GET_FN_int32_to_bool);
+  registry.function("fn_IntegerSocket", "fn_FloatSocket", Functions::GET_FN_int32_to_float);
+  registry.function("fn_FloatSocket", "fn_BooleanSocket", Functions::GET_FN_float_to_bool);
+  registry.function("fn_FloatSocket", "fn_IntegerSocket", Functions::GET_FN_float_to_int32);
 
-  registry.function("Boolean List", "Integer List", Functions::GET_FN_bool_list_to_int32_list);
-  registry.function("Boolean List", "Float List", Functions::GET_FN_bool_list_to_float_list);
-  registry.function("Integer List", "Boolean List", Functions::GET_FN_int32_list_to_bool_list);
-  registry.function("Integer List", "Float List", Functions::GET_FN_int32_list_to_float_list);
-  registry.function("Float List", "Boolean List", Functions::GET_FN_float_list_to_bool_list);
-  registry.function("Float List", "Integer List", Functions::GET_FN_float_list_to_int32_list);
+  registry.function(
+      "fn_BooleanListSocket", "fn_IntegerListSocket", Functions::GET_FN_bool_list_to_int32_list);
+  registry.function(
+      "fn_BooleanListSocket", "fn_FloatListSocket", Functions::GET_FN_bool_list_to_float_list);
+  registry.function(
+      "fn_IntegerListSocket", "fn_BooleanListSocket", Functions::GET_FN_int32_list_to_bool_list);
+  registry.function(
+      "fn_IntegerListSocket", "fn_FloatListSocket", Functions::GET_FN_int32_list_to_float_list);
+  registry.function(
+      "fn_FloatListSocket", "fn_BooleanListSocket", Functions::GET_FN_float_list_to_bool_list);
+  registry.function(
+      "fn_FloatListSocket", "fn_IntegerListSocket", Functions::GET_FN_float_list_to_int32_list);
 
-  registry.inserter("Float", "Float List", INSERT_base_to_list);
-  registry.inserter("Vector", "Vector List", INSERT_base_to_list);
-  registry.inserter("Integer", "Integer List", INSERT_base_to_list);
-  registry.inserter("Boolean", "Boolean List", INSERT_base_to_list);
-  registry.inserter("Object", "Object List", INSERT_base_to_list);
-  registry.inserter("Color", "Color List", INSERT_base_to_list);
+  registry.inserter("fn_FloatSocket", "fn_FloatListSocket", INSERT_base_to_list);
+  registry.inserter("fn_VectorSocket", "fn_VectorListSocket", INSERT_base_to_list);
+  registry.inserter("fn_IntegerSocket", "fn_IntegerListSocket", INSERT_base_to_list);
+  registry.inserter("fn_BooleanSocket", "fn_BooleanListSocket", INSERT_base_to_list);
+  registry.inserter("fn_ObjectSocket", "fn_ObjectListSocket", INSERT_base_to_list);
+  registry.inserter("fn_ColorSocket", "fn_ColorListSocket", INSERT_base_to_list);
 }
 
 }  // namespace DataFlowNodes



More information about the Bf-blender-cvs mailing list