[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