MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / hasOutputNodesConnectedInternal

Method hasOutputNodesConnectedInternal

Engine/Node.cpp:2691–2714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2689}
2690
2691void
2692Node::hasOutputNodesConnectedInternal(std::list<OutputEffectInstance* >* writers,
2693 std::list<const Node*>* markedNodes) const
2694{
2695 if (std::find(markedNodes->begin(), markedNodes->end(), this) != markedNodes->end()) {
2696 return;
2697 }
2698
2699 markedNodes->push_back(this);
2700
2701 OutputEffectInstance* thisWriter = dynamic_cast<OutputEffectInstance*>( _imp->effect.get() );
2702
2703 if ( thisWriter && thisWriter->isOutput() && !dynamic_cast<GroupOutput*>(thisWriter) ) {
2704 writers->push_back(thisWriter);
2705 } else {
2706 NodesList outputs;
2707 getOutputsWithGroupRedirection(outputs);
2708
2709 for (NodesList::iterator it = outputs.begin(); it != outputs.end(); ++it) {
2710 assert(*it);
2711 (*it)->hasOutputNodesConnectedInternal(writers, markedNodes);
2712 }
2713 }
2714}
2715
2716void
2717Node::hasOutputNodesConnected(std::list<OutputEffectInstance* >* writers) const

Callers

nothing calls this directly

Calls 5

beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45
getMethod · 0.45
isOutputMethod · 0.45

Tested by

no test coverage detected