Cleanup: convert function nodes socket list to use new API

The new API was introduced in rB1e69a25043120cc8dddc3f58622eb50e1443def1.

Differential Revision: https://developer.blender.org/D12380
This commit is contained in:
Rajesh Advani 2021-09-03 10:45:48 +02:00 committed by Jacques Lucke
parent 4a3243f311
commit 684500837d
7 changed files with 54 additions and 45 deletions

View File

@ -31,6 +31,7 @@
#include "NOD_function.h"
#include "NOD_multi_function.hh"
#include "NOD_socket_declarations.hh"
#include "node_util.h"

View File

@ -24,16 +24,16 @@
#include "node_function_util.hh"
static bNodeSocketTemplate fn_node_boolean_math_in[] = {
{SOCK_BOOLEAN, N_("Boolean")},
{SOCK_BOOLEAN, N_("Boolean")},
{-1, ""},
namespace blender::nodes {
static void fn_node_boolean_math_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Bool>("Boolean", "Boolean");
b.add_input<decl::Bool>("Boolean", "Boolean_001");
b.add_output<decl::Bool>("Boolean");
};
static bNodeSocketTemplate fn_node_boolean_math_out[] = {
{SOCK_BOOLEAN, N_("Boolean")},
{-1, ""},
};
} // namespace blender::nodes
static void fn_node_boolean_math_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
@ -91,7 +91,7 @@ void register_node_type_fn_boolean_math()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_BOOLEAN_MATH, "Boolean Math", NODE_CLASS_CONVERTER, 0);
node_type_socket_templates(&ntype, fn_node_boolean_math_in, fn_node_boolean_math_out);
ntype.declare = blender::nodes::fn_node_boolean_math_declare;
node_type_label(&ntype, node_boolean_math_label);
node_type_update(&ntype, node_boolean_math_update);
ntype.build_multi_function = fn_node_boolean_math_build_multi_function;

View File

