diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-02-21 16:47:49 +0300 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-02-21 16:47:49 +0300 |
commit | 1c7a422f78805a0533d9623c3f11f682f0c98083 (patch) | |
tree | 196f722f1446e1bfd262f63b50e95b6a389a2656 /source/blender/blenkernel/BKE_node.h | |
parent | 9ef0eed4b64325092dc90bf2db0ca9825fd94f83 (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.h | 16 |
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 */ |