[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13623] trunk/blender/source/blender: == PyNodes ==

Willian Padovani Germano wpgermano at gmail.com
Sun Feb 10 04:40:29 CET 2008


Revision: 13623
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13623
Author:   ianwill
Date:     2008-02-10 04:40:24 +0100 (Sun, 10 Feb 2008)

Log Message:
-----------
== PyNodes ==

1) Including the Add->Dynamic submenu in the Nodes window header. Previously pynodes could only be added via toolbox.
2) Disabling pynodes execution when using more than one thread for rendering. This prevents the crashes while a proper fix isn't implemented.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c
    trunk/blender/source/blender/src/drawnode.c
    trunk/blender/source/blender/src/header_node.c

Modified: trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c	2008-02-10 02:12:06 UTC (rev 13622)
+++ trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c	2008-02-10 03:40:24 UTC (rev 13623)
@@ -570,6 +570,9 @@
 	if (!node->id)
 		return;
 
+	if (G.scene->r.threads > 1)
+		return;
+
 	if (BTST2(node->custom1, NODE_DYNAMIC_NEW, NODE_DYNAMIC_REPARSE)) {
 		node_dynamic_setup(node);
 		return;

Modified: trunk/blender/source/blender/src/drawnode.c
===================================================================
--- trunk/blender/source/blender/src/drawnode.c	2008-02-10 02:12:06 UTC (rev 13622)
+++ trunk/blender/source/blender/src/drawnode.c	2008-02-10 03:40:24 UTC (rev 13623)
@@ -798,6 +798,11 @@
 				ui_rasterpos_safe(butr->xmin + xoff, butr->ymin + 5, snode->aspect);
 				snode_drawstring(snode, "Error! Check console...", butr->xmax - butr->xmin);
 			}
+			else if (G.scene->r.threads > 1) {
+				BIF_ThemeColor(TH_REDALERT);
+				ui_rasterpos_safe(butr->xmin + xoff, butr->ymin + 5, snode->aspect);
+				snode_drawstring(snode, "Set threads to 1", butr->xmax - butr->xmin);
+			}
 		}
 	}
 	return 20+19; 

Modified: trunk/blender/source/blender/src/header_node.c
===================================================================
--- trunk/blender/source/blender/src/header_node.c	2008-02-10 02:12:06 UTC (rev 13622)
+++ trunk/blender/source/blender/src/header_node.c	2008-02-10 03:40:24 UTC (rev 13623)
@@ -273,10 +273,17 @@
 		}
 		else {
 			bNodeType *type;
+			int script=0;
 			for(a=0, type= ntree->alltypes.first; type; type=type->next) {
 				if( type->nclass == nodeclass ) {
+					if(type->type == NODE_DYNAMIC) {
+						uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, type->name, 0, 
+							yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, NODE_DYNAMIC_MENU+script, "");
+						script++;
+					} else {
 					uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, type->name, 0, 
 						yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, type->type, "");
+					}
 					a++;
 				}
 			}
@@ -423,6 +430,22 @@
 	return block;
 }
 
+static uiBlock *node_add_dynamicmenu(void *arg_unused)
+{
+	SpaceNode *snode= curarea->spacedata.first;
+	uiBlock *block;
+	
+	block= uiNewBlock(&curarea->uiblocks, "node_add_dynamicmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
+	uiBlockSetButmFunc(block, do_node_addmenu, NULL);
+	
+	node_make_addmenu(snode, NODE_CLASS_OP_DYNAMIC, block);
+	
+	uiBlockSetDirection(block, UI_RIGHT);
+	uiTextBoundsBlock(block, 60);
+	
+	return block;
+}
+
 static uiBlock *node_addmenu(void *arg_unused)
 {
 	SpaceNode *snode= curarea->spacedata.first;
@@ -440,6 +463,7 @@
 		uiDefIconTextBlockBut(block, node_add_vectormenu, NULL, ICON_RIGHTARROW_THIN, "Vector", 0, yco-=20, 120, 19, "");
 		uiDefIconTextBlockBut(block, node_add_convertermenu, NULL, ICON_RIGHTARROW_THIN, "Convertor", 0, yco-=20, 120, 19, "");
 		uiDefIconTextBlockBut(block, node_add_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Group", 0, yco-=20, 120, 19, "");
+		uiDefIconTextBlockBut(block, node_add_dynamicmenu, NULL, ICON_RIGHTARROW_THIN, "Dynamic", 0, yco-=20, 120, 19, "");
 	}
 	else if(snode->treetype==NTREE_COMPOSIT) {
 		uiDefIconTextBlockBut(block, node_add_inputmenu, NULL, ICON_RIGHTARROW_THIN, "Input", 0, yco-=20, 120, 19, "");





More information about the Bf-blender-cvs mailing list