@ -26,17 +26,17 @@
#include "node_function_util.hh"
static bNodeSocketTemplate fn_node_float_compare_in[] = {
{SOCK_FLOAT, N_("A"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
{SOCK_FLOAT, N_("B"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
{SOCK_FLOAT, N_("Epsilon"), 0.001f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
{-1, ""},
namespace blender::nodes {
static void fn_node_float_compare_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>("A").min(-10000.0f).max(10000.0f);
b.add_input<decl::Float>("B").min(-10000.0f).max(10000.0f);
b.add_input<decl::Float>("Epsilon").default_value(0.001f).min(-10000.0f).max(10000.0f);
b.add_output<decl::Bool>("Result");
};
static bNodeSocketTemplate fn_node_float_compare_out[] = {
{SOCK_BOOLEAN, N_("Result")},
{-1, ""},
};
} // namespace blender::nodes
static void geo_node_float_compare_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
@ -110,7 +110,7 @@ void register_node_type_fn_float_compare()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_FLOAT_COMPARE, "Float Compare", NODE_CLASS_CONVERTER, 0);
node_type_socket_templates(&ntype, fn_node_float_compare_in, fn_node_float_compare_out);
ntype.declare = blender::nodes::fn_node_float_compare_declare;
node_type_label(&ntype, node_float_compare_label);
node_type_update(&ntype, node_float_compare_update);
ntype.build_multi_function = fn_node_float_compare_build_multi_function;

View File

@ -25,15 +25,15 @@
#include "node_function_util.hh"
static bNodeSocketTemplate fn_node_float_to_int_in[] = {
{SOCK_FLOAT, N_("Float"), 0.0, 0.0, 0.0, 0.0, -FLT_MAX, FLT_MAX},
{-1, ""},
namespace blender::nodes {
static void fn_node_float_to_int_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>("Float");
b.add_output<decl::Int>("Integer");
};
static bNodeSocketTemplate fn_node_float_to_int_out[] = {
{SOCK_INT, N_("Integer")},
{-1, ""},
};
} // namespace blender::nodes
static void fn_node_float_to_int_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
@ -88,7 +88,7 @@ void register_node_type_fn_float_to_int()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_FLOAT_TO_INT, "Float to Integer", NODE_CLASS_CONVERTER, 0);
node_type_socket_templates(&ntype, fn_node_float_to_int_in, fn_node_float_to_int_out);
ntype.declare = blender::nodes::fn_node_float_to_int_declare;
node_type_label(&ntype, node_float_to_int_label);
ntype.build_multi_function = fn_node_float_to_int_build_multi_function;
ntype.draw_buttons = fn_node_float_to_int_layout;

View File

@ -19,11 +19,15 @@
#include "UI_interface.h"
#include "UI_resources.h"
static bNodeSocketTemplate fn_node_input_string_out[] = {
{SOCK_STRING, N_("String")},
{-1, ""},
namespace blender::nodes {
static void fn_node_input_string_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::String>("String");
};
} // namespace blender::nodes
static void fn_node_input_string_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "string", 0, "", ICON_NONE);
@ -75,7 +79,7 @@ void register_node_type_fn_input_string()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_STRING, "String", NODE_CLASS_INPUT, 0);
node_type_socket_templates(&ntype, nullptr, fn_node_input_string_out);
ntype.declare = blender::nodes::fn_node_input_string_declare;
node_type_init(&ntype, fn_node_input_string_init);
node_type_storage(&ntype, "NodeInputString", fn_node_input_string_free, fn_node_string_copy);
ntype.build_multi_function = fn_node_input_string_build_multi_function;

View File

@ -21,11 +21,15 @@
#include "UI_interface.h"
#include "UI_resources.h"
static bNodeSocketTemplate fn_node_input_vector_out[] = {
{SOCK_VECTOR, N_("Vector")},
{-1, ""},
namespace blender::nodes {
static void fn_node_input_vector_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Vector>("Vector");
};
} // namespace blender::nodes
static void fn_node_input_vector_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiLayout *col = uiLayoutColumn(layout, true);
@ -52,7 +56,7 @@ void register_node_type_fn_input_vector()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_VECTOR, "Vector", 0, 0);
node_type_socket_templates(&ntype, nullptr, fn_node_input_vector_out);
ntype.declare = blender::nodes::fn_node_input_vector_declare;
node_type_init(&ntype, fn_node_input_vector_init);
node_type_storage(
&ntype, "NodeInputVector", node_free_standard_storage, node_copy_standard_storage);

View File

@ -18,17 +18,17 @@
#include "BLI_hash.h"
static bNodeSocketTemplate fn_node_random_float_in[] = {
{SOCK_FLOAT, N_("Min"), 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
{SOCK_FLOAT, N_("Max"), 1.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
{SOCK_INT, N_("Seed"), 0, 0, 0, 0, -10000, 10000},
{-1, ""},
namespace blender::nodes {
static void fn_node_random_float_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>("Min").min(-10000.0f).max(10000.0f);
b.add_input<decl::Float>("Max").default_value(1.0f).min(-10000.0f).max(10000.0f);
b.add_input<decl::Int>("Seed").min(-10000).max(10000);
b.add_output<decl::Float>("Value");
};
static bNodeSocketTemplate fn_node_random_float_out[] = {
{SOCK_FLOAT, N_("Value")},
{-1, ""},
};
} // namespace blender::nodes
class RandomFloatFunction : public blender::fn::MultiFunction {
public:
@ -79,7 +79,7 @@ void register_node_type_fn_random_float()
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_RANDOM_FLOAT, "Random Float", 0, 0);
node_type_socket_templates(&ntype, fn_node_random_float_in, fn_node_random_float_out);
ntype.declare = blender::nodes::fn_node_random_float_declare;
ntype.build_multi_function = fn_node_random_float_build_multi_function;
nodeRegisterType(&ntype);
}