| 10564 | } |
| 10565 | |
| 10566 | void |
| 10567 | Node::refreshInputRelatedDataRecursiveInternal(std::set<Node*>& markedNodes) |
| 10568 | { |
| 10569 | if ( getApp()->isCreatingNodeTree() ) { |
| 10570 | return; |
| 10571 | } |
| 10572 | std::set<Node*>::iterator found = markedNodes.find(this); |
| 10573 | |
| 10574 | if ( found != markedNodes.end() ) { |
| 10575 | return; |
| 10576 | } |
| 10577 | |
| 10578 | markedNodes.insert(this); |
| 10579 | refreshInputRelatedDataInternal(false, markedNodes); |
| 10580 | |
| 10581 | ///Now notify outputs we have changed |
| 10582 | NodesList outputs; |
| 10583 | getOutputsWithGroupRedirection(outputs); |
| 10584 | for (NodesList::const_iterator it = outputs.begin(); it != outputs.end(); ++it) { |
| 10585 | (*it)->refreshInputRelatedDataRecursiveInternal( markedNodes ); |
| 10586 | } |
| 10587 | } |
| 10588 | |
| 10589 | void |
| 10590 | Node::refreshInputRelatedDataRecursive() |
no test coverage detected