[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31887] branches/particles-2010/source/ blender: further cleanup of node files and folders.

Lukas Toenne lukas.toenne at googlemail.com
Sun Sep 12 12:51:55 CEST 2010


Revision: 31887
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31887
Author:   lukastoenne
Date:     2010-09-12 12:51:54 +0200 (Sun, 12 Sep 2010)

Log Message:
-----------
further cleanup of node files and folders. created separate directories for each tree type, with a nodes subfolder replacing the ***_nodes folders in source/blender/nodes/intern/. Removed more tree type specific code from blenkernel/node.c, this should use callbacks where necessary.

Modified Paths:
--------------
    branches/particles-2010/source/blender/blenkernel/BKE_node.h
    branches/particles-2010/source/blender/blenkernel/intern/node.c
    branches/particles-2010/source/blender/blenloader/intern/writefile.c
    branches/particles-2010/source/blender/nodes/CMP_node.h
    branches/particles-2010/source/blender/nodes/CMakeLists.txt
    branches/particles-2010/source/blender/nodes/SHD_node.h
    branches/particles-2010/source/blender/nodes/SIM_node.h
    branches/particles-2010/source/blender/nodes/TEX_node.h
    branches/particles-2010/source/blender/nodes/intern/node_util.c
    branches/particles-2010/source/blender/nodes/intern/node_util.h

Added Paths:
-----------
    branches/particles-2010/source/blender/nodes/intern/composite/
    branches/particles-2010/source/blender/nodes/intern/composite/CMP_util.c
    branches/particles-2010/source/blender/nodes/intern/composite/CMP_util.h
    branches/particles-2010/source/blender/nodes/intern/composite/node_tree_composite.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_alphaOver.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_bilateralblur.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_blur.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_brightness.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_channelMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_chromaMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorSpill.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorbalance.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_composite.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_crop.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_curves.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_defocus.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_diffMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_dilate.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_directionalblur.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_displace.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_distanceMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_filter.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_flip.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_gamma.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_glare.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_hueSatVal.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_huecorrect.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_idMask.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_image.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_invert.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lensdist.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_levels.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lummaMatte.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapUV.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapValue.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_math.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mixrgb.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normal.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normalize.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_outputFile.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_premulkey.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rgb.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rotate.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_scale.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombHSVA.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombRGBA.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYCCA.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYUVA.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_setalpha.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_splitViewer.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_texture.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_tonemap.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_translate.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_valToRgb.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_value.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_vecBlur.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_viewer.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_zcombine.c
    branches/particles-2010/source/blender/nodes/intern/composite/nodes/Makefile
    branches/particles-2010/source/blender/nodes/intern/shader/
    branches/particles-2010/source/blender/nodes/intern/shader/SHD_util.c
    branches/particles-2010/source/blender/nodes/intern/shader/SHD_util.h
    branches/particles-2010/source/blender/nodes/intern/shader/node_tree_shader.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/Makefile
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_camera.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_curves.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_dynamic.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_geom.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_hueSatVal.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_invert.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_mapping.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_material.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_math.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_mixRgb.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_normal.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_output.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_rgb.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_sepcombRGB.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_squeeze.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_texture.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_valToRgb.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_value.c
    branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_vectMath.c
    branches/particles-2010/source/blender/nodes/intern/simulation/
    branches/particles-2010/source/blender/nodes/intern/simulation/SIM_util.c
    branches/particles-2010/source/blender/nodes/intern/simulation/SIM_util.h
    branches/particles-2010/source/blender/nodes/intern/simulation/node_tree_simulation.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_add_particle.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_add_particle_force.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_debugprint.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_filter.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_for.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_get_data.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_if.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_math.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_particle_dynamics.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_pass.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_program.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_random.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_set_data.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_subprogram.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_timestep.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vector_compose.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vector_decompose.c
    branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vectormath.c
    branches/particles-2010/source/blender/nodes/intern/texture/
    branches/particles-2010/source/blender/nodes/intern/texture/TEX_util.c
    branches/particles-2010/source/blender/nodes/intern/texture/TEX_util.h
    branches/particles-2010/source/blender/nodes/intern/texture/node_tree_texture.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/Makefile
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_at.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_bricks.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_checker.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_compose.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_coord.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_curves.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_decompose.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_distance.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_hueSatVal.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_image.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_invert.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_math.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_mixRgb.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_output.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_proc.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_rotate.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_scale.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_texture.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_translate.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_valToNor.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_valToRgb.c
    branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_viewer.c

