| 754 | } // autoConnectNodes |
| 755 | |
| 756 | NodePtr |
| 757 | NodeCollectionPrivate::findNodeInternal(const std::string& name, |
| 758 | const std::string& recurseName) const |
| 759 | { |
| 760 | QMutexLocker k(&nodesMutex); |
| 761 | |
| 762 | for (NodesList::const_iterator it = nodes.begin(); it != nodes.end(); ++it) { |
| 763 | if ( (*it)->isActivated() && (*it)->getScriptName_mt_safe() == name ) { |
| 764 | if ( !recurseName.empty() ) { |
| 765 | NodeGroup* isGrp = (*it)->isEffectGroup(); |
| 766 | if (isGrp) { |
| 767 | return isGrp->getNodeByFullySpecifiedName(recurseName); |
| 768 | } else { |
| 769 | NodesList children; |
| 770 | (*it)->getChildrenMultiInstance(&children); |
| 771 | for (NodesList::iterator it2 = children.begin(); it2 != children.end(); ++it2) { |
| 772 | if ( (*it2)->isActivated() && (*it2)->getScriptName_mt_safe() == recurseName ) { |
| 773 | return *it2; |
| 774 | } |
| 775 | } |
| 776 | } |
| 777 | } else { |
| 778 | return *it; |
| 779 | } |
| 780 | } |
| 781 | } |
| 782 | |
| 783 | return NodePtr(); |
| 784 | } |
| 785 | |
| 786 | NodePtr |
| 787 | NodeCollection::getNodeByName(const std::string & name) const |
no test coverage detected