Nodes: Declare function nodes in individual file namespace

To be used in the future to support unity builds
This commit is contained in:
Aaron Carlisle 2021-12-28 13:37:59 -05:00
parent 955748ab1e
commit 715e0faabc
16 changed files with 123 additions and 92 deletions

View File

@ -18,7 +18,7 @@
#include "BLI_hash.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_random_float_cc {
static void fn_node_legacy_random_float_declare(NodeDeclarationBuilder &b)
{
@ -29,8 +29,6 @@ static void fn_node_legacy_random_float_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
};
} // namespace blender::nodes
class RandomFloatFunction : public blender::fn::MultiFunction {
public:
RandomFloatFunction()
@ -75,12 +73,16 @@ static void fn_node_legacy_random_float_build_multi_function(
builder.set_matching_fn(fn);
}
} // namespace blender::nodes::node_fn_random_float_cc
void register_node_type_fn_legacy_random_float()
{
namespace file_ns = blender::nodes::node_fn_random_float_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_LEGACY_RANDOM_FLOAT, "Random Float", 0, 0);
ntype.declare = blender::nodes::fn_node_legacy_random_float_declare;
ntype.build_multi_function = fn_node_legacy_random_float_build_multi_function;
ntype.declare = file_ns::fn_node_legacy_random_float_declare;
ntype.build_multi_function = file_ns::fn_node_legacy_random_float_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -23,7 +23,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_align_euler_to_vector_cc {
static void fn_node_align_euler_to_vector_declare(NodeDeclarationBuilder &b)
{
@ -207,16 +207,18 @@ static void fn_node_align_euler_to_vector_build_multi_function(NodeMultiFunction
builder.construct_and_set_matching_fn<MF_AlignEulerToVector>(node.custom1, node.custom2);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_align_euler_to_vector_cc
void register_node_type_fn_align_euler_to_vector()
{
namespace file_ns = blender::nodes::node_fn_align_euler_to_vector_cc;
static bNodeType ntype;
fn_node_type_base(
&ntype, FN_NODE_ALIGN_EULER_TO_VECTOR, "Align Euler to Vector", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_align_euler_to_vector_declare;
ntype.draw_buttons = blender::nodes::fn_node_align_euler_to_vector_layout;
ntype.build_multi_function = blender::nodes::fn_node_align_euler_to_vector_build_multi_function;
ntype.declare = file_ns::fn_node_align_euler_to_vector_declare;
ntype.draw_buttons = file_ns::fn_node_align_euler_to_vector_layout;
ntype.build_multi_function = file_ns::fn_node_align_euler_to_vector_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -24,7 +24,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_boolean_math_cc {
static void fn_node_boolean_math_declare(NodeDeclarationBuilder &b)
{
@ -87,17 +87,19 @@ static void fn_node_boolean_math_build_multi_function(NodeMultiFunctionBuilder &
builder.set_matching_fn(fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_boolean_math_cc
void register_node_type_fn_boolean_math()
{
namespace file_ns = blender::nodes::node_fn_boolean_math_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_BOOLEAN_MATH, "Boolean Math", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_boolean_math_declare;
ntype.labelfunc = blender::nodes::node_boolean_math_label;
node_type_update(&ntype, blender::nodes::node_boolean_math_update);
ntype.build_multi_function = blender::nodes::fn_node_boolean_math_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_boolean_math_layout;
ntype.declare = file_ns::fn_node_boolean_math_declare;
ntype.labelfunc = file_ns::node_boolean_math_label;
node_type_update(&ntype, file_ns::node_boolean_math_update);
ntype.build_multi_function = file_ns::fn_node_boolean_math_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_boolean_math_layout;
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_float_to_int_cc {
static void fn_node_float_to_int_declare(NodeDeclarationBuilder &b)
{
@ -81,16 +81,18 @@ static void fn_node_float_to_int_build_multi_function(NodeMultiFunctionBuilder &
builder.set_matching_fn(fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_float_to_int_cc
void register_node_type_fn_float_to_int()
{
namespace file_ns = blender::nodes::node_fn_float_to_int_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_FLOAT_TO_INT, "Float to Integer", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_float_to_int_declare;
ntype.labelfunc = blender::nodes::node_float_to_int_label;
ntype.build_multi_function = blender::nodes::fn_node_float_to_int_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_float_to_int_layout;
ntype.declare = file_ns::fn_node_float_to_int_declare;
ntype.labelfunc = file_ns::node_float_to_int_label;
ntype.build_multi_function = file_ns::fn_node_float_to_int_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_float_to_int_layout;
nodeRegisterType(&ntype);
}

View File

@ -21,7 +21,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_bool_cc {
static void fn_node_input_bool_declare(NodeDeclarationBuilder &b)
{
@ -47,18 +47,20 @@ static void fn_node_input_bool_init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_bool_cc
void register_node_type_fn_input_bool()
{
namespace file_ns = blender::nodes::node_fn_input_bool_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_BOOL, "Boolean", 0, 0);
ntype.declare = blender::nodes::fn_node_input_bool_declare;
node_type_init(&ntype, blender::nodes::fn_node_input_bool_init);
ntype.declare = file_ns::fn_node_input_bool_declare;
node_type_init(&ntype, file_ns::fn_node_input_bool_init);
node_type_storage(
&ntype, "NodeInputBool", node_free_standard_storage, node_copy_standard_storage);
ntype.build_multi_function = blender::nodes::fn_node_input_bool_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_input_bool_layout;
ntype.build_multi_function = file_ns::fn_node_input_bool_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_input_bool_layout;
nodeRegisterType(&ntype);
}

View File

@ -19,7 +19,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_color_cc {
static void fn_node_input_color_declare(NodeDeclarationBuilder &b)
{
@ -48,18 +48,20 @@ static void fn_node_input_color_init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_color_cc
void register_node_type_fn_input_color()
{
namespace file_ns = blender::nodes::node_fn_input_color_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_COLOR, "Color", NODE_CLASS_INPUT, 0);
ntype.declare = blender::nodes::fn_node_input_color_declare;
node_type_init(&ntype, blender::nodes::fn_node_input_color_init);
ntype.declare = file_ns::fn_node_input_color_declare;
node_type_init(&ntype, file_ns::fn_node_input_color_init);
node_type_storage(
&ntype, "NodeInputColor", node_free_standard_storage, node_copy_standard_storage);
ntype.build_multi_function = blender::nodes::fn_node_input_color_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_input_color_layout;
ntype.build_multi_function = file_ns::fn_node_input_color_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_input_color_layout;
nodeRegisterType(&ntype);
}

View File

@ -21,7 +21,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_int_cc {
static void fn_node_input_int_declare(NodeDeclarationBuilder &b)
{
@ -47,18 +47,20 @@ static void fn_node_input_int_init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_int_cc
void register_node_type_fn_input_int()
{
namespace file_ns = blender::nodes::node_fn_input_int_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_INT, "Integer", 0, 0);
ntype.declare = blender::nodes::fn_node_input_int_declare;
node_type_init(&ntype, blender::nodes::fn_node_input_int_init);
ntype.declare = file_ns::fn_node_input_int_declare;
node_type_init(&ntype, file_ns::fn_node_input_int_init);
node_type_storage(
&ntype, "NodeInputInt", node_free_standard_storage, node_copy_standard_storage);
ntype.build_multi_function = blender::nodes::fn_node_input_int_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_input_int_layout;
ntype.build_multi_function = file_ns::fn_node_input_int_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_input_int_layout;
nodeRegisterType(&ntype);
}

View File

@ -16,7 +16,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_special_characters_cc {
static void fn_node_input_special_characters_declare(NodeDeclarationBuilder &b)
{
@ -59,16 +59,17 @@ static void fn_node_input_special_characters_build_multi_function(
builder.set_matching_fn(special_characters_fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_special_characters_cc
void register_node_type_fn_input_special_characters()
{
namespace file_ns = blender::nodes::node_fn_input_special_characters_cc;
static bNodeType ntype;
fn_node_type_base(
&ntype, FN_NODE_INPUT_SPECIAL_CHARACTERS, "Special Characters", NODE_CLASS_INPUT, 0);
ntype.declare = blender::nodes::fn_node_input_special_characters_declare;
ntype.build_multi_function =
blender::nodes::fn_node_input_special_characters_build_multi_function;
ntype.declare = file_ns::fn_node_input_special_characters_declare;
ntype.build_multi_function = file_ns::fn_node_input_special_characters_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -19,7 +19,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_string_cc {
static void fn_node_input_string_declare(NodeDeclarationBuilder &b)
{
@ -71,20 +71,20 @@ static void fn_node_string_copy(bNodeTree *UNUSED(dest_ntree),
dest_node->storage = destination_storage;
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_string_cc
void register_node_type_fn_input_string()
{
namespace file_ns = blender::nodes::node_fn_input_string_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_STRING, "String", NODE_CLASS_INPUT, 0);
ntype.declare = blender::nodes::fn_node_input_string_declare;
node_type_init(&ntype, blender::nodes::fn_node_input_string_init);
node_type_storage(&ntype,
"NodeInputString",
blender::nodes::fn_node_input_string_free,
blender::nodes::fn_node_string_copy);
ntype.build_multi_function = blender::nodes::fn_node_input_string_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_input_string_layout;
ntype.declare = file_ns::fn_node_input_string_declare;
node_type_init(&ntype, file_ns::fn_node_input_string_init);
node_type_storage(
&ntype, "NodeInputString", file_ns::fn_node_input_string_free, file_ns::fn_node_string_copy);
ntype.build_multi_function = file_ns::fn_node_input_string_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_input_string_layout;
nodeRegisterType(&ntype);
}

View File

@ -21,7 +21,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_input_vector_cc {
static void fn_node_input_vector_declare(NodeDeclarationBuilder &b)
{
@ -48,18 +48,20 @@ static void fn_node_input_vector_init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_input_vector_cc
void register_node_type_fn_input_vector()
{
namespace file_ns = blender::nodes::node_fn_input_vector_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_INPUT_VECTOR, "Vector", 0, 0);
ntype.declare = blender::nodes::fn_node_input_vector_declare;
node_type_init(&ntype, blender::nodes::fn_node_input_vector_init);
ntype.declare = file_ns::fn_node_input_vector_declare;
node_type_init(&ntype, file_ns::fn_node_input_vector_init);
node_type_storage(
&ntype, "NodeInputVector", node_free_standard_storage, node_copy_standard_storage);
ntype.build_multi_function = blender::nodes::fn_node_input_vector_build_multi_function;
ntype.draw_buttons = blender::nodes::fn_node_input_vector_layout;
ntype.build_multi_function = file_ns::fn_node_input_vector_build_multi_function;
ntype.draw_buttons = file_ns::fn_node_input_vector_layout;
nodeRegisterType(&ntype);
}

View File

@ -24,7 +24,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
namespace blender::nodes {
namespace blender::nodes::node_fn_random_value_cc {
NODE_STORAGE_FUNCS(NodeRandomValue)
@ -338,18 +338,21 @@ static void fn_node_random_value_build_multi_function(NodeMultiFunctionBuilder &
}
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_random_value_cc
void register_node_type_fn_random_value()
{
namespace file_ns = blender::nodes::node_fn_random_value_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_RANDOM_VALUE, "Random Value", NODE_CLASS_CONVERTER, 0);
node_type_init(&ntype, blender::nodes::fn_node_random_value_init);
node_type_update(&ntype, blender::nodes::fn_node_random_value_update);
ntype.draw_buttons = blender::nodes::fn_node_random_value_layout;
ntype.declare = blender::nodes::fn_node_random_value_declare;
ntype.build_multi_function = blender::nodes::fn_node_random_value_build_multi_function;
ntype.gather_link_search_ops = blender::nodes::fn_node_random_value_gather_link_search;
node_type_init(&ntype, file_ns::fn_node_random_value_init);
node_type_update(&ntype, file_ns::fn_node_random_value_update);
ntype.draw_buttons = file_ns::fn_node_random_value_layout;
ntype.declare = file_ns::fn_node_random_value_declare;
ntype.build_multi_function = file_ns::fn_node_random_value_build_multi_function;
ntype.gather_link_search_ops = file_ns::fn_node_random_value_gather_link_search;
node_type_storage(
&ntype, "NodeRandomValue", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -18,7 +18,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_replace_string_cc {
static void fn_node_replace_string_declare(NodeDeclarationBuilder &b)
{
@ -53,14 +53,16 @@ static void fn_node_replace_string_build_multi_function(NodeMultiFunctionBuilder
builder.set_matching_fn(&substring_fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_replace_string_cc
void register_node_type_fn_replace_string()
{
namespace file_ns = blender::nodes::node_fn_replace_string_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_REPLACE_STRING, "Replace String", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_replace_string_declare;
ntype.build_multi_function = blender::nodes::fn_node_replace_string_build_multi_function;
ntype.declare = file_ns::fn_node_replace_string_declare;
ntype.build_multi_function = file_ns::fn_node_replace_string_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -24,7 +24,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_rotate_euler_cc {
static void fn_node_rotate_euler_declare(NodeDeclarationBuilder &b)
{
@ -125,15 +125,18 @@ static void fn_node_rotate_euler_build_multi_function(NodeMultiFunctionBuilder &
builder.set_matching_fn(fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_rotate_euler_cc
void register_node_type_fn_rotate_euler()
{
namespace file_ns = blender::nodes::node_fn_rotate_euler_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_ROTATE_EULER, "Rotate Euler", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_rotate_euler_declare;
ntype.draw_buttons = blender::nodes::fn_node_rotate_euler_layout;
node_type_update(&ntype, blender::nodes::fn_node_rotate_euler_update);
ntype.build_multi_function = blender::nodes::fn_node_rotate_euler_build_multi_function;
ntype.declare = file_ns::fn_node_rotate_euler_declare;
ntype.draw_buttons = file_ns::fn_node_rotate_euler_layout;
node_type_update(&ntype, file_ns::fn_node_rotate_euler_update);
ntype.build_multi_function = file_ns::fn_node_rotate_euler_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -18,7 +18,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_slice_string_cc {
static void fn_node_slice_string_declare(NodeDeclarationBuilder &b)
{
@ -40,14 +40,16 @@ static void fn_node_slice_string_build_multi_function(NodeMultiFunctionBuilder &
builder.set_matching_fn(&slice_fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_slice_string_cc
void register_node_type_fn_slice_string()
{
namespace file_ns = blender::nodes::node_fn_slice_string_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_SLICE_STRING, "Slice String", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_slice_string_declare;
ntype.build_multi_function = blender::nodes::fn_node_slice_string_build_multi_function;
ntype.declare = file_ns::fn_node_slice_string_declare;
ntype.build_multi_function = file_ns::fn_node_slice_string_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -20,7 +20,7 @@
#include "node_function_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_fn_string_length_cc {
static void fn_node_string_length_declare(NodeDeclarationBuilder &b)
{
@ -35,14 +35,16 @@ static void fn_node_string_length_build_multi_function(NodeMultiFunctionBuilder
builder.set_matching_fn(&str_len_fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_string_length_cc
void register_node_type_fn_string_length()
{
namespace file_ns = blender::nodes::node_fn_string_length_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_STRING_LENGTH, "String Length", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_string_length_declare;
ntype.build_multi_function = blender::nodes::fn_node_string_length_build_multi_function;
ntype.declare = file_ns::fn_node_string_length_declare;
ntype.build_multi_function = file_ns::fn_node_string_length_build_multi_function;
nodeRegisterType(&ntype);
}

View File

@ -17,7 +17,7 @@
#include "node_function_util.hh"
#include <iomanip>
namespace blender::nodes {
namespace blender::nodes::node_fn_value_to_string_cc {
static void fn_node_value_to_string_declare(NodeDeclarationBuilder &b)
{
@ -37,14 +37,16 @@ static void fn_node_value_to_string_build_multi_function(NodeMultiFunctionBuilde
builder.set_matching_fn(&to_str_fn);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_fn_value_to_string_cc
void register_node_type_fn_value_to_string()
{
namespace file_ns = blender::nodes::node_fn_value_to_string_cc;
static bNodeType ntype;
fn_node_type_base(&ntype, FN_NODE_VALUE_TO_STRING, "Value to String", NODE_CLASS_CONVERTER, 0);
ntype.declare = blender::nodes::fn_node_value_to_string_declare;
ntype.build_multi_function = blender::nodes::fn_node_value_to_string_build_multi_function;
ntype.declare = file_ns::fn_node_value_to_string_declare;
ntype.build_multi_function = file_ns::fn_node_value_to_string_build_multi_function;
nodeRegisterType(&ntype);
}