Removed Paths:
-------------
    branches/particles-2010/source/blender/nodes/intern/CMP_nodes/
    branches/particles-2010/source/blender/nodes/intern/CMP_util.c
    branches/particles-2010/source/blender/nodes/intern/CMP_util.h
    branches/particles-2010/source/blender/nodes/intern/SHD_nodes/
    branches/particles-2010/source/blender/nodes/intern/SHD_util.c
    branches/particles-2010/source/blender/nodes/intern/SHD_util.h
    branches/particles-2010/source/blender/nodes/intern/SIM_nodes/
    branches/particles-2010/source/blender/nodes/intern/SIM_util.c
    branches/particles-2010/source/blender/nodes/intern/SIM_util.h
    branches/particles-2010/source/blender/nodes/intern/TEX_nodes/
    branches/particles-2010/source/blender/nodes/intern/TEX_util.c
    branches/particles-2010/source/blender/nodes/intern/TEX_util.h
    branches/particles-2010/source/blender/nodes/intern/node_tree_composite.c
    branches/particles-2010/source/blender/nodes/intern/node_tree_shader.c
    branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c
    branches/particles-2010/source/blender/nodes/intern/node_tree_texture.c

Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h	2010-09-11 23:13:47 UTC (rev 31886)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h	2010-09-12 10:51:54 UTC (rev 31887)
@@ -203,13 +203,13 @@
 void			ntreeUpdateGroupTree(struct bNodeTree *ntree, struct bNodeTree *group);
 void			ntreeUpdateFullTree(struct bNodeTree *ntree);
 
-void			ntreeCalcSocketTypeIslands(struct bNodeTree *ntree);
-void			ntreeFreeSocketTypeIslands(struct bNodeTree *ntree);
-void			ntreeFindIslandSocketType(struct bNodeTree *ntree, int island, int *restype, int *resolved);
-void			ntreeResolveSocketTypes(struct bNodeTree *ntree);
-void			ntreeResolveSocketContexts(struct bNodeTree *ntree);
-void			ntreeResolveInputContexts(struct bNode *node);
-void			ntreeResolveOutputContexts(struct bNode *node);
+//void			ntreeCalcSocketTypeIslands(struct bNodeTree *ntree);
+//void			ntreeFreeSocketTypeIslands(struct bNodeTree *ntree);
+//void			ntreeFindIslandSocketType(struct bNodeTree *ntree, int island, int *restype, int *resolved);
+//void			ntreeResolveSocketTypes(struct bNodeTree *ntree);
+//void			ntreeResolveSocketContexts(struct bNodeTree *ntree);
+//void			ntreeResolveInputContexts(struct bNode *node);
+//void			ntreeResolveOutputContexts(struct bNode *node);
 
 void			ntreeBeginExecTree(struct bNodeTree *ntree);
 void			ntreeExecTree(struct bNodeTree *ntree, void *callerdata, int thread);
@@ -269,6 +269,8 @@
 void			NodeTagChanged(struct bNodeTree *ntree, struct bNode *node);
 void			NodeTagIDChanged(struct bNodeTree *ntree, struct ID *id);
 
+void			nodeFreePreview(struct bNode *node);
+
 /* ************** Groups ****************** */
 
 struct bNode	*nodeMakeGroupFromSelected(struct bNodeTree *ntree);

Modified: branches/particles-2010/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/node.c	2010-09-11 23:13:47 UTC (rev 31886)
+++ branches/particles-2010/source/blender/blenkernel/intern/node.c	2010-09-12 10:51:54 UTC (rev 31887)
@@ -37,28 +37,34 @@
 
 #include "DNA_anim_types.h"
 #include "DNA_node_types.h"
+#include "DNA_scene_types.h"
 
-#include "RNA_access.h"
+#include "BLI_string.h"
+#include "BLI_math.h"
+#include "BLI_listbase.h"
+#include "BLI_path_util.h"
 
 #include "BKE_fcurve.h"
 #include "BKE_animsys.h" /* BKE_free_animdata only */
 #include "BKE_global.h"
+#include "BKE_image.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
 
+#include "MEM_guardedalloc.h"
+
 //#include "PIL_time.h"
 
+#include "RNA_access.h"
 
 #include "CMP_node.h"
-#include "intern/CMP_util.h"	/* stupid include path... */
 #include "SHD_node.h"
-#include "intern/SHD_util.h"
 #include "TEX_node.h"
-#include "intern/TEX_util.h"
 #include "SIM_node.h"
-#include "intern/SIM_util.h"
 
