[Bf-blender-cvs] [87cf7d8] object_nodes: A number of actual value nodes for simple input constants in the UI.

Lukas Tönne noreply at git.blender.org
Thu Dec 10 14:24:00 CET 2015


Commit: 87cf7d85f5f35a393c1e7d7e747440eea2122fe4
Author: Lukas Tönne
Date:   Thu Dec 10 14:23:26 2015 +0100
Branches: object_nodes
https://developer.blender.org/rB87cf7d85f5f35a393c1e7d7e747440eea2122fe4

A number of actual value nodes for simple input constants in the UI.

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

M	release/scripts/nodes/common_nodes.py
M	release/scripts/nodes/geometry_nodes.py

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

diff --git a/release/scripts/nodes/common_nodes.py b/release/scripts/nodes/common_nodes.py
index 810bcac..7b752f7 100644
--- a/release/scripts/nodes/common_nodes.py
+++ b/release/scripts/nodes/common_nodes.py
@@ -90,6 +90,81 @@ class CommonNodeBase(NodeBase):
     def poll(cls, ntree):
         return isinstance(ntree, NodeTreeBase)
 
+class ValueFloatNode(CommonNodeBase, ObjectNode):
+    '''Floating point number'''
+    bl_idname = 'ObjectValueFloatNode'
+    bl_label = 'Float'
+
+    value = FloatProperty(name="Value", default=0.0)
+
+    def draw_buttons(self, context, layout):
+        layout.prop(self, "value", text="")
+
+    def init(self, context):
+        self.outputs.new('NodeSocketFloat', "Value")
+
+    def compile(self, compiler):
+        node = compiler.add_proxy("FLOAT")
+        node.inputs[0].set_value(self.value)
+        compiler.map_output(0, node.outputs[0])
+
+class ValueIntNode(CommonNodeBase, ObjectNode):
+    '''Integer number'''
+    bl_idname = 'ObjectValueIntNode'
+    bl_label = 'Integer'
+
+    value = IntProperty(name="Value", default=0)
+
+    def draw_buttons(self, context, layout):
+        layout.prop(self, "value", text="")
+
+    def init(self, context):
+        self.outputs.new('NodeSocketInt', "Value")
+
+    def compile(self, compiler):
+        node = compiler.add_proxy("INT")
+        node.inputs[0].set_value(self.value)
+        compiler.map_output(0, node.outputs[0])
+
+class ValueVectorNode(CommonNodeBase, ObjectNode):
+    '''3D vector'''
+    bl_idname = 'ObjectValueVectorNode'
+    bl_label = 'Vector'
+
+    value = FloatVectorProperty(name="Value", size=3, default=(0.0, 0.0, 0.0))
+
+    def draw_buttons(self, context, layout):
+        col = layout.column(align=True)
+        col.prop(self, "value", text="")
+
+    def init(self, context):
+        self.outputs.new('NodeSocketVector', "Value")
+
+    def compile(self, compiler):
+        node = compiler.add_proxy("FLOAT3")
+        node.inputs[0].set_value(self.value)
+        compiler.map_output(0, node.outputs[0])
+
+class ValueColorNode(CommonNodeBase, ObjectNode):
+    '''RGBA color'''
+    bl_idname = 'ObjectValueColorNode'
+    bl_label = 'Color'
+
+    value = FloatVectorProperty(name="Value", size=4, subtype='COLOR',
+                                default=(0.0, 0.0, 0.0, 1.0), min=0.0, max=1.0)
+
+    def draw_buttons(self, context, layout):
+        layout.template_color_picker(self, "value", value_slider=True)
+
+    def init(self, context):
+        self.outputs.new('NodeSocketColor', "Value")
+
+    def compile(self, compiler):
+        node = compiler.add_proxy("FLOAT4")
+        node.inputs[0].set_value(self.value)
+        compiler.map_output(0, node.outputs[0])
+
+
 class IterationNode(CommonNodeBase, ObjectNode):
     '''Iteration number'''
     bl_idname = 'ObjectIterationNode'
@@ -101,6 +176,7 @@ class IterationNode(CommonNodeBase, ObjectNode):
     def compile(self, compiler):
         compiler.map_output(0, compiler.graph_input("iteration"))
 
+
 class MathNode(CommonNodeBase, ObjectNode):
     '''Math '''
     bl_idname = 'ObjectMathNode'
diff --git a/release/scripts/nodes/geometry_nodes.py b/release/scripts/nodes/geometry_nodes.py
index b998a97..f5df771 100644
--- a/release/scripts/nodes/geometry_nodes.py
+++ b/release/scripts/nodes/geometry_nodes.py
@@ -243,6 +243,10 @@ def register():
             NodeItem("GeometryMeshLoadNode"),
             NodeItem(ginput.bl_idname),
             NodeItem("GeometryElementInfoNode"),
+            NodeItem("ObjectValueFloatNode"),
+            NodeItem("ObjectValueIntNode"),
+            NodeItem("ObjectValueVectorNode"),
+            NodeItem("ObjectValueColorNode"),
             ]),
         GeometryNodeCategory("GEO_OUTPUT", "Output", items=[
             NodeItem("GeometryOutputNode"),




More information about the Bf-blender-cvs mailing list