diff options
Diffstat (limited to 'source/blender/blenkernel/intern/node.c')
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 34b016a08ba..79f77416639 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -2289,7 +2289,7 @@ void ntreeInterfaceTypeUpdate(bNodeTree *ntree) /* ************ find stuff *************** */ -int ntreeHasType(bNodeTree *ntree, int type) +bool ntreeHasType(const bNodeTree *ntree, int type) { bNode *node; @@ -2300,6 +2300,21 @@ int ntreeHasType(bNodeTree *ntree, int type) return 0; } +bool ntreeHasTree(const bNodeTree *ntree, const bNodeTree *lookup) +{ + bNode *node; + + if (ntree == lookup) + return true; + + for (node = ntree->nodes.first; node; node = node->next) + if (node->type == NODE_GROUP && node->id) + if (ntreeHasTree((bNodeTree *)node->id, lookup)) + return true; + + return false; +} + bNodeLink *nodeFindLink(bNodeTree *ntree, bNodeSocket *from, bNodeSocket *to) { bNodeLink *link; |