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 ®istry)
{
- 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
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs