[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34368] branches/particles-2010/source/ blender: Moved some more tree type specific functions out of node. c to their respective files (compo and texture tagging stuff).

Lukas Toenne lukas.toenne at googlemail.com
Mon Jan 17 14:38:45 CET 2011


Revision: 34368
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34368
Author:   lukastoenne
Date:     2011-01-17 13:38:44 +0000 (Mon, 17 Jan 2011)
Log Message:
-----------
Moved some more tree type specific functions out of node.c to their respective files (compo and texture tagging stuff).
Added operator socket type to modifier trees.

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/makesdna/DNA_node_types.h
    branches/particles-2010/source/blender/nodes/intern/CMP_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_mesh.c
    branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_transform.c
    branches/particles-2010/source/blender/nodes/intern/MOD_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/TEX_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/node_util.c
    branches/particles-2010/source/blender/nodes/intern/node_util.h

Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h	2011-01-17 13:38:44 UTC (rev 34368)
@@ -246,7 +246,6 @@
 
 struct bNodeTreeExecData *ntreeBeginExecTree(struct bNodeTree *ntree);
 void			ntreeExecTree(struct bNodeTreeExecData *execdata, void *callerdata, int thread);
-void			ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
 void			ntreeEndExecTree(struct bNodeTreeExecData *execdata);
 
 void			ntreeInitPreview(struct bNodeTree *, int xsize, int ysize);
@@ -511,6 +510,7 @@
 
 /* API */
 struct CompBuf;
+void ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
 void ntreeCompositTagRender(struct Scene *sce);
 int ntreeCompositTagAnimated(struct bNodeTree *ntree);
 void ntreeCompositTagGenerators(struct bNodeTree *ntree);

Modified: branches/particles-2010/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/node.c	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/blenkernel/intern/node.c	2011-01-17 13:38:44 UTC (rev 34368)
@@ -2213,7 +2213,6 @@
 }
 
 
-
 /* ******************* executing ************* */
 bNodeTreeExecData *ntreeBeginExecTree(bNodeTree *ntree)
 {
@@ -2249,127 +2248,6 @@
 	}
 }
 
-static int node_animation_properties(bNodeTree *ntree, bNode *node)
-{
-	bNodeSocket *sock;
-	const ListBase *lb;
-	Link *link;
-	PointerRNA ptr;
-	PropertyRNA *prop;
-	
-	/* check to see if any of the node's properties have fcurves */
-	RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
-	lb = RNA_struct_defined_properties(ptr.type);
-	
-	for (link=lb->first; link; link=link->next) {
-		int driven, len=1, index;
-		prop = (PropertyRNA *)link;
-		
-		if (RNA_property_array_check(&ptr, prop))
-			len = RNA_property_array_length(&ptr, prop);
-		
-		for (index=0; index<len; index++) {
-			if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
-				NodeTagChanged(ntree, node);
-				return 1;
-			}
-		}
-	}
-	
-	/* now check node sockets */
-	for (sock = node->inputs.first; sock; sock=sock->next) {
-		int driven, len=1, index;
-		
-		RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
-		prop = RNA_struct_find_property(&ptr, "default_value");
-		
-		if (RNA_property_array_check(&ptr, prop))
-			len = RNA_property_array_length(&ptr, prop);
-		
-		for (index=0; index<len; index++) {
-			if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
-				NodeTagChanged(ntree, node);
-				return 1;
-			}
-		}
-	}
-
-	return 0;
-}
-
-/* tags nodes that have animation capabilities */
-int ntreeCompositTagAnimated(bNodeTree *ntree)
-{
-	bNode *node;
-	int tagged= 0;
-	
-	if(ntree==NULL) return 0;
-	
-	for(node= ntree->nodes.first; node; node= node->next) {
-		
-		tagged = node_animation_properties(ntree, node);
-		
-		/* otherwise always tag these node types */
-		if(node->type==CMP_NODE_IMAGE) {
-			Image *ima= (Image *)node->id;
-			if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
-				NodeTagChanged(ntree, node);
-				tagged= 1;
-			}
-		}
-		else if(node->type==CMP_NODE_TIME) {
-			NodeTagChanged(ntree, node);
-			tagged= 1;
-		}
-		else if(node->type==CMP_NODE_R_LAYERS) {
-			NodeTagChanged(ntree, node);
-			tagged= 1;
-		}
-		else if(node->type==NODE_GROUP) {
-			if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
-				NodeTagChanged(ntree, node);
-			}
-		}
-	}
-	
-	return tagged;
-}
-
-
-/* called from image window preview */
-void ntreeCompositTagGenerators(bNodeTree *ntree)
-{
-	bNode *node;
-	
-	if(ntree==NULL) return;
-	
-	for(node= ntree->nodes.first; node; node= node->next) {
-		if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
-			NodeTagChanged(ntree, node);
-	}
-}
-
-int ntreeTexTagAnimated(bNodeTree *ntree)
-{
-	bNode *node;
-	
-	if(ntree==NULL) return 0;
-	
-	for(node= ntree->nodes.first; node; node= node->next) {
-		if(node->type==TEX_NODE_CURVE_TIME) {
-			NodeTagChanged(ntree, node);
-			return 1;
-		}
-		else if(node->type==NODE_GROUP) {
-			if( ntreeTexTagAnimated((bNodeTree *)node->id) ) {
-				return 1;
-			}
-		}
-	}
-	
-	return 0;
-}
-
 /* ************* node definition init ********** */
 
 static bNodeType *is_nodetype_registered(ListBase *typelist, int type, ID *id) 

Modified: branches/particles-2010/source/blender/makesdna/DNA_node_types.h
===================================================================
--- branches/particles-2010/source/blender/makesdna/DNA_node_types.h	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/makesdna/DNA_node_types.h	2011-01-17 13:38:44 UTC (rev 34368)
@@ -209,12 +209,12 @@
 #define NODE_ACTIVE_ID		32
 #define NODE_DO_OUTPUT		64
 #define NODE_GROUP_EDIT		128
-		/* free test flag, undefined */
+	/* free test flag, undefined */
 #define NODE_TEST			256
-		/* composite: don't do node but pass on buffer(s) */
+	/* composite: don't do node but pass on buffer(s) */
 #define NODE_MUTED			512
 #define NODE_CUSTOM_NAME		1024
-		/* simulation: don't automatically request all data inputs */
+	/* simulation: don't automatically request all data inputs */
 #define NODE_CUSTOM_REQUEST	2048
 
 typedef struct bNodeLink {

Modified: branches/particles-2010/source/blender/nodes/intern/CMP_nodetree.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/CMP_nodetree.c	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/nodes/intern/CMP_nodetree.c	2011-01-17 13:38:44 UTC (rev 34368)
@@ -36,6 +36,7 @@
 
 #include "BKE_animsys.h"
 #include "BKE_colortools.h"
+#include "BKE_fcurve.h"
 #include "BKE_global.h"
 #include "BKE_main.h"
 #include "BKE_node.h"
@@ -46,6 +47,8 @@
 
 #include "PIL_time.h"
 
+#include "RNA_access.h"
+
 #include "CMP_node.h"
 #include "CMP_util.h"
 
@@ -921,3 +924,103 @@
 		}
 	}
 }