-#include "GPU_material.h"
 
-
 bNodeTreeTypeInfo *ntreeGetTypeInfo(int type)
 {
 	static bNodeTreeTypeInfo *types[NUM_NTREE_TYPES];
@@ -1075,7 +1081,7 @@
 /* *************** preview *********** */
 /* if node->preview, then we assume the rect to exist */
 
-static void node_free_preview(bNode *node)
+void nodeFreePreview(bNode *node)
 {
 	if(node->preview) {
 		if(node->preview->rect)
@@ -1222,7 +1228,7 @@
 	BLI_freelistN(&node->inputs);
 	BLI_freelistN(&node->outputs);
 	
-	node_free_preview(node);
+	nodeFreePreview(node);
 
 	if(node->typeinfo && node->typeinfo->freestoragefunc) {
 		node->typeinfo->freestoragefunc(node);
@@ -1652,6 +1658,7 @@
 	}
 }
 
+#if 0
 static void merge_socket_islands(bNodeSocketIsland *islands, int a, int b)
 {
 	bNodeSocketIsland *i;
@@ -1953,6 +1960,7 @@
 		ntreeResolveOutputContexts(node);
 	}
 }
+#endif
 
 static void validate_links(bNodeTree *ntree)
 {
@@ -2006,8 +2014,8 @@
 	 * They have to be recalculated for each tree up in the hierarchy,
 	 * because the result on higher levels may differ from local level result.
 	 */
-	ntreeResolveSocketTypes(ntree);
-	ntreeResolveSocketContexts(ntree);
+//	ntreeResolveSocketTypes(ntree);
+//	ntreeResolveSocketContexts(ntree);
 	
 	validate_links(ntree);
 	
@@ -2026,9 +2034,9 @@
 	 * but requires keeping the island list stored in the node trees,
 	 * therefore careful freeing and a full update in do_versions when loading older files.
 	 */
-	ntreeCalcSocketTypeIslands(ntree);
+//	ntreeCalcSocketTypeIslands(ntree);
 	update_tree_recursive(ntree);
-	ntreeFreeSocketTypeIslands(ntree);
+//	ntreeFreeSocketTypeIslands(ntree);
 }
 
 void ntreeUpdateGroupTree(bNodeTree *ntree, bNodeTree *group)
@@ -2039,9 +2047,9 @@
 	group->flag |= NTREE_UPDATE;
 	set_update_flag_recursive(ntree);
 	
-	ntreeCalcSocketTypeIslands(ntree);
+//	ntreeCalcSocketTypeIslands(ntree);
 	update_tree_recursive(ntree);
-	ntreeFreeSocketTypeIslands(ntree);
+//	ntreeFreeSocketTypeIslands(ntree);
 }
 
 void ntreeUpdateFullTree(bNodeTree *ntree)
@@ -2051,9 +2059,9 @@
 	
 	set_all_update_flags_recursive(ntree);
 	
-	ntreeCalcSocketTypeIslands(ntree);
+//	ntreeCalcSocketTypeIslands(ntree);
 	update_tree_recursive(ntree);
-	ntreeFreeSocketTypeIslands(ntree);
+//	ntreeFreeSocketTypeIslands(ntree);
 }
 
 void NodeTagChanged(bNodeTree *ntree, bNode *node)
@@ -2131,380 +2139,6 @@
 		treetype->exec(ntree, ntree->execdata, callerdata, thread);
 }
 
