diff --git a/source/blender/blenkernel/intern/mesh_legacy_convert.cc b/source/blender/blenkernel/intern/mesh_legacy_convert.cc index bbe66337c79..d18b185b544 100644 --- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc +++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc @@ -2128,11 +2128,10 @@ static bNodeTree *add_auto_smooth_node_tree(Main &bmain) } group->geometry_node_asset_traits->flag |= GEO_NODE_ASSET_MODIFIER; - group->tree_interface.add_socket(DATA_("Geometry"), - "", - "NodeSocketGeometry", - NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT, - nullptr); + group->tree_interface.add_socket( + DATA_("Geometry"), "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_OUTPUT, nullptr); + group->tree_interface.add_socket( + DATA_("Geometry"), "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_INPUT, nullptr); bNodeTreeInterfaceSocket *angle_io_socket = group->tree_interface.add_socket( DATA_("Angle"), "", "NodeSocketFloat", NODE_INTERFACE_SOCKET_INPUT, nullptr); auto &angle_data = *static_cast(angle_io_socket->socket_data); @@ -2147,7 +2146,7 @@ static bNodeTree *add_auto_smooth_node_tree(Main &bmain) group_input_angle->locx = -420.0f; group_input_angle->locy = -300.0f; LISTBASE_FOREACH (bNodeSocket *, socket, &group_input_angle->outputs) { - if (!STREQ(socket->identifier, "Socket_1")) { + if (!STREQ(socket->identifier, "Socket_2")) { socket->flag |= SOCK_HIDDEN; } } @@ -2155,7 +2154,7 @@ static bNodeTree *add_auto_smooth_node_tree(Main &bmain) group_input_mesh->locx = -60.0f; group_input_mesh->locy = -100.0f; LISTBASE_FOREACH (bNodeSocket *, socket, &group_input_mesh->outputs) { - if (!STREQ(socket->identifier, "Socket_0")) { + if (!STREQ(socket->identifier, "Socket_1")) { socket->flag |= SOCK_HIDDEN; } } @@ -2198,7 +2197,7 @@ static bNodeTree *add_auto_smooth_node_tree(Main &bmain) nodeFindSocket(group_output, SOCK_IN, "Socket_0")); nodeAddLink(group, group_input_angle, - nodeFindSocket(group_input_angle, SOCK_OUT, "Socket_1"), + nodeFindSocket(group_input_angle, SOCK_OUT, "Socket_2"), less_than_or_equal, nodeFindSocket(less_than_or_equal, SOCK_IN, "B")); nodeAddLink(group, @@ -2213,7 +2212,7 @@ static bNodeTree *add_auto_smooth_node_tree(Main &bmain) nodeFindSocket(boolean_and, SOCK_IN, "Boolean_001")); nodeAddLink(group, group_input_mesh, - nodeFindSocket(group_input_mesh, SOCK_OUT, "Socket_0"), + nodeFindSocket(group_input_mesh, SOCK_OUT, "Socket_1"), shade_smooth_edge, nodeFindSocket(shade_smooth_edge, SOCK_IN, "Geometry")); nodeAddLink(group, @@ -2337,14 +2336,14 @@ static ModifierData *create_auto_smooth_modifier( id_us_plus(&md->node_group->id); md->settings.properties = idprop::create_group("Nodes Modifier Settings").release(); - IDProperty *angle_prop = idprop::create("Socket_1", angle).release(); + IDProperty *angle_prop = idprop::create("Socket_2", angle).release(); auto *ui_data = reinterpret_cast(IDP_ui_data_ensure(angle_prop)); ui_data->base.rna_subtype = PROP_ANGLE; ui_data->soft_min = 0.0f; ui_data->soft_max = DEG2RADF(180.0f); IDP_AddToGroup(md->settings.properties, angle_prop); - IDP_AddToGroup(md->settings.properties, idprop::create("Socket_1_use_attribute", 0).release()); - IDP_AddToGroup(md->settings.properties, idprop::create("Socket_1_attribute_name", "").release()); + IDP_AddToGroup(md->settings.properties, idprop::create("Socket_2_use_attribute", 0).release()); + IDP_AddToGroup(md->settings.properties, idprop::create("Socket_2_attribute_name", "").release()); BKE_modifiers_persistent_uid_init(object, md->modifier); return &md->modifier; diff --git a/source/blender/blenkernel/intern/node_tree_interface.cc b/source/blender/blenkernel/intern/node_tree_interface.cc index eca2c2c2f22..f16ff37cbd2 100644 --- a/source/blender/blenkernel/intern/node_tree_interface.cc +++ b/source/blender/blenkernel/intern/node_tree_interface.cc @@ -1190,6 +1190,10 @@ bNodeTreeInterfaceSocket *bNodeTreeInterface::add_socket(const blender::StringRe const NodeTreeInterfaceSocketFlag flag, bNodeTreeInterfacePanel *parent) { + /* Check that each interface socket is either an input or an output. Technically, it can be both + * at the same time, but we don't want that for the time being. */ + BLI_assert(((NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT) & flag) != + (NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT)); if (parent == nullptr) { parent = &root_panel; } diff --git a/source/blender/blenloader/intern/versioning_300.cc b/source/blender/blenloader/intern/versioning_300.cc index ec8dda52171..60fd9864eef 100644 --- a/source/blender/blenloader/intern/versioning_300.cc +++ b/source/blender/blenloader/intern/versioning_300.cc @@ -554,11 +554,10 @@ static bNodeTree *add_realize_node_tree(Main *bmain) { bNodeTree *node_tree = ntreeAddTree(bmain, "Realize Instances 2.93 Legacy", "GeometryNodeTree"); - node_tree->tree_interface.add_socket("Geometry", - "", - "NodeSocketGeometry", - NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT, - nullptr); + node_tree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_OUTPUT, nullptr); + node_tree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_INPUT, nullptr); bNode *group_input = nodeAddStaticNode(nullptr, node_tree, NODE_GROUP_INPUT); group_input->locx = -400.0f; diff --git a/source/blender/editors/curves/intern/curves_add.cc b/source/blender/editors/curves/intern/curves_add.cc index 980ec5765f3..01f1bdff7de 100644 --- a/source/blender/editors/curves/intern/curves_add.cc +++ b/source/blender/editors/curves/intern/curves_add.cc @@ -74,11 +74,10 @@ void ensure_surface_deformation_node_exists(bContext &C, Object &curves_ob) nmd.node_group = ntreeAddTree(bmain, DATA_("Surface Deform"), "GeometryNodeTree"); bNodeTree *ntree = nmd.node_group; - ntree->tree_interface.add_socket("Geometry", - "", - "NodeSocketGeometry", - NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT, - nullptr); + ntree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_OUTPUT, nullptr); + ntree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_INPUT, nullptr); bNode *group_input = nodeAddStaticNode(&C, ntree, NODE_GROUP_INPUT); bNode *group_output = nodeAddStaticNode(&C, ntree, NODE_GROUP_OUTPUT); bNode *deform_node = nodeAddStaticNode(&C, ntree, GEO_NODE_DEFORM_CURVES_ON_SURFACE); diff --git a/source/blender/io/usd/intern/usd_reader_pointinstancer.cc b/source/blender/io/usd/intern/usd_reader_pointinstancer.cc index 0a09a779979..e1209f88ad5 100644 --- a/source/blender/io/usd/intern/usd_reader_pointinstancer.cc +++ b/source/blender/io/usd/intern/usd_reader_pointinstancer.cc @@ -162,11 +162,10 @@ void USDPointInstancerReader::read_object_data(Main *bmain, const double motionS bNodeTree *ntree = nmd.node_group; - ntree->tree_interface.add_socket("Geometry", - "", - "NodeSocketGeometry", - NODE_INTERFACE_SOCKET_INPUT | NODE_INTERFACE_SOCKET_OUTPUT, - nullptr); + ntree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_OUTPUT, nullptr); + ntree->tree_interface.add_socket( + "Geometry", "", "NodeSocketGeometry", NODE_INTERFACE_SOCKET_INPUT, nullptr); bNode *group_input = nodeAddStaticNode(nullptr, ntree, NODE_GROUP_INPUT); group_input->locx = -400.0f; bNode *group_output = nodeAddStaticNode(nullptr, ntree, NODE_GROUP_OUTPUT);