+
+static int node_animation_properties(bNodeTree *ntree, bNode *node)
+{
+	bNodeSocket *sock;
+	const ListBase *lb;
+	Link *link;
+	PointerRNA ptr;
+	PropertyRNA *prop;
+	
+	/* check to see if any of the node's properties have fcurves */
+	RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
+	lb = RNA_struct_defined_properties(ptr.type);
+	
+	for (link=lb->first; link; link=link->next) {
+		int driven, len=1, index;
+		prop = (PropertyRNA *)link;
+		
+		if (RNA_property_array_check(&ptr, prop))
+			len = RNA_property_array_length(&ptr, prop);
+		
+		for (index=0; index<len; index++) {
+			if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+				NodeTagChanged(ntree, node);
+				return 1;
+			}
+		}
+	}
+	
+	/* now check node sockets */
+	for (sock = node->inputs.first; sock; sock=sock->next) {
+		int driven, len=1, index;
+		
+		RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
+		prop = RNA_struct_find_property(&ptr, "default_value");
+		
+		if (RNA_property_array_check(&ptr, prop))
+			len = RNA_property_array_length(&ptr, prop);
+		
+		for (index=0; index<len; index++) {
+			if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+				NodeTagChanged(ntree, node);
+				return 1;
+			}
+		}
+	}
+
+	return 0;
+}
+
+/* tags nodes that have animation capabilities */
+int ntreeCompositTagAnimated(bNodeTree *ntree)
+{
+	bNode *node;
+	int tagged= 0;
+	
+	if(ntree==NULL) return 0;
+	
+	for(node= ntree->nodes.first; node; node= node->next) {
+		
+		tagged = node_animation_properties(ntree, node);
+		
+		/* otherwise always tag these node types */
+		if(node->type==CMP_NODE_IMAGE) {
+			Image *ima= (Image *)node->id;
+			if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+				NodeTagChanged(ntree, node);
+				tagged= 1;
+			}
+		}
+		else if(node->type==CMP_NODE_TIME) {
+			NodeTagChanged(ntree, node);
+			tagged= 1;
+		}
+		else if(node->type==CMP_NODE_R_LAYERS) {
+			NodeTagChanged(ntree, node);
+			tagged= 1;
+		}
+		else if(node->type==NODE_GROUP) {
+			if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
+				NodeTagChanged(ntree, node);
+			}
+		}
+	}
+	
+	return tagged;
+}
+
+
+/* called from image window preview */
+void ntreeCompositTagGenerators(bNodeTree *ntree)
+{
+	bNode *node;
+	
+	if(ntree==NULL) return;
+	
+	for(node= ntree->nodes.first; node; node= node->next) {
+		if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
+			NodeTagChanged(ntree, node);
+	}
+}

Modified: branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_mesh.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_mesh.c	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_mesh.c	2011-01-17 13:38:44 UTC (rev 34368)
@@ -29,7 +29,7 @@
 #include "../MOD_util.h"
 
 static bNodeSocketDefinition outputs[]= { 
-//	{ SOCK_ANY, 0, "Out", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+	{ SOCK_OP, 0, "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f },
 	{ -1, 0, "" }
 };
 

Modified: branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_transform.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_transform.c	2011-01-17 10:47:31 UTC (rev 34367)
+++ branches/particles-2010/source/blender/nodes/intern/MOD_nodes/MOD_transform.c	2011-01-17 13:38:44 UTC (rev 34368)
@@ -28,8 +28,13 @@
 
 #include "../MOD_util.h"
 
+static bNodeSocketDefinition inputs[]= { 
+	{ SOCK_OP, 1, "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f },
+	{ -1, 0, "" }
+};
+
 static bNodeSocketDefinition outputs[]= { 
-//	{ SOCK_ANY, 0, "Out", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+	{ SOCK_OP, 0, "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f },
 	{ -1, 0, "" }
 };
 
@@ -47,6 +52,7 @@
 	type.nclass = NODE_CLASS_TRANSFORM;
 	
 	/* optional */
+	type.inputs = inputs;
 	type.outputs = outputs;
 	
 	nodeRegisterType(typelist, &type);
@@ -66,6 +72,7 @@
 	type.nclass = NODE_CLASS_TRANSFORM;
 	
 	/* optional */
+	type.inputs = inputs;
 	type.outputs = outputs;
 	
 	nodeRegisterType(typelist, &type);
@@ -85,6 +92,7 @@
 	type.nclass = NODE_CLASS_TRANSFORM;
 	
 	/* optional */
+	type.inputs = inputs;
 	type.outputs = outputs;
 	
 	nodeRegisterType(typelist, &type);

Modified: branches/particles-2010/source/blender/nodes/intern/MOD_nodetree.c

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list