[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34713] trunk/blender/source/blender/ blenkernel: Group node type info is now also initialized with helper functions.

Lukas Toenne lukas.toenne at googlemail.com
Tue Feb 8 10:14:19 CET 2011


Revision: 34713
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34713
Author:   lukastoenne
Date:     2011-02-08 09:14:18 +0000 (Tue, 08 Feb 2011)
Log Message:
-----------
Group node type info is now also initialized with helper functions.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_node.h
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/BKE_node.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_node.h	2011-02-08 09:02:16 UTC (rev 34712)
+++ trunk/blender/source/blender/blenkernel/BKE_node.h	2011-02-08 09:14:18 UTC (rev 34713)
@@ -223,9 +223,8 @@
 #define NODE_GROUP_MENU		1000
 #define NODE_DYNAMIC_MENU	4000
 
-extern bNodeType node_group_typeinfo;
+void register_node_type_group(ListBase *lb);
 
-
 /* ************** SHADER NODES *************** */
 
 struct ShadeInput;

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2011-02-08 09:02:16 UTC (rev 34712)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2011-02-08 09:14:18 UTC (rev 34713)
@@ -265,23 +265,17 @@
 
 /* ************** Group stuff ********** */
 
-bNodeType node_group_typeinfo= {
-	/* next,prev   */	NULL, NULL,
-	/* type code   */	NODE_GROUP,
-	/* name        */	"Group",
-	/* width+range */	120, 60, 200,
-	/* class+opts  */	NODE_CLASS_GROUP, NODE_OPTIONS,
-	/* input sock  */	NULL,
-	/* output sock */	NULL,
-	/* storage     */	"",
-	/* execfunc    */	NULL,
-	/* butfunc     */	NULL,
-	/* initfunc    */	NULL,
-	/* freestoragefunc    */	NULL,
-	/* copystoragefunc    */	NULL,
-	/* id          */	NULL
-};
+/* XXX group typeinfo struct is used directly in ntreeMakeOwnType, needs cleanup */
+static bNodeType ntype_group;
 
+void register_node_type_group(ListBase *lb)
+{
+	node_type_base(&ntype_group, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS, NULL, NULL);
+	node_type_size(&ntype_group, 120, 60, 200);
+	
+	nodeRegisterType(lb, &ntype_group);
+}
+
 /* tag internal sockets */
 static void group_tag_internal_sockets(bNodeTree *ngroup)
 {
@@ -380,7 +374,7 @@
 	
 	/* make own type struct */
 	ngroup->owntype= MEM_callocN(sizeof(bNodeType), "group type");
-	*ngroup->owntype= node_group_typeinfo; /* copy data, for init */
+	*ngroup->owntype= ntype_group; /* copy data, for init */
 	
 	/* input type arrays */
 	if(totin) {
@@ -3322,7 +3316,8 @@
 
 static void registerCompositNodes(ListBase *ntypelist)
 {
-	nodeRegisterType(ntypelist, &node_group_typeinfo);
+	register_node_type_group(ntypelist);
+	
 	register_node_type_cmp_rlayers(ntypelist);
 	register_node_type_cmp_image(ntypelist);
 	register_node_type_cmp_texture(ntypelist);
@@ -3397,7 +3392,8 @@
 
 static void registerShaderNodes(ListBase *ntypelist) 
 {
-	nodeRegisterType(ntypelist, &node_group_typeinfo);
+	register_node_type_group(ntypelist);
+	
 	register_node_type_sh_output(ntypelist);
 	register_node_type_sh_mix_rgb(ntypelist);
 	register_node_type_sh_valtorgb(ntypelist);
@@ -3425,7 +3421,8 @@
 
 static void registerTextureNodes(ListBase *ntypelist)
 {
-	nodeRegisterType(ntypelist, &node_group_typeinfo);
+	register_node_type_group(ntypelist);
+	
 	register_node_type_tex_math(ntypelist);
 	register_node_type_tex_mix_rgb(ntypelist);
 	register_node_type_tex_valtorgb(ntypelist);




More information about the Bf-blender-cvs mailing list