[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55898] trunk/blender/source/blender: Exposed the bNodeSocket->limit value in RNA, so it can be redefined by pynodes.
Lukas Toenne
lukas.toenne at googlemail.com
Mon Apr 8 10:59:30 CEST 2013
Revision: 55898
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55898
Author: lukastoenne
Date: 2013-04-08 08:59:30 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
Exposed the bNodeSocket->limit value in RNA, so it can be redefined by pynodes. All sockets will have strict n-to-1 connectivity by default, which is fine for data sockets, but things like geometry nodes with a more data-flow based connectivity for certain socket types will need to change this.
Modified Paths:
--------------
trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
trunk/blender/source/blender/nodes/intern/node_socket.c
Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c 2013-04-08 08:43:16 UTC (rev 55897)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c 2013-04-08 08:59:30 UTC (rev 55898)
@@ -2008,6 +2008,12 @@
ED_node_tag_update_nodetree(bmain, ntree);
}
+static void rna_NodeSocket_link_limit_set(PointerRNA *ptr, int value)
+{
+ bNodeSocket *sock = ptr->data;
+ sock->limit = (value == 0 ? 0xFFF : value);
+}
+
static void rna_NodeSocket_hide_set(PointerRNA *ptr, int value)
{
bNodeSocket *sock = (bNodeSocket *)ptr->data;
@@ -5893,6 +5899,13 @@
RNA_def_property_ui_text(prop, "Enabled", "Enable the socket");
RNA_def_property_update(prop, NC_NODE | ND_DISPLAY, NULL);
+ prop = RNA_def_property(srna, "link_limit", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "limit");
+ RNA_def_property_int_funcs(prop, NULL, "rna_NodeSocket_link_limit_set", NULL);
+ RNA_def_property_range(prop, 1, 0xFFF);
+ RNA_def_property_ui_text(prop, "Link Limit", "Max number of links allowed for this socket");
+ RNA_def_property_update(prop, NC_NODE | NA_EDITED, NULL);
+
prop = RNA_def_property(srna, "is_linked", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SOCK_IN_USE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
Modified: trunk/blender/source/blender/nodes/intern/node_socket.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/node_socket.c 2013-04-08 08:43:16 UTC (rev 55897)
+++ trunk/blender/source/blender/nodes/intern/node_socket.c 2013-04-08 08:59:30 UTC (rev 55898)
@@ -111,8 +111,7 @@
}
if (sock) {
sock->type = stemp->type;
- if (stemp->limit == 0) sock->limit= 0xFFF;
- else sock->limit = stemp->limit;
+ sock->limit = (stemp->limit == 0 ? 0xFFF : stemp->limit);
sock->flag |= stemp->flag;
BLI_remlink(socklist, sock);
More information about the Bf-blender-cvs
mailing list