From bee6c1779e9337fbc0b34d9747b4aeb647b44cfa Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 27 Jan 2014 20:17:56 +1100 Subject: Code Cleanup: de-duplicate nested node tree checking --- source/blender/blenkernel/intern/node.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/node.c') 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; -- cgit v1.2.3