[Bf-blender-cvs] [81573c53b66] functions: replace compare node

Jacques Lucke noreply at git.blender.org
Sun Dec 22 14:25:33 CET 2019


Commit: 81573c53b662e4ec605a834d830afd2d23702e9e
Author: Jacques Lucke
Date:   Fri Dec 20 16:43:04 2019 +0100
Branches: functions
https://developer.blender.org/rB81573c53b662e4ec605a834d830afd2d23702e9e

replace compare node

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

D	release/scripts/startup/nodes/function_nodes/compare.py
M	release/scripts/startup/nodes/function_nodes/math.py
M	release/scripts/startup/nodes/menu.py
M	source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc

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

diff --git a/release/scripts/startup/nodes/function_nodes/compare.py b/release/scripts/startup/nodes/function_nodes/compare.py
deleted file mode 100644
index d368d800364..00000000000
--- a/release/scripts/startup/nodes/function_nodes/compare.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import bpy
-from bpy.props import *
-from .. base import FunctionNode
-from .. node_builder import NodeBuilder
-
-operation_items = [
-    ("LESS_THAN", "Less Than", "A < B", "", 1),
-]
-
-class CompareNode(bpy.types.Node, FunctionNode):
-    bl_idname = "fn_CompareNode"
-    bl_label = "Compare"
-
-    search_terms = (
-        ("Less Than", {"operation" : "LESS_THAN"}),
-    )
-
-    operation: EnumProperty(
-        name="Operation",
-        items=operation_items,
-        update=FunctionNode.sync_tree,
-    )
-
-    use_list__a: NodeBuilder.VectorizedProperty()
-    use_list__b: NodeBuilder.VectorizedProperty()
-
-    def declaration(self, builder: NodeBuilder):
-        builder.vectorized_input(
-            "a", "use_list__a",
-            "A", "A", "Float")
-        builder.vectorized_input(
-            "b", "use_list__b",
-            "B", "B", "Float")
-
-        builder.vectorized_output(
-            "result", ["use_list__a", "use_list__b"],
-            "Result", "Result", "Boolean")
-
-    def draw(self, layout):
-        layout.prop(self, "operation", text="")
diff --git a/release/scripts/startup/nodes/function_nodes/math.py b/release/scripts/startup/nodes/function_nodes/math.py
index 6ec549e9b54..d1c9006625c 100644
--- a/release/scripts/startup/nodes/function_nodes/math.py
+++ b/release/scripts/startup/nodes/function_nodes/math.py
@@ -83,6 +83,8 @@ BooleanAndNode = create_variadic_math_node("Boolean", "fn_BooleanAndNode", "And"
 BooleanOrNode = create_variadic_math_node("Boolean", "fn_BooleanOrNode", "Or")
 BooleanNotNode = create_single_input_math_node("Boolean", "fn_BooleanNotNode", "Not")
 
+LessThanFloatNode = create_two_inputs_math_node("Float", "Float", "Boolean", "fn_LessThanFloatNode", "Less Than Float")
+GreaterThanFloatNode = create_two_inputs_math_node("Float", "Float", "Boolean", "fn_GreaterThanFloatNode", "Greater Than Float")
 
 class MapRangeNode(bpy.types.Node, FunctionNode):
     bl_idname = "fn_MapRangeNode"
diff --git a/release/scripts/startup/nodes/menu.py b/release/scripts/startup/nodes/menu.py
index d022fa38536..0aa16af7f27 100644
--- a/release/scripts/startup/nodes/menu.py
+++ b/release/scripts/startup/nodes/menu.py
@@ -25,7 +25,6 @@ class FunctionNodesMenu(bpy.types.Menu):
         layout = self.layout
         layout.operator_context = 'INVOKE_DEFAULT'
 
-        insert_node(layout, "fn_CompareNode", "Compare")
         insert_node(layout, "fn_SwitchNode", "Switch")
         layout.separator()
         insert_node(layout, "fn_FloatRangeNode", "Float Range")
diff --git a/source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc b/source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc
index f28c3039a70..bfcf9744940 100644
--- a/source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc
+++ b/source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc
@@ -389,12 +389,18 @@ static void INSERT_boolean_not(VNodeMFNetworkBuilder &builder)
   build_math_fn_1in_1out<bool, bool>(builder, [](bool a) -> bool { return !a; });
 }
 
-static void INSERT_compare(VNodeMFNetworkBuilder &builder)
+static void INSERT_less_than_float(VNodeMFNetworkBuilder &builder)
 {
   build_math_fn_in2_out1<float, float, bool>(builder,
                                              [](float a, float b) -> bool { return a < b; });
 }
 
+static void INSERT_greater_than_float(VNodeMFNetworkBuilder &builder)
+{
+  build_math_fn_in2_out1<float, float, bool>(builder,
+                                             [](float a, float b) -> bool { return a > b; });
+}
+
 static void INSERT_perlin_noise(VNodeMFNetworkBuilder &builder)
 {
   builder.set_constructed_matching_fn<MF_PerlinNoise>();
@@ -561,7 +567,8 @@ void add_inlined_tree_node_mapping_info(VTreeMultiFunctionMappings &mappings)
   mappings.xnode_inserters.add_new("fn_VertexInfoNode", INSERT_vertex_info);
   mappings.xnode_inserters.add_new("fn_FloatRangeNode", INSERT_float_range);
   mappings.xnode_inserters.add_new("fn_TimeInfoNode", INSERT_time_info);
-  mappings.xnode_inserters.add_new("fn_CompareNode", INSERT_compare);
+  mappings.xnode_inserters.add_new("fn_LessThanFloatNode", INSERT_less_than_float);
+  mappings.xnode_inserters.add_new("fn_GreaterThanFloatNode", INSERT_greater_than_float);
   mappings.xnode_inserters.add_new("fn_PerlinNoiseNode", INSERT_perlin_noise);
   mappings.xnode_inserters.add_new("fn_GetParticleAttributeNode", INSERT_get_particle_attribute);
   mappings.xnode_inserters.add_new("fn_ClosestLocationOnObjectNode",



More information about the Bf-blender-cvs mailing list