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

Method refreshMetadata_recursive

Engine/EffectInstance.cpp:5577–5609  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5575}
5576
5577bool
5578EffectInstance::refreshMetadata_recursive(std::list<Node*> & markedNodes)
5579{
5580 NodePtr node = getNode();
5581 std::list<Node*>::iterator found = std::find( markedNodes.begin(), markedNodes.end(), node.get() );
5582
5583 if ( found != markedNodes.end() ) {
5584 return false;
5585 }
5586
5587 if (_imp->runningClipPreferences) {
5588 return false;
5589 }
5590
5591 ClipPreferencesRunning_RAII runningflag_(this);
5592 bool ret = refreshMetadata_public(false);
5593 node->refreshIdentityState();
5594
5595 if ( !node->duringInputChangedAction() ) {
5596 ///The channels selector refreshing is already taken care of in the inputChanged action
5597 node->refreshChannelSelectors();
5598 }
5599
5600 markedNodes.push_back( node.get() );
5601
5602 NodesList outputs;
5603 node->getOutputsWithGroupRedirection(outputs);
5604 for (NodesList::const_iterator it = outputs.begin(); it != outputs.end(); ++it) {
5605 (*it)->getEffectInstance()->refreshMetadata_recursive(markedNodes);
5606 }
5607
5608 return ret;
5609}
5610
5611void
5612EffectInstance::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