-
-/* ********** copy composite tree entirely, to allow threaded exec ******************* */
-/* ***************** do NOT execute this in a thread!               ****************** */
-
-/* returns localized composite tree for execution in threads */
-/* local tree then owns all compbufs */
-bNodeTree *ntreeLocalize(bNodeTree *ntree)
-{
-	bNodeTree *ltree;
-	bNode *node;
-	bNodeSocket *sock;
-	
-	bAction *action_backup= NULL, *tmpact_backup= NULL;
-	
-	/* Workaround for copying an action on each render!
-	 * set action to NULL so animdata actions dont get copied */
-	AnimData *adt= BKE_animdata_from_id(&ntree->id);
-
-	if(adt) {
-		action_backup= adt->action;
-		tmpact_backup= adt->tmpact;
-
-		adt->action= NULL;
-		adt->tmpact= NULL;
-	}
-
-	/* node copy func */
-	ltree= ntreeCopyTree(ntree, 0);
-
-	if(adt) {
-		AnimData *ladt= BKE_animdata_from_id(&ltree->id);
-
-		adt->action= ladt->action= action_backup;
-		adt->tmpact= ladt->tmpact= tmpact_backup;
-
-		if(action_backup) action_backup->id.us++;
-		if(tmpact_backup) tmpact_backup->id.us++;
-		
-	}
-	/* end animdata uglyness */
-	
-	/* move over the compbufs */
-	/* right after ntreeCopyTree() oldsock pointers are valid */
-	for(node= ntree->nodes.first; node; node= node->next) {
-		
-		/* store new_node pointer to original */
-		node->new_node->new_node= node;
-		/* ensure new user input gets handled ok */
-		node->need_exec= 0;
-		
-		if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
-			if(node->id) {
-				if(node->flag & NODE_DO_OUTPUT)
-					node->new_node->id= (ID *)copy_image((Image *)node->id);
-				else
-					node->new_node->id= NULL;
-			}
-		}
-		
-		for(sock= node->outputs.first; sock; sock= sock->next) {
-			
-			sock->new_sock->ns.data= sock->ns.data;
-			compbuf_set_node(sock->new_sock->ns.data, node->new_node);
-			
-			sock->ns.data= NULL;
-			sock->new_sock->new_sock= sock;
-		}
-	}
-	
-	return ltree;
-}
-
-static int node_exists(bNodeTree *ntree, bNode *testnode)
-{
-	bNode *node= ntree->nodes.first;
-	for(; node; node= node->next)
-		if(node==testnode)
-			return 1;
-	return 0;
-}
-
-static int outsocket_exists(bNode *node, bNodeSocket *testsock)
-{
-	bNodeSocket *sock= node->outputs.first;
-	for(; sock; sock= sock->next)
-		if(sock==testsock)
-			return 1;
-	return 0;
-}
-
-
-/* sync local composite with real tree */
-/* local composite is supposed to be running, be careful moving previews! */
-void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
-{
-	bNode *lnode;
-	
-	/* move over the compbufs and previews */
-	for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
-		if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
-			if(node_exists(ntree, lnode->new_node)) {
-				
-				if(lnode->preview && lnode->preview->rect) {
-					node_free_preview(lnode->new_node);
-					lnode->new_node->preview= lnode->preview;
-					lnode->preview= NULL;
-				}
-			}
-		}
-	}
-}
-
-/* merge local tree results back, and free local tree */
-/* we have to assume the editor already changed completely */
-void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
-{
-	bNode *lnode;
-	bNodeSocket *lsock;
-	
-	/* move over the compbufs and previews */
-	for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
-		if(node_exists(ntree, lnode->new_node)) {
-			
-			if(lnode->preview && lnode->preview->rect) {
-				node_free_preview(lnode->new_node);
-				lnode->new_node->preview= lnode->preview;
-				lnode->preview= NULL;
-			}
-			
-			if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
-				if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
-					/* image_merge does sanity check for pointers */
-					BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
-				}
-			}
-			
-			for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
-				if(outsocket_exists(lnode->new_node, lsock->new_sock)) {
-					lsock->new_sock->ns.data= lsock->ns.data;
-					compbuf_set_node(lsock->new_sock->ns.data, lnode->new_node);
-					lsock->ns.data= NULL;
-					lsock->new_sock= NULL;
-				}
-			}
-		}
-	}
-	ntreeFreeTree(localtree);
-	MEM_freeN(localtree);
-}
-
-/* *********************************************** */
-
-/* GPU material from shader nodes */
-
-static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
-{
-	bNodeSocket *sock;
-	int i;
-
-	for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
-		memset(&gs[i], 0, sizeof(gs[i]));
-
-		QUATCOPY(gs[i].vec, ns[i]->vec);
-		gs[i].link= ns[i]->data;
-
-		if (sock->type == SOCK_VALUE)
-			gs[i].type= GPU_FLOAT;
-		else if (sock->type == SOCK_VECTOR)
-			gs[i].type= GPU_VEC3;
-		else if (sock->type == SOCK_RGBA)
-			gs[i].type= GPU_VEC4;
-		else
-			gs[i].type= GPU_NONE;
-
-		gs[i].name = "";
-		gs[i].hasinput= ns[i]->hasinput && ns[i]->data;
-		gs[i].hasoutput= ns[i]->hasinput && ns[i]->data;
-		gs[i].sockettype= ns[i]->sockettype;
-	}
-
-	gs[i].type= GPU_NONE;
-}
-
-static void data_from_gpu_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
-{
-	bNodeSocket *sock;
-	int i;
-
-	for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list