diff options
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.cc | 29 |
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); } |