Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2011-02-21 16:47:49 +0300
committerLukas Toenne <lukas.toenne@googlemail.com>2011-02-21 16:47:49 +0300
commit1c7a422f78805a0533d9623c3f11f682f0c98083 (patch)
tree196f722f1446e1bfd262f63b50e95b6a389a2656 /source/blender/blenkernel/BKE_node.h
parent9ef0eed4b64325092dc90bf2db0ca9825fd94f83 (diff)
Big node groups improvement patch. Node group trees now have their own lists of input/output sockets. Those can be linked to internal nodes just like links between regular nodes. In addition group sockets can be renamed and have a defined order, which can be modified, and they can be removed again.
More details can be found in the patch tracker description (#24883) and on the code.blender.org development blog.
Diffstat (limited to 'source/blender/blenkernel/BKE_node.h')
-rw-r--r--source/blender/blenkernel/BKE_node.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 0896dfbabb1..b637f5ab18e 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -71,9 +71,6 @@ typedef struct bNodeSocketType {
/* after this line is used internal only */
struct bNodeSocket *sock; /* used during verify_types */
- struct bNodeSocket *internsock; /* group nodes, the internal socket counterpart */
- int own_index; /* verify group nodes */
-
} bNodeSocketType;
typedef struct bNodeType {
@@ -130,6 +127,10 @@ typedef struct bNodeType {
#define NODE_CLASS_PATTERN 12
#define NODE_CLASS_TEXTURE 13
+/* enum values for input/output */
+#define SOCK_IN 1
+#define SOCK_OUT 2
+
/* ************** GENERIC API, TREES *************** */
void ntreeVerifyTypes(struct bNodeTree *ntree);
@@ -137,7 +138,7 @@ void ntreeVerifyTypes(struct bNodeTree *ntree);
struct bNodeTree *ntreeAddTree(const char *name, int type, const short is_group);
void ntreeInitTypes(struct bNodeTree *ntree);
-void ntreeMakeOwnType(struct bNodeTree *ntree);
+//void ntreeMakeGroupSockets(struct bNodeTree *ntree);
void ntreeUpdateType(struct bNodeTree *ntree, struct bNodeType *ntype);
void ntreeFreeTree(struct bNodeTree *ntree);
struct bNodeTree *ntreeCopyTree(struct bNodeTree *ntree);
@@ -178,7 +179,7 @@ void nodeUpdateType(struct bNodeTree *ntree, struct bNode* node, struct bNodeT
void nodeMakeDynamicType(struct bNode *node);
int nodeDynamicUnlinkText(struct ID *txtid);
void nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
-struct bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node, int internal);
+struct bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node);
struct bNodeLink *nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock);
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link);
@@ -210,6 +211,11 @@ void nodeGroupSocketUseFlags(struct bNodeTree *ngroup);
void nodeCopyGroup(struct bNode *gnode);
+struct bNodeSocket *nodeAddGroupSocket(struct bNodeTree *ngroup, const char *name, int type, int in_out);
+struct bNodeSocket *nodeAddGroupSocketCopy(struct bNodeTree *ngroup, struct bNodeSocket *copy, int in_out);
+void nodeAddAllGroupSockets(struct bNodeTree *ngroup);
+void nodeRemGroupSocket(struct bNodeTree *ngroup, struct bNodeSocket *gsock, int in_out);
+
/* ************** COMMON NODES *************** */
/* Init a new node type struct with default values and callbacks */