[Bf-blender-cvs] [dcd90fae85a] functions: start implementing float list in frontend

Jacques Lucke noreply at git.blender.org
Sun Mar 10 16:28:43 CET 2019


Commit: dcd90fae85aec6c3853d61c1112338989bac9945
Author: Jacques Lucke
Date:   Sun Mar 10 15:03:53 2019 +0100
Branches: functions
https://developer.blender.org/rBdcd90fae85aec6c3853d61c1112338989bac9945

start implementing float list in frontend

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

M	source/blender/functions/frontends/data_flow_nodes/builder.cpp
M	source/blender/functions/frontends/data_flow_nodes/test_sockets.cpp

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

diff --git a/source/blender/functions/frontends/data_flow_nodes/builder.cpp b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
index c48b0fface7..2f0e68a786a 100644
--- a/source/blender/functions/frontends/data_flow_nodes/builder.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
@@ -72,6 +72,9 @@ namespace FN { namespace DataFlowNodes {
 		else if (STREQ(bsocket->idname, "fn_VectorSocket")) {
 			return Types::get_fvec3_type();
 		}
+		else if (STREQ(bsocket->idname, "fn_FloatListSocket")) {
+			return Types::get_float_list_type();
+		}
 		else {
 			BLI_assert(false);
 			return *(SharedType *)nullptr;
diff --git a/source/blender/functions/frontends/data_flow_nodes/test_sockets.cpp b/source/blender/functions/frontends/data_flow_nodes/test_sockets.cpp
index 3bc6569abe6..02b91a1ab6b 100644
--- a/source/blender/functions/frontends/data_flow_nodes/test_sockets.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/test_sockets.cpp
@@ -20,10 +20,24 @@ namespace FN { namespace DataFlowNodes {
 		tuple.set<Types::Vector>(index, Types::Vector(vector));
 	}
 
+	static void load_integer(PointerRNA *ptr, Tuple &tuple, uint index)
+	{
+		int value = RNA_int_get(ptr, "value");
+		tuple.set<int32_t>(index, value);
+	}
+
+	static void load_float_list(PointerRNA *UNUSED(ptr), Tuple &tuple, uint index)
+	{
+		auto list = Types::SharedFloatList::New();
+		tuple.move_in(index, list);
+	}
+
 	void initialize_socket_inserters(GraphInserters &inserters)
 	{
 		inserters.reg_socket_loader("fn_FloatSocket", load_float);
 		inserters.reg_socket_loader("fn_VectorSocket", load_vector);
+		inserters.reg_socket_loader("fn_IntegerSocket", load_integer);
+		inserters.reg_socket_loader("fn_FloatListSocket", load_float_list);
 	}
 
 } }
\ No newline at end of file



More information about the Bf-blender-cvs mailing list