[Bf-blender-cvs] [2e5ab9640ee] functions: vectorize Map Range node
Jacques Lucke
noreply at git.blender.org
Sun Feb 2 14:27:11 CET 2020
Commit: 2e5ab9640ee866a7ef95e1378a3f6890710fb20e
Author: Jacques Lucke
Date: Sun Feb 2 12:26:11 2020 +0100
Branches: functions
https://developer.blender.org/rB2e5ab9640ee866a7ef95e1378a3f6890710fb20e
vectorize Map Range node
===================================================================
M release/scripts/startup/nodes/function_nodes/math.py
M source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
===================================================================
diff --git a/release/scripts/startup/nodes/function_nodes/math.py b/release/scripts/startup/nodes/function_nodes/math.py
index 0ee40706542..b09cadbf403 100644
--- a/release/scripts/startup/nodes/function_nodes/math.py
+++ b/release/scripts/startup/nodes/function_nodes/math.py
@@ -98,13 +98,21 @@ class MapRangeNode(bpy.types.Node, FunctionNode):
default=True,
)
+ use_list__value: NodeBuilder.VectorizedProperty()
+ use_list__from_min: NodeBuilder.VectorizedProperty()
+ use_list__from_max: NodeBuilder.VectorizedProperty()
+ use_list__to_min: NodeBuilder.VectorizedProperty()
+ use_list__to_max: NodeBuilder.VectorizedProperty()
+
def declaration(self, builder: NodeBuilder):
- builder.fixed_input("value", "Value", "Float")
- builder.fixed_input("from_min", "From Min", "Float", default=0)
- builder.fixed_input("from_max", "From Max", "Float", default=1)
- builder.fixed_input("to_min", "To Min", "Float", default=0)
- builder.fixed_input("to_max", "To Max", "Float", default=1)
- builder.fixed_output("value", "Value", "Float")
+ builder.vectorized_input("value", "use_list__value", "Value", "Values", "Float")
+ builder.vectorized_input("from_min", "use_list__from_min", "From Min", "From Min", "Float")
+ builder.vectorized_input("from_max", "use_list__from_max", "From Max", "From Max", "Float")
+ builder.vectorized_input("to_min", "use_list__to_min", "To Min", "To Min", "Float")
+ builder.vectorized_input("to_max", "use_list__to_max", "To Max", "To Max", "Float")
+ builder.vectorized_output("value", [
+ "use_list__value", "use_list__from_min", "use_list__from_max",
+ "use_list__to_min", "use_list__to_max"], "Value", "Values", "Float")
def draw(self, layout):
layout.prop(self, "clamp")
diff --git a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
index 2595b04097a..9aad67e94a8 100644
--- a/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
+++ b/source/blender/functions/intern/node_tree_multi_function_network/mappings_nodes.cc
@@ -446,7 +446,12 @@ static void INSERT_clamp_float(FNodeMFBuilder &builder)
static void INSERT_map_range(FNodeMFBuilder &builder)
{
bool clamp = RNA_boolean_get(builder.rna(), "clamp");
- builder.set_constructed_matching_fn<MF_MapRange>(clamp);
+ builder.set_vectorized_constructed_matching_fn<MF_MapRange>({"use_list__value",
+ "use_list__from_min",
+ "use_list__from_max",
+ "use_list__to_min",
+ "use_list__to_max"},
+ clamp);
}
static void INSERT_random_float(FNodeMFBuilder &builder)
More information about the Bf-blender-cvs
mailing list