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

Method refreshMetadata_recursive

Engine/EffectInstance.cpp:5651–5683  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5649}
5650
5651bool
5652EffectInstance::refreshMetadata_recursive(std::list<Node*> & markedNodes)
5653{
5654 NodePtr node = getNode();
5655 std::list<Node*>::iterator found = std::find( markedNodes.begin(), markedNodes.end(), node.get() );
5656
5657 if ( found != markedNodes.end() ) {
5658 return false;
5659 }
5660
5661 if (_imp->runningClipPreferences) {
5662 return false;
5663 }
5664
5665 ClipPreferencesRunning_RAII runningflag_(this);
5666 bool ret = refreshMetadata_public(false);
5667 node->refreshIdentityState();
5668
5669 if ( !node->duringInputChangedAction() ) {
5670 ///The channels selector refreshing is already taken care of in the inputChanged action
5671 node->refreshChannelSelectors();
5672 }
5673
5674 markedNodes.push_back( node.get() );
5675
5676 NodesList outputs;
5677 node->getOutputsWithGroupRedirection(outputs);
5678 for (NodesList::const_iterator it = outputs.begin(); it != outputs.end(); ++it) {
5679 (*it)->getEffectInstance()->refreshMetadata_recursive(markedNodes);
5680 }
5681
5682 return ret;
5683}
5684
5685void
5686EffectInstance::setDefaultMetadata()

Callers

nothing calls this directly

Calls 10

refreshIdentityStateMethod · 0.80
getEffectInstanceMethod · 0.80
getNodeFunction · 0.70
beginMethod · 0.45
endMethod · 0.45
getMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected