[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18459] branches/blender2.5/blender/source /blender/editors/space_node: 2.5 / Nodes

Nathan Letwory jesterking at letwory.net
Mon Jan 12 02:02:54 CET 2009


Revision: 18459
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18459
Author:   jesterking
Date:     2009-01-12 02:02:52 +0100 (Mon, 12 Jan 2009)

Log Message:
-----------
2.5 / Nodes
* [Use nodes] added. For future improvements: a panel which enumerates
  materials, textures and scenes for selection and editing in the opened
  node-editor without having to set it in Buttons (or 'global' scene).

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
    branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_select.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_state.c
    branches/blender2.5/blender/source/blender/editors/space_node/space_node.c

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -488,7 +488,7 @@
 	}
 }
 
-
+#endif /* 0  */
 /* assumes nothing being done in ntree yet, sets the default in/out node */
 /* called from shading buttons or header */
 void node_shader_default(Material *ma)
@@ -548,7 +548,7 @@
 	
 	ntreeSolveOrder(sce->nodetree);	/* needed for pointers */
 	
-	ntreeCompositForceHidden(sce->nodetree);
+	// XXX ntreeCompositForceHidden(sce->nodetree);
 }
 
 /* assumes nothing being done in ntree yet, sets the default in/out node */
@@ -580,7 +580,6 @@
 	ntreeSolveOrder(tx->nodetree);	/* needed for pointers */
 	ntreeTexUpdatePreviews(tx->nodetree);
 }
-#endif
 
 /* Here we set the active tree(s), even called for each redraw now, so keep it fast :) */
 void snode_set_context(SpaceNode *snode, Scene *scene)

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_header.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_header.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -650,7 +650,52 @@
 
 static void do_node_buttons(bContext *C, void *arg, int event)
 {
+	// NODE_FIX_ME : instead of using "current material/texture/scene" a la old buttons/G.scene
+	// have a panel from which enumerates textures, materials and scenes.
+	SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C);
+	Scene *scene= CTX_data_scene(C);
+	Material *ma;
+	Tex *tx;
+	
 	switch(event) {
+		case B_NODE_USEMAT:
+			ma= (Material *)snode->id;
+			if(ma) {
+				if(ma->use_nodes && ma->nodetree==NULL) {
+					node_shader_default(ma);
+					snode_set_context(snode, scene);
+				}
+				/* BIF_preview_changed(ID_MA);
+				allqueue(REDRAWNODE, 0);
+				allqueue(REDRAWBUTSSHADING, 0);
+				allqueue(REDRAWIPO, 0);*/
+			}		
+			break;
+			
+		case B_NODE_USESCENE:
+			if(scene->use_nodes) {
+				if(scene->nodetree==NULL)
+					node_composit_default(scene);
+				// addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
+			}
+			snode_set_context(snode, scene);
+			// allqueue(REDRAWNODE, 0);
+			break;
+			
+		case B_NODE_USETEX:
+			tx = (Tex *)snode->id;
+			if(tx) {
+				tx->type = 0;
+				if(tx->use_nodes && tx->nodetree==NULL) {
+					node_texture_default(tx);
+					snode_set_context(snode, scene);
+				}
+				/* BIF_preview_changed(ID_TE);
+				allqueue(REDRAWNODE, 0);
+				allqueue(REDRAWBUTSSHADING, 0);
+				allqueue(REDRAWIPO, 0);*/
+			}
+			break;
 	}
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h	2009-01-12 01:02:52 UTC (rev 18459)
@@ -75,6 +75,9 @@
 void snode_home(ScrArea *sa, ARegion *ar, SpaceNode *snode);
 void node_set_active(SpaceNode *snode, bNode *node);
 void node_deselectall(SpaceNode *snode, int swap);
+void node_shader_default(Material *ma);
+void node_composit_default(Scene *sce);
+void node_texture_default(Tex *tx);
 
 // XXXXXX
 

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -27,6 +27,8 @@
  */
 
 #include "DNA_node_types.h"
+#include "DNA_material_types.h"
+#include "DNA_texture_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_space_types.h"
 

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_select.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_select.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_select.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -29,6 +29,8 @@
 #include <stdio.h>
 
 #include "DNA_node_types.h"
+#include "DNA_material_types.h"
+#include "DNA_texture_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_space_types.h"

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_state.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_state.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_state.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -29,6 +29,8 @@
 #include <stdio.h>
 
 #include "DNA_node_types.h"
+#include "DNA_material_types.h"
+#include "DNA_texture_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_space_types.h"

Modified: branches/blender2.5/blender/source/blender/editors/space_node/space_node.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/space_node.c	2009-01-12 00:14:37 UTC (rev 18458)
+++ branches/blender2.5/blender/source/blender/editors/space_node/space_node.c	2009-01-12 01:02:52 UTC (rev 18459)
@@ -31,6 +31,8 @@
 
 #include "DNA_node_types.h"
 #include "DNA_object_types.h"
+#include "DNA_material_types.h"
+#include "DNA_texture_types.h"
 #include "DNA_space_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"





More information about the Bf-blender-cvs mailing list