Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc29
1 files changed, 12 insertions, 17 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc b/source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc
index ab2136f4e8d..6cef09aca67 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_attribute_transfer.cc
@@ -29,18 +29,16 @@
#include "node_geometry_util.hh"
-static bNodeSocketTemplate geo_node_attribute_transfer_in[] = {
- {SOCK_GEOMETRY, N_("Geometry")},
- {SOCK_GEOMETRY, N_("Source Geometry")},
- {SOCK_STRING, N_("Source")},
- {SOCK_STRING, N_("Destination")},
- {-1, ""},
-};
-
-static bNodeSocketTemplate geo_node_attribute_transfer_out[] = {
- {SOCK_GEOMETRY, N_("Geometry")},
- {-1, ""},
-};
+namespace blender::nodes {
+
+static void geo_node_attribute_transfer_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Geometry>("Geometry");
+ b.add_input<decl::Geometry>("Source Geometry");
+ b.add_input<decl::String>("Source");
+ b.add_input<decl::String>("Destination");
+ b.add_output<decl::Geometry>("Geometry");
+}
static void geo_node_attribute_transfer_layout(uiLayout *layout,
bContext *UNUSED(C),
@@ -52,8 +50,6 @@ static void geo_node_attribute_transfer_layout(uiLayout *layout,
uiItemR(layout, ptr, "mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
-namespace blender::nodes {
-
static void geo_node_attribute_transfer_init(bNodeTree *UNUSED(tree), bNode *node)
{
NodeGeometryAttributeTransfer *data = (NodeGeometryAttributeTransfer *)MEM_callocN(
@@ -521,14 +517,13 @@ void register_node_type_geo_attribute_transfer()
geo_node_type_base(
&ntype, GEO_NODE_ATTRIBUTE_TRANSFER, "Attribute Transfer", NODE_CLASS_ATTRIBUTE, 0);
- node_type_socket_templates(
- &ntype, geo_node_attribute_transfer_in, geo_node_attribute_transfer_out);
node_type_init(&ntype, blender::nodes::geo_node_attribute_transfer_init);
node_type_storage(&ntype,
"NodeGeometryAttributeTransfer",
node_free_standard_storage,
node_copy_standard_storage);
+ ntype.declare = blender::nodes::geo_node_attribute_transfer_declare;
ntype.geometry_node_execute = blender::nodes::geo_node_attribute_transfer_exec;
- ntype.draw_buttons = geo_node_attribute_transfer_layout;
+ ntype.draw_buttons = blender::nodes::geo_node_attribute_transfer_layout;
nodeRegisterType(&ntype);
}