[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36515] branches/particles-2010/source/ blender: Fixed a couple of issues pointed out by Brecht via bf-codereview.
Lukas Toenne
lukas.toenne at googlemail.com
Fri May 6 15:04:48 CEST 2011
Revision: 36515
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36515
Author: lukastoenne
Date: 2011-05-06 13:04:47 +0000 (Fri, 06 May 2011)
Log Message:
-----------
Fixed a couple of issues pointed out by Brecht via bf-codereview.
Modified Paths:
--------------
branches/particles-2010/source/blender/blenkernel/intern/node.c
branches/particles-2010/source/blender/editors/space_api/spacetypes.c
branches/particles-2010/source/blender/editors/space_node/drawnode.c
branches/particles-2010/source/blender/editors/space_node/node_edit.c
branches/particles-2010/source/blender/makesdna/DNA_node_types.h
branches/particles-2010/source/blender/nodes/intern/CMP_nodes/CMP_common.c
branches/particles-2010/source/blender/nodes/intern/node_common.c
Modified: branches/particles-2010/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/node.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/blenkernel/intern/node.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -464,8 +464,6 @@
sockdef= ntype->inputs;
while(sockdef->type != -1) {
sock = node_add_input_from_template(ntree, node, sockdef);
- /* tag socket as static */
- sock->flag |= SOCK_STATIC;
sockdef++;
}
@@ -474,8 +472,6 @@
sockdef= ntype->outputs;
while(sockdef->type != -1) {
sock = node_add_output_from_template(ntree, node, sockdef);
- /* tag socket as static */
- sock->flag |= SOCK_STATIC;
sockdef++;
}
Modified: branches/particles-2010/source/blender/editors/space_api/spacetypes.c
===================================================================
--- branches/particles-2010/source/blender/editors/space_api/spacetypes.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/editors/space_api/spacetypes.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -63,7 +63,6 @@
#include "ED_uvedit.h"
#include "ED_mball.h"
#include "ED_logic.h"
-#include "ED_particleset.h"
/* only call once on startup, storage is global in BKE kernel listbase */
void ED_spacetypes_init(void)
Modified: branches/particles-2010/source/blender/editors/space_node/drawnode.c
===================================================================
--- branches/particles-2010/source/blender/editors/space_node/drawnode.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/editors/space_node/drawnode.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -638,11 +638,7 @@
bNodeTree *ngroup= (bNodeTree*)gnode->id;
uiBut *bt;
- if (sock->flag & SOCK_STATIC)
- uiDefBut(gnode->block, LABEL, 0, sock->name,
- sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
- NULL, 0, 31, 0, 0, "");
- else {
+ if (sock->flag & SOCK_DYNAMIC) {
bt = uiDefBut(gnode->block, TEX, 0, "",
sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
sock->name, 0, 31, 0, 0, "");
@@ -651,6 +647,11 @@
else
uiButSetFunc(bt, update_group_output_cb, snode, ngroup);
}
+ else {
+ uiDefBut(gnode->block, LABEL, 0, sock->name,
+ sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+ NULL, 0, 31, 0, 0, "");
+ }
}
static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *ntree, bNode *gnode, bNodeSocket *sock, bNodeSocket *gsock, int index, int in_out)
@@ -708,20 +709,20 @@
draw_group_socket_name(snode, gnode, sock, in_out, offset, -NODE_DYS);
}
- if (gsock && !(gsock->flag & SOCK_STATIC)) {
+ if (gsock && (gsock->flag & SOCK_DYNAMIC)) {
/* up/down buttons */
offset = (in_out==SOCK_IN ? -40 : 24);
uiBlockSetDirection(gnode->block, UI_TOP);
uiBlockBeginAlign(gnode->block);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
gsock->locx+offset, gsock->locy, 16, 16, "");
- if (!gsock->prev || (gsock->prev->flag & SOCK_STATIC))
+ if (!gsock->prev || !(gsock->prev->flag & SOCK_DYNAMIC))
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
gsock->locx+offset, gsock->locy-16, 16, 16, "");
- if (!gsock->next || (gsock->next->flag & SOCK_STATIC))
+ if (!gsock->next || !(gsock->next->flag & SOCK_DYNAMIC))
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
Modified: branches/particles-2010/source/blender/editors/space_node/node_edit.c
===================================================================
--- branches/particles-2010/source/blender/editors/space_node/node_edit.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/editors/space_node/node_edit.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -2102,6 +2102,8 @@
nodeRemSocketLinks(snode->edittree, sock_to);
link = nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to);
+ /* validate the new link */
+ ntreeUpdateTree(snode->edittree);
if (!(link->flag & NLINK_VALID)) {
nodeRemLink(snode->edittree, link);
continue;
@@ -3112,24 +3114,24 @@
if (snode->nodetree->type==NTREE_COMPOSIT)
ntemp.type = CMP_NODE_IMAGE;
- if (ntemp.type >= 0) {
- ED_preview_kill_jobs(C);
+ if (ntemp.type < 0)
+ return OPERATOR_CANCELLED;
- node = node_add_node(snode, scene, &ntemp, snode->mx, snode->my);
-
- if (!node) {
- BKE_report(op->reports, RPT_WARNING, "Could not add an image node.");
- return OPERATOR_CANCELLED;
- }
-
- node->id = (ID *)ima;
-
- snode_notify(C, snode);
- snode_dag_update(C, snode);
- return OPERATOR_FINISHED;
+ ED_preview_kill_jobs(C);
+
+ node = node_add_node(snode, scene, &ntemp, snode->mx, snode->my);
+
+ if (!node) {
+ BKE_report(op->reports, RPT_WARNING, "Could not add an image node.");
+ return OPERATOR_CANCELLED;
}
- else
- return OPERATOR_CANCELLED;
+
+ node->id = (ID *)ima;
+
+ snode_notify(C, snode);
+ snode_dag_update(C, snode);
+
+ return OPERATOR_FINISHED;
}
static int node_add_file_invoke(bContext *C, wmOperator *op, wmEvent *event)
@@ -3175,7 +3177,7 @@
PointerRNA ptr, idptr;
PropertyRNA *prop;
int treetype;
- char treename[22] = "NodeTree";
+ char treename[MAX_ID_NAME-2] = "NodeTree";
/* retrieve state */
snode= CTX_wm_space_node(C);
@@ -3222,10 +3224,11 @@
/* api callbacks */
ot->exec= new_node_tree_exec;
+ ot->poll= ED_operator_node_active;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
RNA_def_enum(ot->srna, "type", nodetree_type_items, NTREE_COMPOSIT, "Tree Type", "");
- RNA_def_string(ot->srna, "name", "NodeTree", 22, "Name", "");
+ RNA_def_string(ot->srna, "name", "NodeTree", MAX_ID_NAME-2, "Name", "");
}
Modified: branches/particles-2010/source/blender/makesdna/DNA_node_types.h
===================================================================
--- branches/particles-2010/source/blender/makesdna/DNA_node_types.h 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/makesdna/DNA_node_types.h 2011-05-06 13:04:47 UTC (rev 36515)
@@ -43,17 +43,10 @@
struct SpaceNode;
struct bNodeLink;
struct bNodeType;
-struct bNodeSocketType;
-struct bNodeSocketTemplate;
-struct bNodeGroup;
struct bNodeTreeExec;
struct AnimData;
struct bGPdata;
struct uiBlock;
-struct StructRNA;
-struct PropertyRNA;
-struct PointerRNA;
-struct SimDataContext;
#define NODE_MAXSTR 32
@@ -102,8 +95,8 @@
/* execution data */
short stack_index; /* local stack index */
- short need_exec;
- int pad;
+ short pad2;
+ int pad3;
void *cache; /* cached data from execution */
/* internal data to retrieve relations and groups */
@@ -111,7 +104,7 @@
int to_index; /* XXX deprecated, only used for restoring old group node links */
struct bNodeSocket *groupsock;
- struct bNodeLink *link; /* a link pointer, set in nodeSolveOrder() */
+ struct bNodeLink *link; /* a link pointer, set in ntreeUpdateTree */
/* DEPRECATED only needed for do_versions */
bNodeStack ns; /* custom data for inputs, only UI writes in this */
@@ -128,8 +121,8 @@
#define SOCK_IN_USE 4 /* XXX deprecated */
/* unavailable is for dynamic sockets */
#define SOCK_UNAVAIL 8
- /* static socket (from initial node type lists) */
-#define SOCK_STATIC 16
+ /* dynamic socket (can be modified by user) */
+#define SOCK_DYNAMIC 16
/* group socket should not be exposed */
#define SOCK_INTERNAL 32
/* use this socket as the viewer output */
Modified: branches/particles-2010/source/blender/nodes/intern/CMP_nodes/CMP_common.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/CMP_nodes/CMP_common.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/nodes/intern/CMP_nodes/CMP_common.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -239,9 +239,9 @@
while (gin && gout) {
/* skip static (non-looping) sockets */
- while (gin && (gin->flag & SOCK_STATIC))
+ while (gin && !(gin->flag & SOCK_DYNAMIC))
gin=gin->next;
- while (gout && (gout->flag & SOCK_STATIC))
+ while (gout && !(gout->flag & SOCK_DYNAMIC))
gout=gout->next;
if (gin && gout) {
Modified: branches/particles-2010/source/blender/nodes/intern/node_common.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/node_common.c 2011-05-06 11:27:04 UTC (rev 36514)
+++ branches/particles-2010/source/blender/nodes/intern/node_common.c 2011-05-06 13:04:47 UTC (rev 36515)
@@ -89,6 +89,9 @@
sock->next = sock->prev = NULL;
sock->new_sock = NULL;
+ /* group sockets are dynamically added */
+ sock->flag |= SOCK_DYNAMIC;
+
sock->own_index = gsock->own_index;
sock->groupsock = gsock;
sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
@@ -567,7 +570,8 @@
strncpy(gsock->name, name, sizeof(gsock->name));
gsock->type = type;
- gsock->flag = 0;
+ /* group sockets are dynamically added */
+ gsock->flag |= SOCK_DYNAMIC;
gsock->next = gsock->prev = NULL;
gsock->new_sock = NULL;
@@ -734,7 +738,7 @@
/* leftovers are removed */
for (sock=lb->first; sock; sock=nextsock) {
nextsock=sock->next;
- if (!(sock->flag & SOCK_STATIC))
+ if (sock->flag & SOCK_DYNAMIC)
nodeRemoveSocket(ntree, node, sock);
}
/* and we put back the verified sockets */
@@ -823,7 +827,6 @@
node->id = (ID*)ntemp->ngroup;
sock = nodeAddInputValue(ntree, node, "Iterations", PROP_UNSIGNED, 1, 0, 10000);
- sock->flag |= SOCK_STATIC;
/* NB: group socket input/output roles are inverted internally!
* Group "inputs" work as outputs in links and vice versa.
@@ -841,7 +844,7 @@
{
bNodeSocket *sock;
sock = node_group_add_socket(ntree, "Iteration", SOCK_VALUE, SOCK_IN);
- sock->flag |= SOCK_STATIC | SOCK_INTERNAL;
+ sock->flag |= SOCK_INTERNAL;
}
static void loop_sync(bNodeTree *ntree, int sync_in_out)
@@ -868,10 +871,10 @@
while (sock) {
/* skip static and internal sockets on the sync side (preserves socket order!) */
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list